DataGridViewの抽出について への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 太一  (社会人)
投稿日時
2012/2/29 15:33:58
shuさんのアドバイスで上手く出来ました。
具体的には、過去ログで見つかった、魔界の仮面弁士さんのコードを参考にさせて頂きました。
「DataGridViewのデータをXMLで出力する。」
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=9529
もうひとつ分からないことがあるので質問させて下さい。
フィルタ抽出についてなのですが、変数で検索する方法を教えて下さい。
変数を使わない下の方法だと上手く出来ます。
Dim dv As New DataView
dv.Table = dTbl
'フィルタ
dv.RowFilter = "ユーザーID LIKE '佐藤浩市'"
しかし下のように変数を使用した場合、上手くいきません。
Dim dv As New DataView
dv.Table = dTbl
'フィルタ
Dim sato As string = "佐藤浩市"
dv.RowFilter = "ユーザーID LIKE sato"
もしくは、
dv.RowFilter = "ユーザーID = sato"
変数を使うことは可能でしょうか?
具体的には、過去ログで見つかった、魔界の仮面弁士さんのコードを参考にさせて頂きました。
「DataGridViewのデータをXMLで出力する。」
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=9529
もうひとつ分からないことがあるので質問させて下さい。
フィルタ抽出についてなのですが、変数で検索する方法を教えて下さい。
変数を使わない下の方法だと上手く出来ます。
Dim dv As New DataView
dv.Table = dTbl
'フィルタ
dv.RowFilter = "ユーザーID LIKE '佐藤浩市'"
しかし下のように変数を使用した場合、上手くいきません。
Dim dv As New DataView
dv.Table = dTbl
'フィルタ
Dim sato As string = "佐藤浩市"
dv.RowFilter = "ユーザーID LIKE sato"
もしくは、
dv.RowFilter = "ユーザーID = sato"
変数を使うことは可能でしょうか?
投稿者 太一  (社会人)
投稿日時
2012/2/29 01:25:17
shuさん、返信有難う御座います。
試してやってみます。
試してやってみます。
投稿者 shu  (社会人)
投稿日時
2012/2/28 07:32:55
手動でデータを入れたDataGridViewではDataSourceが
ないのでRows(~).Cells(~).Valueを取得してそれを使わないと駄目です。
DataTableを使うならDataSourceにDataTableを割り当てるかBindingSourceを
割り当てBindingSourceのDataSourceにDataTableを割り当てる必要があります。
ないのでRows(~).Cells(~).Valueを取得してそれを使わないと駄目です。
DataTableを使うならDataSourceにDataTableを割り当てるかBindingSourceを
割り当てBindingSourceのDataSourceにDataTableを割り当てる必要があります。
投稿者 太一  (社会人)
投稿日時
2012/2/28 04:32:09
Form1にDataGridView1
Form2にDataGridView2
があるとします。
DataGridView1には、DataTableではなく、手動でデータを入れていっています。
(氏名、年齢、性別)と3列あります。
DataGridView1から列(性別)から男性を抽出して、その抽出したデータだけをDataGridView2に表示させたいのですが、やり方がわかりません。
DataGridView1のデータを、DataTableにいれて抽出していけばいいのかなと思ったのですが、以下のコードではDataTableに入れることが出来ませんでした。
Dim Table As DataTable
Table = DirectCast(DataGridView1.DataSource, DataTable)
DataGridViewでは、よく使うことだと思うのですが、手動でデータを入れたDataGridViewからの抽出方法を教えていただけませんでしょうか?
よろしくお願いいたします。
VB2010 Windows7
Form2にDataGridView2
があるとします。
DataGridView1には、DataTableではなく、手動でデータを入れていっています。
(氏名、年齢、性別)と3列あります。
DataGridView1から列(性別)から男性を抽出して、その抽出したデータだけをDataGridView2に表示させたいのですが、やり方がわかりません。
DataGridView1のデータを、DataTableにいれて抽出していけばいいのかなと思ったのですが、以下のコードではDataTableに入れることが出来ませんでした。
Dim Table As DataTable
Table = DirectCast(DataGridView1.DataSource, DataTable)
DataGridViewでは、よく使うことだと思うのですが、手動でデータを入れたDataGridViewからの抽出方法を教えていただけませんでしょうか?
よろしくお願いいたします。
VB2010 Windows7
以下は解決したコードになります。
dv.RowFilter = String.Format("{0}='{1}'", "ユーザーID", sato)