我有一个DataSet集,我要把这个dataset根据条件过滤出不同的dataview,如下面的语句..
 DataView dv = new DataView();
 dv = recset.Tables[0].DefaultView;
 dv.RowFilter = " ID > " +subjob.m_CurRowID + " and ID <= " + subjob.m_EndRowID;但我发现过滤出的dataview还是整个dataset中的记录,没有根据我传入的条件过滤出,应该怎么办了/?

解决方案 »

  1.   

     DataView dv = new DataView(recset.Tables[0]);
     dv.RowFilter = " ID > " +subjob.m_CurRowID + " and ID <= " + subjob.m_EndRowID;然后用 dv 访问记录,不要用 recset.Tables[0]
      

  2.   

    要么你
    DataRow [] dr=recset.Tables[0].Select( " ID > " +subjob.m_CurRowID + " and ID <= " + subjob.m_EndRowID);
    这样写也可以的 
      

  3.   

    DataTable   ndt   =   new   DataTable();   
    ndt   =   dt.Clone();   
    DataRow[]   dr   =   dt.Select(condition);   
    for(int   i   =   0;   i   <=   dr.Length   -   1;   i++)   
    {   
    ndt.ImportRow((DataRow)dr[i]);   
    }
    DataView   dv1   =   dt1.DefaultView; 
    dv1.RowFilter   =   "过滤字符串 "; 
    dv1.Table.AcceptChanges(); 
    DataTable   dt2   =   dv1.Table.Copy();