知识点1:Datatable 类的Select()方法,可以使用这个方法对Datatable的对象中的数据进行筛选,在VS中提供了四个重载
Select()
Select(string filterExpression)
Select(string filterExpression, string sort)
Select(string filterExpression,string sort, DataViewRowState record States)。
1) Select()——获取所有 System.Data.DataRow 对象的数组。
2) Select(string filterExpression)——按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
3) Select(string filterExpression, string sort)——获取按照指定的排序顺序且与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
4) Select(string filterExpression, string sort, DataViewRowState recordStates)——获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组。
例子:
Select(); //任何条件都没有,直接获取datatable对象的所有rows
Select("id>='3' and name='3--hello'"); // 可以在datatable对象中使用sql语句, 支持and
Select("id>='3' or id='1'"); //支持or
Select("name like '%hello%'"); //支持like ,模糊查询
Select("id>5","id desc"); //datatable对象根据前一句查询出来的数据,根据后一句进行id排序
Select("id>5", "id desc",DataViewRowState.Added); // 没太搞懂
例子:
DataTable dtAccept = dt; //接收初始条码表 dtAccept 是接收的表。
DataTable dtDistinct = dtAccept.Clone(); //利用dtAccept表的Clone()方法复制结构给表dtDistinct
DataRow[] drs = dtAccept.Copy().Select("", strSeachItem); //使用DataRow数组接收Select()方法后的值
表-dtDistinct 结构