Esta é uma dica “jogo rápido” que me ocorreu agora. Se aplica a quem utiliza o gridview (asp:GridView) nas aplicações ASP.NET.
Ao setar uma coluna do gridview como invisível, ou seja, atribuir “visible = false” a uma coluna, em modo de design, esta não será renderizada. Ok, mas e como fazer se eu quiser guardar, por exemplo, o código de um registro, mas não quiser exibi-lo? Simples. Trate o evento RowDataBound do gridview. Este evento é disparado para cada linha, individualmente, ao dar o bind do grid. Então sete o atributo visible da célula ,que não quer exibir, igual a false em modo de execução. No exemplo abaixo estou escondendo a primeira coluna do gridview.
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = false;
}
Assim a primeira coluna não será exibida, mas será renderizada, e seu valor poderá ser consultado normalmente (por exemplo desta forma: gridview.Rows[0].Cells[0].Text).
11 comentários:
Cara no meu código ele da erro se eu colocar
e.Row.Cells[1].Visible = false;
por exemplo porém se uso na primeira coluna
que é com zero funciona...sabe me dizer porque pode acontecer?
[a grid tem 7 colunas e só funciona com [0] com as outras 6 não]
Bom, tem que ver o tipo de erro, e a mensagem de erro que retorna. Com certeza o erro ocorre por outro motivo. Só mesmo vendo o código e depurando.
Se quiser me manda um email. O endereço está na aba contato.
Abraço
Funcionou certinho aqui.
Obrigado!
Opa, q bom q a dica foi útil.
Obrigado pelo retorno Ricardo.
Abraço.
Vlw mesmo !! Funcionou just perfect !!
Obrigado pelo feedback.
Abraço.
Sempre tive problemas com isto, esta ajuda vai me servir muito!!! valeu
Fico feliz em ajudar.
Obrigado pelo retorno.
Abraço.
Ao inserir esse comando a paginação do grid sumiu
Só vendo teu código para ver o q aconteceu. Verifica se tu não esqueceu de fechar alguma tag ou se a paginação está habilitada.
tem que acrescentar isso
if (e.Row.RowType.ToString() != "Pager")
{
e.Row.Cells[1].Visible = false;
e.Row.Cells[2].Visible = false;
e.Row.Cells[3].Visible = false;
}
senão vai esconder o footer e a paginação vai dar pau, tambem vai dar pau em outras linhas, assim ele vai verificando cada linha e o seu tipo e só vai trabalhar nas linhas necessárias.
Postar um comentário