Asp.net

GridView - 在空數據源上顯示標題

  • December 9, 2008

在 C# 中,即使數據源為空,我如何仍然顯示 gridview 的標題。

我不會自動生成列,因為它們都是預定義的。

目前我正在做的事情如下。

從儲存過程中取回一個DataTable,然後設置gridview的DataSource,然後呼叫DataBind()。

當我有數據時這很好用,但是當沒有返回任何行時,我只會得到一個網格應該在的空白點。

編輯:感謝所有 .NET 4+ 屬性。我在 .NET 3.5 天時問過這個問題。這現在容易多了。:)

ASP.Net 4.0 添加了布爾ShowHeaderWhenEmpty屬性。

<http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.showheaderwhenempty.aspx>


&lt;asp:GridView runat="server" ID="GridView1" ShowHeaderWhenEmpty="true" AutoGenerateColumns="false"&gt;
   &lt;Columns&gt;
       &lt;asp:BoundField HeaderText="First Name" DataField="FirstName" /&gt;
       &lt;asp:BoundField HeaderText="Last Name" DataField="LastName" /&gt;
   &lt;/Columns&gt;
&lt;/asp:GridView&gt;

注意:除非使用 null 以外的值呼叫 DataBind(),否則不會出現標頭。

GridView1.DataSource = New List(Of String)
GridView1.DataBind()

引用自:https://stackoverflow.com/questions/354369