您的位置:首页 > 其它

如何在DataTable中灵活使用Select方法

2004-07-08 10:56 1036 查看
在操作DataTable 的时候,还会遇到一个常见的问题,对于DataTable中的某些行修改了状态,
我是指的人工显式的修改了,例如如下的代码:

//对于新的表增加一个状态列,表明是否访问过

DataTable tempTable = dtDataTable[i].Copy();

tempTable.Columns.Add("Visited",typeof(bool));

foreach(DataRow tempRow in tempTable.Rows)

{

tempRow["Visited"] = false;

}

//然后对于某些行进行操作,同时修改了状态

foreach(DataRow aDataRow in tempTable.Rows)

{

if(aDataRow["StepNo"].ToString())

{

aDataRow["TotalPrice"]=0;

aDataRow["Visited"] = true;

}

}

那么最后tempTable中就会有一些Row的列Visited = false的。如何找到这些列呢?

当然就与本文的题目对应

DataRow []unVisitedRows = tempTable.Select("Visited = false");

显然他返回的是一个DataRow的数组,接下来如何对数组中的每个行如何操作,就不用说了。有一点要注意的是我的
上一个Blog中提到的

DataSet,DataTable.DataRow复制方法——解决:此行已属于另一个表

另外,public DataRow[] Select( string filterExpression)

filterExpression 这个参数还可以使用 and ,or 等等操作符,例如:filterExpression
= " id='D' or stepnt<>'' " 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐