C#DataTable DataView 的筛选

1、DataTable中的数据查找或筛选
     1.1    select()
       select()方法查找没有主键的表,或者通过非主键字段进行查找,返回的是DataRow的数组  
       DataRow[] dr=dtbSource.Select("Title Like 'Production' ");
     1.2  find()  
    1、单一主键
      DataRow dr = dt.Rows.Find("主键字段的值");
    2、多个主键
     Object[] obj= new Object[]{主键一,主键二,..};

     DataRow dr = dt.Rows.Find(obj);


 2.DataView中的数据查找或筛选   
   2.1 RowStateFilter 筛选特定状态的行
    dv.RowStateFilter=DataViewRowState.Deleted;


   2.2 sort 可以指定单个或者多个列的排序
    dv.Sort = "Name ASC,ID DESC";
   2.3 RowFilter 筛选特定记录
    dv.RowFilter = "Name LIKE '张%'";
   2.4 使用Find和FindRows在DataView中查找,按照行的关键字值来对行进行搜索
  若要使用Find或FindRows方法,必须通过将ApplyDefaultSort设置为true或通过使用DataView对象的Sort属性来指定排序顺序,否则将引发异常
1、Find方法返回一个整数,表示匹配搜索条件的DataRowView的索引。如果多行匹配,只返回一个匹配行索引,如果未找到匹配项,返回-1。
2、FindRows方法,<span style="font-family: simsun;">它返回DataView中的所有匹配行的DataRowView数组。如果未找到匹配项,DataRowView数组为空。</span>
这两种方法将一个值数组用做输入,该数组的长度与排序顺序包含的列数相匹配。当对多个列进行排序时,
对象数组的值必须匹配在DataView的Sort属性中指定的列的顺序。
对具有单个列排序顺序的DataView调用Find方法。
dv.Sort = "Name";
int rowIndex = dv.Find("张三");
如果Sort属性指定多个列,则必须按照Sort属性指定的顺序为每个列传递包含搜索值的对象数组。
dv.Sort = "Name,ID";
DataRowView[] foundRows = dv.FindRows(new Object[]{"7" , "Production%"});







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值