1. ホーム
  2. asp.net

[解決済み] GridView - 空のデータソースにヘッダを表示する

2023-06-28 02:42:26

質問

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

列はすべて定義済みなので、自動生成はしていません。

現在、私が行っているのは以下の通りです。

ストアドプロシージャからDataTableを取得し、グリッドビューの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


<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()