Explorando o GridView – Outras Funcionalidades


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)

Anúncios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s