- PR -

DataGridに特定行だけ表示・非表示

1
投稿者投稿内容
会議室デビュー日: 2004/05/23
投稿数: 4
投稿日時: 2004-08-31 16:33
こんにちは

VB.NETを使用しています
DataGridについてなのですが

XMLデータをDataSetクラスのReadXmlによって
読み込んだDataSetをDataGridのSetDataBindingで設定表示させています

このときデータに削除フラグのような列があり
その列の値がTrueの時はその行を表示しない
というみたいなことがしたいのですが
どうすれば可能でしょうか?

XMLデータを読み込んだ時に
ループで削除フラグがTrueの行を抜いたDataSetを作り
そのDataSetを表示して
DataGridで編集後、保存時には
削除フラグがTrueの行を
編集後のDataSetに付け足して保存するしかないのでしょうか?

よろしくお願いいたします
クリス
会議室デビュー日: 2004/07/13
投稿数: 11
投稿日時: 2004-08-31 16:48
こんにちは。

SQL文のSELECTで出来るような気がしますが駄目でしょうか。
Micky
大ベテラン
会議室デビュー日: 2002/09/04
投稿数: 137
投稿日時: 2004-08-31 17:09
Mickyでございます。

いつもお世話になっております。

Viewを使うって手もあると思いますが、
いかがでしょうか?

View == DataViewクラスのつもりでした。
失礼しました。m(__)m

[ メッセージ編集済み 編集者: Micky 編集日時 2004-08-31 17:16 ]
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-08-31 17:12
NAL-6295です。

DataViewクラスを利用されると良いと思います。
RowFilterに表示したい条件を記述すればOKです。
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
会議室デビュー日: 2004/05/23
投稿数: 4
投稿日時: 2004-08-31 22:16
回答ありがとうございます

DataSetに対してSQLが使えるのかはわからなかったので
RowFilterを利用して解決しました

DataSet,DataTable,DataViewの関係に結構てこずりましたが
DataSetをDataGridのSetDataBindingを使って表示していたのを
以下のように変更しました

コード:
 
Dim dv As New DataView(ds.Tables(0)) 'ds は DataSet
dv.RowFilter = "DelFlg = 'False'"
DataGrid1.DataSource = dv



1

スキルアップ/キャリアアップ(JOB@IT)