トップ回答者
[!0-9]*のような表現で、DataGridViewをフィルタリングできないか

質問
-
回答
-
RowFilterではそのような指定はできません。
DataColumn.Expression プロパティ (System.Data)
LINQを使えば可能です。
using System; using System.Data; using System.Linq; using System.Text.RegularExpressions; namespace RegularExpression { class Program { static void Main(string[] args) { DataTable dt = new DataTable(); dt.Columns.Add("col1", typeof(string)); dt.Rows.Add("1hoge"); dt.Rows.Add("2fuga"); dt.Rows.Add("hoge"); dt.Rows.Add("fuga"); var query = from DataRowView rowView in dt.DefaultView where Regex.IsMatch((string) rowView[0], "^[^\\d]") select rowView; foreach (DataRowView rowView in query) { Console.WriteLine(rowView[0]); // hoge,fuga } } } }
C#なので、VBに読み替えてください。
Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/- 回答としてマーク kyrie_yohei 2011年1月1日 6:21
すべての返信
-
RowFilterではそのような指定はできません。
DataColumn.Expression プロパティ (System.Data)
LINQを使えば可能です。
using System; using System.Data; using System.Linq; using System.Text.RegularExpressions; namespace RegularExpression { class Program { static void Main(string[] args) { DataTable dt = new DataTable(); dt.Columns.Add("col1", typeof(string)); dt.Rows.Add("1hoge"); dt.Rows.Add("2fuga"); dt.Rows.Add("hoge"); dt.Rows.Add("fuga"); var query = from DataRowView rowView in dt.DefaultView where Regex.IsMatch((string) rowView[0], "^[^\\d]") select rowView; foreach (DataRowView rowView in query) { Console.WriteLine(rowView[0]); // hoge,fuga } } } }
C#なので、VBに読み替えてください。
Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/- 回答としてマーク kyrie_yohei 2011年1月1日 6:21