DataTable的Select方法
DataTable的Select方法
获取 DataRow 对象的数组。
重载列表
 名称                     说明 
 Select()                获取所有 DataRow 对象的数组。  
 Select(String)      
                             按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 DataRow 对象的数组。  
 Select(String, String)                                           
                              获取按照指定的排序顺序且与筛选条件相匹配的所有 DataRow 对象的数组。  
 Select(String, String, DataViewRowState) 
                              获取与排序顺序中的筛选器以及指定的状态相匹配的所有 DataRow 对象的数组。 
示例:
private void GetRows()
{
     // Get the DataTable of a DataSet.
     DataTable table = DataSet1.Tables["Suppliers"];
     DataRow[] rows = table.Select();
     // Print the value on
     for(int i = 0; i < rows.Length ; i++)
     {
         Console.WriteLine(rows[i]["CompanyName"]);
     }
}
//**********************************************************************************************************
private void GetRowsByFilter(){ DataTable table = DataSet1.Tables["Orders"]; // Presuming the DataTable has a column named Date. string expression; expr ession = "Date > #1/1/00#"; DataRow[] foundRows; // Use the Select method to find all rows matching the filter. foundRows = table.Select(expr ession); // Print column 0 of each returned row. for(int i = 0; i < foundRows.Length; i ++) { Console.WriteLine(foundRows[i][0]); }} 
//**********************************************************************************************************
private void GetRowsByFilter()
{
     DataTable table = DataSet1.Tables["Orders"];
     // Presuming the DataTable has a column named Date.
     string expr
     // Sort descending by column named CompanyName.
     string sortOrder = "CompanyName DESC";
     DataRow[] foundRows;
     // Use the Select method to find all rows matching the filter.
     foundRows = table.Select(expr
     // Print column 0 of each returned row.
     for(int i = 0; i < foundRows.Length; i ++)
     {
         Console.WriteLine(foundRows[i][0]);
     }
}
//**********************************************************************************************************
     private static void GetRowsByFilter()
     {
         DataTable customerTable = new DataTable("Customers");
         // Add columns
         customerTable.Columns.Add("id", typeof(int));
         customerTable.Columns.Add("name", typeof(string));
         // Set PrimaryKey
         customerTable.Columns[ "id" ].Unique = true;
         customerTable.PrimaryKey = new DataColumn[] 
             { customerTable.Columns["id"] };
         // Add ten rows
         for(int id=1; id<=10; id++)
         {
             customerTable.Rows.Add(
                 new object[] { id, string.Format("customer{0}", id) });
         }
         customerTable.AcceptChanges();
         // Add another ten rows
         for(int id=11; id<=20; id++) { customerTable.Rows.Add( new object[] { id, string.Format("customer{0}", id) });
         }
         string expr
         string sortOrder;
         expr
         // Sort descending by column named CompanyName.
         sortOrder = "name DESC";
         // Use the Select method to find all rows matching the filter.
         DataRow[] foundRows = 
             customerTable.Select(expr
             DataViewRowState.Added);
         PrintRows(foundRows, "filtered rows");
         foundRows = customerTable.Select();
         PrintRows(foundRows, "all rows");
     }
     private static void PrintRows(DataRow[] rows, string label)
     {
         Console.WriteLine("\n{0}", label);
         if(rows.Length <= 0)
         {
             Console.WriteLine("no rows found");
             return;
         }
         foreach(DataRow row in rows)
         {
             foreach(DataColumn column in row.Table.Columns)
             {
                 Console.Write("\table {0}", row[column]);
             }
             Console.WriteLine();
         }
     }
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号