■No51905 (マサヤ さん) に返信
> データをバインドするときにRowの中身をチェックしてあげればいいと思います。
> RowがnullのときはDataTableにDataRowをAddしないようにする。
> 詳しいやり方などは、データをバインドするときのソースがないとなんともいえないのですが。
>
マサヤさんありがとうございます。
現在DBにデータがないと、aspx で宣言している EmptyDataText = "登録データなし" が走り
画面上にはグリッドは表示されずに「登録データなし」だけが表示されます。
バインドの方法は
SQLで取得したデータを元にデータを加工してテーブルごと取得している形にしています。
グリッドには加工したデータを、グリッドの関数DataBind()を使用してセットしています。
(aspxでText ='<%# Bind("AAA_AAA") を宣言して、加工したデータのヘッダー部と一致する
物をセットする)
@SQLで下記のようにデータ取得
あいうえお| かきくけこ| さしすせそ|
アイウエオ| カキクケコ| サシスセソ|
Aテーブルイメージでデータ加工
AAA_AAA | BBB_BBB | CCC_CCC | ← ヘッダー部
あいうえお| かきくけこ| さしすせそ|
アイウエオ| カキクケコ| サシスセソ|
Bグリッド
|編集ボタン| 項目1| 項目2| 項目3|
|編集ボタン| データ1| データ2| データ3|
|編集ボタン| データ1| データ2| データ3|
|追加ボタン|データ入力エリア|データ入力エリア|データ入力エリア|
aspx でデータ1のテキストにセットする Text ='<%# Bind("AAA_AAA")
aspx でデータ2のテキストにセットする Text ='<%# Bind("BBB_BBB")
aspx でデータ3のテキストにセットする Text ='<%# Bind("CCC_CCC")
Cグリッド.DataBind() の実行結果
| | 項目1| 項目2| 項目3|
|編集ボタン| あいうえお| かきくけこ| さしすせそ|
|編集ボタン| アイウエオ| カキクケコ| サシスセソ|
|追加ボタン|データ入力エリア|データ入力エリア|データ入力エリア|
私の質問での情報不足で申し訳ありませんでした。
上記のバインド方法なのでRowがnullの時は「登録データなし」しか表示されません。
以上、宜しくお願い致します。