- - PR -
XMLファイルにフイルターを付けてDataGridに連結
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-11-14 11:25
お世話になります。
現在XMLで色々試して見ていますが、フイルターにより選択後 DataGridに表示させたいのですが、方法が分かりません。 環境はwindows.Formです。 勿論データベースを使えば問題なく、各種方法でうまくいっています。 下記方法で、表示や編集は出来ますが、全データが対象となってしまいます。 FileStream fs=new FileStream(XMLファイル名,FileMode.Open); DataSet ds=new DataSet(); ここでフィルター操作? ds.ReadXml(fs); Datagrid1.DataSource=ds; Datagrid1.DataMember = "****"; 又、変更などはDataSetのtableとRowの操作でうまく行っています。 ご存知の方、よろしくお願いします。 | ||||
|
投稿日時: 2002-11-14 17:23
こんにちは
DataTableに、Filterとかの設定があります。そちらでいけませんか? | ||||
|
投稿日時: 2002-11-14 20:42
Jittaさん情報有難う御座いました。
しかし、ADO.NETではDataTableに、Filterは無いみたいです。 以前のRecordSetには有りましたが。 色々やってみて、下記2つの方法があるみたいですが、片方でうまく行きましたので ご報告します。 うまく行った方 FileStream fs=new FileStream(XMLファイル名,FileMode.Open); DataSet ds=new DataSet(); ds.ReadXml(fs); DataView dv=new DataView(ds.Tables["****"]); dv.RowFilter="A='123'";//フィルター式 DataGrid1.DataSource=dv; //DataGrid1.DataMember = "****";無効にする 行かなかった方 DataTable dt=ds.Tables["****"]; DataRow[] dr=dt.Select("A='123'"); | ||||
|
投稿日時: 2002-11-15 10:32
追記
前回、うまく行かなかった方 DataTable dt=ds.Tables["****"]; DataRow[] dr=dt.Select("A='123' AND b like 'c' AND ....."); if(dr.Length>0) { { string address=dr[0]["address"].ToString(); ..... も、データ抽出などではうまく行きます。 |
1