GridView ShowHeaderWhenEmpty
Até à versão 3.5 da .NET Framework, para mostrarmos os cabeçalhos de uma gridview quando esta não iria conter qualquer resultado, teriamos que recorrer a soluções como esta por exemplo:
List<string> rows = new List<string>( new string[] { "line1", "line2", "line3" }); rows.Clear(); if (rows.Count > 0) { gv.DataSource = rows; gv.DataBind(); } else { rows.Add(""); gv.DataSource = rows; gv.DataBind(); gv.Rows[0].Visible = false; }
Como é obvio, isto vai sempre executar a condição “else”, mas é apenas para exemplificar como forçar a apresentação do Header na GridView mesmo que o Datasource não contenha qualquer registo.
Na versão 4.0, foi introduzida uma nova propriedade que faz com que o Header seja sempre apresentado sem recorrer a este tipo de truques. A propriedade é a ShowHeaderWhenEmpty.
<asp:GridView runat="server" ID="gv" ShowHeaderWhenEmpty="true"> </asp:GridView>