FormView - Problema com update
16/10/2008
0
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
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
Pricardo
Curtir tópico
+ 0
Responder
Posts
04/11/2008
Higor.cesar
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
exemplo:
e.Values[´Data´] = Convert.ToDateTime(e.Values[´Data´]);
Lembrando que nestes eventos você deve verificar se o campo foi preenchido
Responder
Clique aqui para fazer login e interagir na Comunidade :)