dt为一个DataTable,以dt为例说明dt.select()方法的功能:
1.dt.Select() 获取所有行数
例:Datarow[] drs=dt.Select();
此时drs为dt数据表中所有的行数。
2.dt.Select(sting) 获取与筛选条件相匹配的行,按照主键顺序(如果没有主键,则按照添加顺序)
例:Datarow[] drs=dt.Select("A='bbc'");
此时drs为dt数据表中所有列A的值为“”bbc“”的行数。
3.dt.select(stirng,string) 获取按照指定的排序顺序且与筛选条件相匹配的行
例:Datarow[] drs=dt.Select("A='bbc'","B");
此时drs为dt数据表中所有列A的值为“bbc“的行数,且按照列B排序
此外,将行的集合drs合成新的数据表可使用以下方法:
DataTable dtNew=New DataTable();
if (null != drs)
{
dtNew = drs.CopyToDataTable();
}
DataTable 过滤某列为Null或为空的记录:
代码如下
1 DataTable dt = ReadFromCSV(path); 2 DataTable newDT = dt.Clone(); 3 DataRow[] drs = dt.Select(); 4 foreach (var item in drs) 5 { 6 if (!item.IsNull("Column4")&&item["Column4"].ToString()!="") 7 { 8 newDT.ImportRow(item); 9 } 10 }