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>