ObjectDataSource e GridView: detalhes ao deletar um registro
Estava fazendo uns testes com o GridView e o ObjectDataSource e encontrei alguns detalhes interessantes:
- Se o GridView não está vinculado a um ObjectDataSource, você pode definir um ButtonField com CommandName = "Delete" e tratar os eventos RowCommand, RowDeleting e RowDeleted.
- Já se o GridView tiver um ObjectDataSource (acredito que qualquer outro tipo de DataSource também esteja valendo), ao clicar em um Button com CommandName = "Delete", a Grid tentará executar o método Delete (DeleteMethod) configurado no ObjectDataSource. O resultado disso é uma exception, pois você não configurou nada nele.
E agora pergunto: como faço se eu quiser usar o ObjectDataSource para listar as informações mas quero implementar o Delete na mão?
Pois é, usando um CommandName = "Delete" não vai dar pelo motivo acima. Então o que resta a fazer é definir o CommandName para outro nome, "Apagar" por exemplo. Dessa forma é possível tratar o evento RowCommand, usando o argumento "e" e testanto "if (e.CommandName == "Apagar") { Remove o que for necessário }".
Falow!
- Se o GridView não está vinculado a um ObjectDataSource, você pode definir um ButtonField com CommandName = "Delete" e tratar os eventos RowCommand, RowDeleting e RowDeleted.
- Já se o GridView tiver um ObjectDataSource (acredito que qualquer outro tipo de DataSource também esteja valendo), ao clicar em um Button com CommandName = "Delete", a Grid tentará executar o método Delete (DeleteMethod) configurado no ObjectDataSource. O resultado disso é uma exception, pois você não configurou nada nele.
E agora pergunto: como faço se eu quiser usar o ObjectDataSource para listar as informações mas quero implementar o Delete na mão?
Pois é, usando um CommandName = "Delete" não vai dar pelo motivo acima. Então o que resta a fazer é definir o CommandName para outro nome, "Apagar" por exemplo. Dessa forma é possível tratar o evento RowCommand, usando o argumento "e" e testanto "if (e.CommandName == "Apagar") { Remove o que for necessário }".
Falow!

1 Comments:
Valew me ajudou bastante.. estava previsando disso...
By
semonome, at 3:08 PM
Postar um comentário
<< Home