您好我已经在.cs页面的动态创建表中获取记录,我知道如何获取具有特定ID的记录,如下所示
string searchExpression = "ID = 5"
DataRow[] foundRows = YourDataTable.Select(searchExpression);
现在你可以遍历结果,如下所示:
foreach(DataRow dr in foundRows)
{
}
但我不知道如何在.cs页面上写出类似的声明。
我尝试过如下但不能正常工作
string searchExpression = "ID like'%5%'"
DataRow[] foundRows = YourDataTable.Select(searchExpression);
答案 0 :(得分:1)
你必须这样做:
string searchExpression = "ID like'*5*'";
为了让它更具可重用性,请将其连接起来。像:
string searchExpression = "ID like '*" + fromParameter + "*'";
我认为如果你搜索“*”本身会抛出异常,但是不能正确记住。请测试那个案例。
请参阅以下文章:http://www.csharp-examples.net/dataview-rowfilter/ 关于如何编写用于过滤/选择的表达式。
从上面的链接复制:
如果列名包含任何这些特殊字符〜()#\ / => < + - *%放大器; | ^'“[],您必须将列名括在方括号[]内。如果列名包含右括号]或反斜杠\,请使用反斜杠(]或\来对其进行转义。
dataView.RowFilter = "Num = 10" // number is equal to 10
dataView.RowFilter = "Date < #1/1/2008#" // date is less than 1/1/2008
dataView.RowFilter = "Name <> 'John'" // string is not equal to 'John'
dataView.RowFilter = "Id IN (1, 2, 3)" // integer values
dataView.RowFilter = "Price IN (1.0, 9.9, 11.5)" // float values
dataView.RowFilter = "Name IN ('John', 'Jim', 'Tom')" // string values
dataView.RowFilter = "Date IN (#12/31/2008#, #1/1/2009#)" // date time values
dataView.RowFilter = "Name LIKE 'j*'" // values that start with 'j'
dataView.RowFilter = "Name LIKE '%jo%'" // values that contain 'jo'