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 に関する解説もなされています。一冊あると開発プロジェクトで重宝します。
💬 コメント