Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
DataGridViewについて勉強しています
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30535#CommentId84174
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2020/9/8 16:59:33
掲示板の IMAGE タグで https プロトコルをサポートして頂けないでしょうか。 > るきおさん
> BindingSourceはTableBindingSourceと一緒なのでしょうか?
もしかして、【型名】と【フィールド変数名】を混同していませんか?
恐らくは System.Windows.Forms.BindingSource クラスのインスタンスの Name プロパティに
"TableBindingSource" という名前が付けられている状態だと思います。
System.Windows.Forms.TextBox クラスのインスタンスの Name プロパティに
"TextBox1" や "TextBox2" といった名前が付けられるのと同じように。
> TableBindingSource.Filter = strText
> みたいな感じでいいのでしょうか?(ハンドルされてない例外が出てきました)
いいえ。SQL でいうところの WHERE 句に書く問い合わせ式が必要です。
先ほどは "数学<=40 OR 英語<=40" という文字列を例に挙げましたが、この場合、
DataTable 上に "数学" 列と "英語" 列があり、かつそれらが数値型であることを想定しています。
Filter プロパティに設定できる文字列は、DataColumn の Expression プロパティに
指定できる内容に準じます。たとえば LIKE 検索なども可能です。
具体的にな構文については、下記を参考にしてみてください。
(翻訳ミスで構文が崩れている箇所があるので、英語版も併記しておきます)
https://docs.microsoft.com/ja-jp/dotnet/api/system.data.datacolumn.expression?WT.mc_id=DT-MVP-8907&view=netframework-4.8
https://docs.microsoft.com/en-us/dotnet/api/system.data.datacolumn.expression?WT.mc_id=DT-MVP-8907&view=netframework-4.8
あるいは、DataTable の Select メソッドを使って、DataRow の配列を得る方法もあります。
使い方はほぼ同じですが、抽出結果の DataRow 配列を DataGridView 等に表示したいなら、
そのための再割り当て等は、自分で行う必要があります。
このほか、LINQ to DataSet で問い合わせるといった方法があります。
https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/creating-a-datatable-from-a-query-linq-to-dataset?WT.mc_id=DT-MVP-8907