DataTable中筛选row,在.net framework3.5和4.0中因为有linq,所以会有比较容易,相对的,在framework2.0中,稍显笨拙了点,不过同样很好用。就是使用DataTable.Select()方法,具体定义如下:
public DataRow[] Select (string filterExpression,string sort)
ex:DataRow[] rows=dt.Select("name like '%jake%'","age desc");
  筛选出行集合之后,就是要将行集合导入到一个新的DataTable中去。
  步骤如下:
  1.DataTable dtNew=dt.Clone();新的dtNew和dt具有同样的架构和约束
  2.此处需要注意,不能用foreach或for循环的方式将新的rows集合添加到dtNew中,会提示报错,说行是属于其他的DataTable,使用另外一个方法可以实现。
  for(int i=0;i<rows.Length;i++)
  {
    dtNew.ImportRow(rows[i]);
    }
  查询MSDN,会发现该方法的定义:DataRow 复制到 DataTable 中,保留任何属性设置以及初始值和当前值。
  备注:调用 NewRow 时,将使用现有的表架构向表中添加一行,并为该行填充默认值,同时将 DataRowState 设置为 Added 调用 ImportRow 将保留现有的 DataRowState 以及该行中的其他值。