|
分類:[C#]
またお願いします。 リッチテキストで保存されているテーブルより、 検索文字を含む行のみを抽出したいのですが、 現在以下のように行っています。
// ※ 一旦リッチテキストボックスに読込んで、検索を行っている。
private void button1_Click(object sender, EventArgs e) { RichTextBox rt = new RichTextBox(); var aa = from p in myDataSet.TBL select p;
foreach (var a in aa) { // テキストボックスにRTFをセット rt.Rtf = a.RTF収納列.ToString();
// テーブルにフラグを立てる if (rt.Find("検索語") > -1) a.旗 = true; else a.旗 = false; } // フラグの立っている行のみ抽出 myBindingSource.Filter = "旗=true"; }
やや時間がかかるのですが、これがベストなのでしょうか。 RichTextBoxに読込むとその分時間がかかっているようで、 できれば以下のような形で行いたいのですが……
private void button2_Click(object sender, EventArgs e) { var aa = from p in myDataSet.TBL where p.RTF収納列.IndexOf("検索語")>-1 select p; myBindingSource.DataSource = aa.AsDataView(); }
ご指導お願いいたします。
|