将gridview与列表绑定时显示gridview标头

时间:2011-10-23 16:18:10

标签: asp.net webforms

我想显示一个不包含数据的gridview的标题:

List<myData> datas = new List<myData>();

Gridview1.DataSource = datas.ToArray();
Gridview1.DataBind();

但是标题将不会显示。如果数据为空,如何显示标题?

我仍在使用.NET Framework 2.0,服务器不支持.NET 4.0

提前致谢。

3 个答案:

答案 0 :(得分:1)

使用GridView EmptyDataTemplate在没有数据时显示标题。

示例:

<asp:GridView>
     <emptydatatemplate>

      <table><tr><td>Header 1</td><td>Header 2</td><td>Header 3</td><td>Header 4</td></tr></table>
    </emptydatatemplate> 
</asp:GridView>

答案 1 :(得分:1)

检查一下:

Show Grid view header and footer when the grid view is empty (with Generic List)

从您的代码

我认为不需要.ToArray()调用,GridView也应该能够直接绑定到List。

答案 2 :(得分:0)

你可以尝试这样的事情......

//Check to see if we get rows back, if we do just bind.

if (grdview.Rows.Count != 0)
{
    grdview.DataSource = dtFunding;
    grdview.DataBind();
}
else
{
  //Other wise add a emtpy "New Row" to the datatable and then hide it after binding.

     grdview.Rows.Add(grdview.NewRow());
     grdview.DataSource = dtFunding;
     grdview.DataBind();
     grdview.Rows[0].Visible = false;
}