by Israel Aece
14. August 2005 22:50
DataKeys
Nas versões anteriores do ASP.NET poderia ser definida na propriedade DataKeyField apenas uma string contendo o nome de uma coluna ou propriedade da fonte de dados para ser a identificação da linha, ou seja, torná-la única dentro do controle DataGrid. Mas, em alguns casos, isso é limitado, pois necessitamos ter mais de uma coluna/propriedade para definir a linha como única, vide chaves compostas. Com esta necessidade o controle GridView possibilita definir um array de strings contendo o nome da colunas ou propriedades que farão parte da identificação da linha.
Esta propriedade é chamada de DataKeyNames. É nela que definimos as colunas/propriedades separadas por uma vírgula. O código HTML da página ASPX que demonstra esta definição é exibido abaixo:
<asp:GridView .... DataKeyNames="ID, AnotherID">
|
E para recuperar os valores destas chaves utilizamos o código abaixo:
DataKey keys = this.GridView1.DataKeys[N];
foreach(DictionaryEntry d in keys.Values){
Response.Write(d.Key.ToString() + ": " + d.Value.ToString() + "<BR>");
}
|
* Onde N é um número inteiro que corresponde à coluna que deseja recuperar o(s) valor(es).
Quando utilizamos os métodos de exclusão (Delete) e atualização (Update) necessitamos informar aos mesmos o valor do ID do registro para que eles possam executar corretamente o comando. Há uma propriedade nas classes de DataSource chamada OldValuesParameterFormatString. Esta propriedade armazena, por padrão, a seguinte string: "original_{0}" que, em tempo de execução o ASP.NET define o parâmetro (0 (zero)) com o nome do ID que definiremos na propriedade DataKeyNames do controle GridView. Justamente por isso que não precisamos informar estes parâmetros para o objeto (identificações - ID).
Eventos
| Evento |
Descrição |
| PageIndexChanged |
Ocorre quando algum dos botões de paginação for clicado, mas depois da operação ter sido executada. |
| PageIndexChanging |
Ocorre quando algum dos botões de paginação for clicado, mas antes da operação ser executada. |
| RowCancelingEdit |
Ocorre quando o botão de cancelamento da edição é clicado, mas é executado antes da linha sair do modo de edição. |
| RowCommand |
Ocorre sempre quando algum controle do tipo Button for clicado. |
| RowCreated |
Ocorre sempre quando uma linha é criada. |
| RowDataBound |
Ocorre sempre quando uma linha está sendo populada pelos dados. |
| RowDeleted |
Ocorre quando o botão de Delete é clicado, mas depois da linha ser excluída. |
| RowDeleting |
Ocorre quando o botão de Delete é clicado, mas antes da linha ser excluída. |
| RowEditing |
Ocorre quando o botão de Edit é clicado, mas antes da linha entrar em modo de edição. |
| RowUpdated |
Ocorre quando o botão de Update é clicado, mas depois da linha ser atualizada. |
| RowUpdating |
Ocorre quando o botão de Update é clicado, mas antes da linha ser atualizada. |
| SelectedIndexChanged |
Ocorre quando o botão de Select é clicado, mas depois da operação ter sido executada. |
| SelectedIndexChanging |
Ocorre quando o botão de Select é clicado, mas antes de executar a operação. |
| Sorted |
Ocorre quando o link de ordenação é clicado, mas depois da operação ter sido executada. |
| Sorting |
Ocorre quando o link de ordenação é clicado, mas antes de executar a operação. |
|
GridView.zip (674.49 kb)
2366026b-914b-4629-a645-4c33562f45aa|0|.0
Tags: ui
ASP.NET | Data