Usuário com melhor resposta
Header do gridview desaparece quando não traz registro via procedure

Pergunta
-
Pessoal
Tenho um gridview que retorna uma consulta de uma procedure. Porém ao executar a procedure que não retorna nenhum valor o Header da grid desaparece. Gostaria que mesmo sem registro o Header não desaparece-se
GridView com todos os resultado sem filtrar
Após filtrar o GridView fica sem resultado, porém sem o Header da Grid
Respostas
-
Achei essa solução Show Header/Footer when Gridview is Blank VB.net que ficou melhor no meu codigo.
O Código ficou assim para quem precisar:
DataSet ds = bs.CarregarGrid(parametro 1,.....); if(ds.Tables[0].Rows.Count > 0) { grdDescicao.DataSource = ds; grdDescicao.DataBind(); } else { ds.Tables[0].Rows.Add(ds.Tables[0].NewRow()); grdDescicao.DataSource = ds; grdDescicao.DataBind(); int columnCount = grdDescicao.Rows[0].Cells.Count; grdDescicao.Rows[0].Cells.Clear(); grdDescicao.Rows[0].Cells.Add(new TableCell()); grdDescicao.Rows[0].Cells[0].ColumnSpan = columnCount; grdDescicao.Rows[0].Cells[0].ForeColor = Color.Red; grdDescicao.Rows[0].Cells[0].Text = mensagem.Mensagem1; }
- Editado Rafael Augusto Miranda sexta-feira, 11 de outubro de 2013 20:11
- Marcado como Resposta Rafael Augusto Miranda sexta-feira, 11 de outubro de 2013 20:12
Todas as Respostas
-
-
-
Entao voce verifica se o retorno de sua grid vier vazio voce cria uma linha sem nada somente pra mostrar tipo
if (minhagrid.Rows.Count != 0) { minhagrid.DataSource = minhafontedados; minhagrid.DataBind(); } else { //Other wise add a emtpy "New Row" to the datatable and then hide it after binding. minhagrid.Rows.Add(dtFunding.NewRow()); minhagrid.DataSource = minhafontedados; minhagrid.DataBind(); minhagrid.Rows[0].Visible = false; }
Fonte de exemplos : http://stackoverflow.com/questions/354369/gridview-show-headers-on-empty-data-source -
Achei essa solução Show Header/Footer when Gridview is Blank VB.net que ficou melhor no meu codigo.
O Código ficou assim para quem precisar:
DataSet ds = bs.CarregarGrid(parametro 1,.....); if(ds.Tables[0].Rows.Count > 0) { grdDescicao.DataSource = ds; grdDescicao.DataBind(); } else { ds.Tables[0].Rows.Add(ds.Tables[0].NewRow()); grdDescicao.DataSource = ds; grdDescicao.DataBind(); int columnCount = grdDescicao.Rows[0].Cells.Count; grdDescicao.Rows[0].Cells.Clear(); grdDescicao.Rows[0].Cells.Add(new TableCell()); grdDescicao.Rows[0].Cells[0].ColumnSpan = columnCount; grdDescicao.Rows[0].Cells[0].ForeColor = Color.Red; grdDescicao.Rows[0].Cells[0].Text = mensagem.Mensagem1; }
- Editado Rafael Augusto Miranda sexta-feira, 11 de outubro de 2013 20:11
- Marcado como Resposta Rafael Augusto Miranda sexta-feira, 11 de outubro de 2013 20:12