柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
posts - 232, comments - 984, trackbacks - 17, articles - 29
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

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

Posted on 2004-07-08 10:56 柚子Nan 阅读(1172) 评论(0)  编辑 收藏 网摘 所属分类: [技术.Net]

 

在操作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<>'' "

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2004-07-10 13:01 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: