关闭

C#DataTable DataView 的筛选

标签: c#datatable
935人阅读 评论(0) 收藏 举报
分类:
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%"});







0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3770次
    • 积分:146
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:2篇
    • 译文:1篇
    • 评论:0条
    文章分类