ASP.NET GridView にヘッダのみ表示(実行可能サンプルDLあり)

📋 目次(クリックで展開)

ASP.NET GridView はデフォルトでは空データとバインドしてもヘッダが表示されません。空データとバインドした際にヘッダを表示するには、ShowHeaderWhenEmpty プロパティを有効にします。

実装方法

ASPX 側は次のように実装します。ShowHeaderWhenEmpty=“true” と指定することにより、空データでも GridView のヘッダが表示されるようになります。

<%-- ShowHeaderWhenEmpty="true" により、空データでもヘッダを表示する。 --%>
<asp:GridView
ID="GridView1"
runat="server"
ShowHeaderWhenEmpty="true"
>
</asp:GridView>

コードビハインドには、データ行が空の DataTable オブジェクトを用意し、GridView にバインドします。

protected void Page_Load(object sender, EventArgs e)
{
if(Session["data"] == null)
{
DataTable dt = new DataTable();
// 列の定義
dt.Columns.Add("Column1");
dt.Columns.Add("Column2");
dt.Columns.Add("Column3");
// 行データは設定しない
//dt.Rows.Add("", "", "");
Session["data"] = dt;
}
// 列定義だけを持つ DataTable を参照
this.GridView1.DataSource = Session["data"];
this.GridView1.DataBind();
}

実行結果

GridView のヘッダーのみが表示されました!

サンプルアプリケーションのダウンロード

サンプルアプリケーションのダウンロードはこちらからどうぞ。
GridView_ShowHeaderWhenEmpty_CS.zip

参考リソース

MSDN - GridView.ShowHeaderWhenEmpty プロパティ

おすすめの学習リソース

ASP.NET Web Forms を網羅的に学習する場合、独習ASP.NET Webフォーム 第6版 がおすすめです。懇切丁寧に様々な技術要素が解説されています。もちろん、GridView に関する解説もなされています。一冊あると開発プロジェクトで重宝します。


💬 コメント