前提・実現したいこと
C#のDataGridView機能を使用しています。
DataGridView内のDataTableデータを検索して必要なデータのみ表示する機能を作成しました。
完全一致であれば表示されますが、あいまい検索の方法が分かりません。
linqと正規表現の知識が曖昧であり、Where句の使用なのか正規表現どちらが違うのかが判断がつきません。
該当のソースコード
下記のコードにて完全一致であれば正常に表示される状態です。
C#
1private void button1_Click(object sender, EventArgs e) 2{ 3 if (this.textBox1.Text != "" || this.textBox2.Text != "") 4 { 5 IEnumerable<DataRow> query = from row in XmlTable.AsEnumerable() 6 where row.Field<string>("Column3") == textBox1.Text 7 select row; 8 dataGridView3.DataSource = query.CopyToDataTable() 9 } 10}
一部一致検索を行った場合
例外がスローされました: 'System.InvalidOperationException' (System.Data.DataSetExtensions.dll の中)
型 'System.InvalidOperationException' のハンドルされていない例外が System.Data.DataSetExtensions.dll で発生しました
ソースには、DataRow が含まれていません。
試したこと
where row.Field<string>("Column3") == (”@” + textBox1.Text "")
など試しましたが空のデータが帰ってきています。
==をLikeに変えようとしましたがエラーになります。
補足情報(FW/ツールのバージョンなど)
Microsoft Visual Studio Community 2019
Version 16.8.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/01/08 03:05