ASP.NET GridViewのホームへ戻る

GridViewの列がNullのとき特定の文字を表示する (GridView01StepUp1.aspx

 

GridView01.aspxに得意先テーブルのID、得意先、ファックスを表示すると、ファックスがNullのとき空白が表示されます。このような場合、空白の代わりに「なし」、「未入力」などの文字を表示するするように改善します。

 

このサンプルは、以下のノウハウを習得することができます。

 

GridViewに表示する列がNullのとき表示する文字を指定する方法

 

図 ファックスがNullのとき「なし」を表示

 

 

1. 新規Webページ作成

 

ソリューションエクスプローラのプロジェクトの右クリックから[新しい項目の追加]を選択して、新規Webページ「GridView01StepUp1.aspx」を作成します。デザイナの最下位から[ソース]をクリックしてソースビューに切り替えたら、GridView01.aspxのソースビューからGridView1SqlDataSource1のソースコードをコピー&貼り付けします。

 

Tip

GridViewSqlDataSourceを右クリックからコピーするには

 

GridView01.aspxのソースビューからGridView1のソースコードをコピーするには、<asp:GridViewの行左側の[]のボタンをクリックしてGridViewを折りたたみます。「<asp:GridView …>…</asp:GridVeiw>」がボックス化されたらボックスの右クリックから[コピー]を選択します。同様の手順で、SqlDataSourceを折りたたんでボックス化したら右ボタンから[コピー]を選択します。

 

図 GridViewを折りたたんでボックス化したら右クリックして[コピー]を選択

 

 

 

2. 列の編集

 

GridViewタスク」メニューから[列の編集]を選択します。「フィールド」ダイアログが表示されたら、「選択されたフィールド」から[ファックス]を選択します。右側のBoundFieldプロパティからNullDisplayTextプロパティに「なし」を入力したら、[OK]をクリックしてダイアログを閉じます。

 

ファックスのNullDisplayTextプロパティに「なし」を設定

 

 

3. ブラウザに表示

 

VWD 2005のツールバーから[デバッグの開始]ボタンをクリックしてブラウザに表示します。ブラウザが起動されて、GridViewCustomersテーブルが表示されます。Customersテーブルのファックス(Fax)の列のNullのとき、空白の代わりに「なし」が表示されます。

 

図ファックスがNullのとき「なし」が表示された

 

 

◆解説

 

GridViewの列がNullのとき空白の代わりに特定の文字列を表示するには、BoundField列のNullDisplayTextプロパティに文字列を設定します。たとえば、ファックスがNullのとき「なし」を表示するには、NullDisplayTextプロパティに「なし」を設定します。

 

<asp:BoundField

  DataField="Fax"

 HeaderText="ファックス"

  NullDisplayText="なし" />

 

「なし」を太字、イタリック、赤などで表示するには、HTMLタグを付加します。

 

NullDisplayText="<b>なし</b>"  ⇒太字で表示

NullDisplayText="<i>なし</i>"  ⇒イタリック体で表示

NullDisplayText="<font color=red>なし</font>" ⇒赤で表示

 

NullDisplayTextHTMLタグを付加したときは、BoundFieldHtmlEncodeプロパティにFalseを設定することを忘れないでください。

ASP.NET GridViewのホームへ戻る