Percorrendo os Itens do DataGrid


Para compor este cenário, teremos que ter uma coluna do tipo TemplateColumn no DataGrid e, dentro dela, devemos colocar um controle CheckBox que irá especificar se o registro está ou não marcado. Depois do DataGrid devidamente carregado, para cada item (linha), com excessão do Header e Footer, será criado automaticamente um controle CheckBox para que o usuário possa marcar os registros que desejar.

Agora, no evento Click de um botão qualquer, iremos percorrer os itens do DataGrid e, dentro deste laço For Each, será necessário fazer algumas verificações antes de acessar diretamente o CheckBox que está contido dentro do item. A primeira verificação deve ser feita analisando se o item é do tipo Item ou AlternatingItem, quais são as seções (linhas) que podem conter os CheckBoxes. Em seguida, através do método FindControl, recuperamos a instância do controle CheckBox e verificamos se ele está ou não marcado, através da propriedade Checked. Se estiver, recuperamos o valor da terceira célula (índice 2) através da propriedade Text da mesma e, conseqüentemente, adicionamos em um controle Label.

O exemplo abaixo mostra como recuperar no evento Click de um botão, os itens marcados de um DataGrid:

private void Button1_Click(object sender, System.EventArgs e)
{
    foreach(DataGridItem item in this.DataGrid1.Items)
    {
        if(item.ItemType == ListItemType.Item ||
            item.ItemType == ListItemType.AlternatingItem)
        {
		
            CheckBox chk = (CheckBox)item.FindControl("CheckBox1");
            if(chk.Checked)
                this.Label1.Text += item.Cells[2].Text + "<br>";
        }
    }
}
Publicidade

Deixe uma resposta

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

Logo 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 )

Conectando a %s