Olá Pessoal,
Desenvolvendo hoje, senti a necessida de adicionar campos dinamicamente no meu GridView no evento de clique do botão. Pra isto, tive que desabilitar a funcionalidade de criação de campos automáticos no componente (propriedade AutoGenerateColumns="false") e adicionar algumas linhas de código, poucas mesmo. Vamos lá?
Primeiro, imaginemos que temos um GridView chamado grdListagemClientes e um botão chamado btnListarClientes com um evento OnClick chamado btnListarClientes_Click, algo parecido com isso:
protected void btnListarClientes_Click(object sender, EventArgs e) {
}
Veja que nosso método está limpo, sem nenhuma ação. Vamos agora adicionar nossos campos:
protected void btnListarClientes_Click(object sender, EventArgs e) {
// criando campo Código
BoundField fldCodigo = new BoundField();
fldCodigo.DataField = "codCliente";
fldCodigo.HeaderText = "Código";
// criando campo Nome
BoundField fldNome = new BoundField();
fldNome.DataField = "nomeCliente";
fldNome.HeaderText = "Nome";
// criando campo CPF
BoundField fldCPF = new BoundField();
fldCPF.DataField = "cpfCliente";
fldCPF.HeaderText = "CPF";
// por segurança, limpamos todos os campos do grid
grdListagemClientes.Columns.Clear();
// agora, adicionamos em nosso grid
grdListagemClientes.Columns.Add(fldCodigo);
grdListagemClientes.Columns.Add(fldNome);
grdListagemClientes.Columns.Add(fldCPF);
// preenchemos o grid com a listagem de clientes - TODO
// grdListagemClientes.DataSource = null;
// grdListagemClientes.DataBind();
}
Veja que no código acima, primeiro criamos todos os campos, definindo o nome da coluna e o nome do cabeçalho, logo após adicionamos o nosso objeto BoundField no grid e por último preenchemos o grid com as informações de nossos clientes. Nesta última etapa, não implementei o código por completo, apenas comentei a linha que preenche o grid.
Bom pessoal, por hoje é só.
Até a próxima.
![]() |
CodigoFonte.net » CodigoFonte.eti.br » Procurando o que comprar? » MeuMural.com.br » Todos os Direitos Reservados © 2002/2008 |
Procurando Notebooks, Câmeras Digitais, iPhones?