GridView - 空のデータソースにヘッダーを表示する 質問する

GridView - 空のデータソースにヘッダーを表示する 質問する

C# では、データ ソースが空の場合でも、グリッドビューのヘッダーを表示するにはどうすればよいでしょうか。

列はすべて事前に定義されているため、自動生成は行われません。

現在私がやっていることは以下の通りです。

ストアド プロシージャから DataTable を取得し、グリッドビューの DataSource を設定して、DataBind() を呼び出します。

これはデータがある場合は正常に機能しますが、行が返されない場合は、グリッドが表示されるはずの場所に空白の場所が表示されます。

編集: .NET 4+ プロパティについて、皆さんに感謝します。.NET 3.5 の時代にもこの質問をしましたが、今ではずっと簡単になりました。:)

ベストアンサー1

ASP.Net 4.0 ではブール型ShowHeaderWhenEmptyプロパティが追加されました。

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


<asp:GridView runat="server" ID="GridView1" ShowHeaderWhenEmpty="true" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField HeaderText="First Name" DataField="FirstName" />
        <asp:BoundField HeaderText="Last Name" DataField="LastName" />
    </Columns>
</asp:GridView>

注意: DataBind() が null 以外の値で呼び出されない限り、ヘッダーは表示されません。

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

おすすめ記事