Array
(
)

FormView - Problema com update

Pricardo
   - 16 out 2008

Salve!

Tenho um FormView numa página associado a um ObjectDatasource (camada de negócio). Neste ObjectDataSource há 2 métodos para atualização (AtualizarPendencia - método default e ConcluirPendencia - alternativo). Ambos os métodos recebem como parâmetro um objeto (clsPendencia). Essa classe tem com uma das propriedades a data de conclusão (dtConclusao) que é do tipo Date (Short Date no banco Access).

Bem, quando é montado o EditItemTemplate do FormView, ele coloca um controle do tipo TextBox para fazer o Bind referente àquela propriedade (dtConclusao).

No ItemTemplate do FormView criei um botão Concluir que tem como CommandName Edit e CommandArgument ´Concluir´. Ao clicar nesse botão, o FormView entra no EditItemTemplate. Uso o evento FormView1_ItemCommand para saber quando o Edit é acionado e verifico o valor da propriedade CommandArgument. Se for ´Concluir´ eu crio uma variável de sessão com o valor ´Concluir´. Quando clico no botão Update, que está no EditItemTemplate, eu verifico se o CommandName é Update e se a propriedade CommandArgument é ´Concluir´. Se for eu altero a propriedade UpdateMethod do ObjectDataSource para ConcluirPendencia.

Até aí tudo bem, funciona. O problema é que ao clicar no botão Update recebo uma mensagem de erro que diz o seguinte:
Não é possível converter o valor do parâmetro ´dtConclusao´ de ´System.String´ para ´System.DateTime´´

Como faço para poder conseguir fazer a tal conversão e o método executar corretamente? Onde fazer a conversão?

Agradeço a atenção de todos,
Paulo Ricardo Ferreira
Rio de Janeiro - Brasil

Higor.cesar
   - 04 nov 2008

Fala cara, acho que você pode colocar este código no itemUpdating e no itemInserting

exemplo:
e.Values[´Data´] = Convert.ToDateTime(e.Values[´Data´]);

Lembrando que nestes eventos você deve verificar se o campo foi preenchido