关于DataSet过滤问题
我遇到一个问题,想在查出的DataSet里使用Select()进行过滤。然后把它邦到datagrid上,但是过滤出来的数组形式的。不能邦。怎么解决啊。 
 比如:   
             DataSet   ds=new   DataSet(); 
          DataRow[]   dr=   ds.Tables[0].Select( "条件 ");这都好用。 
 但是得出来的dr是数组了,没有表结构了。不能邦到Datagrid了。请问题怎么解决。谢谢了。 
------解决方案--------------------用dataview 
 dataview dv= ds.Tables[0].defaultview; 
 dv.rowfilter( "条件 ");   
 datagrid.datasource=dv;     
 ***************************************************************************** 
 欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)    
 最新版本:20070127   
 http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------System.Data.DataTable dtData=new DataTable(); 
 System.Data.DataView dvData=new DataView(dtData, "条件 ", "排序 ",System.Data.DataViewRowState.CurrentRows); 
------解决方案--------------------使用DataView来处理:   
 DataSet ds=new DataSet();   
 DataView dv = ds.Tables[0].DefaultView; 
 dv.RowFilter =  "条件 "; 
 dataGrid.DataSource = dv;绑定到Grid
------解决方案--------------------不知道有没有更简单的方法...   
 private bool ContainsRow(DataTable dataTable, DataRow dataRow) 
         { 
             bool flag = true; 
             foreach (DataRow row in dataTable.Rows) 
             { 
                 for (int i = 0; i  < dataTable.Columns.Count; i++) 
                 { 
                     if (!row[i].Equals(dataRow[i])) 
                     { 
                         flag = false; 
                         break; 
                     } 
                 } 
                 if (flag) 
                 { 
                     return true; 
                 } 
             } 
             return false; 
         }   
 //调用,说明dt是原DataTable,即dataSet.Tables[0] 
 DataRow[] rows = dt.Select( "条件 "); 
             DataTable table = dt.Clone(); 
             table.Clear(); 
             foreach (DataRow row in dt.Rows) 
             { 
                 if (!ContainsRow(table, row)) 
                     table.ImportRow(row); 
             } 
 //绑定 
 this.DataGrid1.DataSource=table;