dtjr.DefaultView.RowFilter = " Journal_Name Like '" + cbo_jrnl.Text.Trim() + "*'";
工作正常,
但我希望使用 0-9
中的数字过滤所有jounral_name
次?
我怎么能实现这个目标?
答案 0 :(得分:2)
您需要的是%
运算符:
dtjr.DefaultView.RowFilter = " Journal_Name Like '" + cbo_jrnl.Text.Trim() + "%'";
以下是使用LIKE
在这里我们对MSDN语法和用法的解释:
Wildcard character Description Example
% Any string of zero WHERE title LIKE '%computer%'
or more characters. finds all book titles with
the word 'computer' anywhere in
the book title.
编辑:
抱歉缺乏关注。如果你说:
但我希望使用 0-9
中的数字过滤所有jounral_name
次?
另外,您可以使用[ ]
运算符(我在发布的MSDN链接中也有描述)。它指定:
指定范围内的任何单个字符([a-f])或set([abcdef])。
dtjr.DefaultView.RowFilter = " Journal_Name Like '[0-9]%'";
答案 1 :(得分:0)
此处未使用like
关键字,但您可以使用下面的Regex
和linq
来实现目标
dtjr= dtjr.AsEnumerable()
.Where(r => Regex.IsMatch(r["jounral_name"].ToString(), "^[0-9]+"))
.CopyToDataTable();