次の方法で共有


DataTable.Select メソッド (String, String)

フィルタ基準と一致するすべての DataRow オブジェクトの配列を、指定した並べ替え順で取得します。

Overloads Public Function Select( _
   ByVal filterExpression As String, _   ByVal sort As String _) As DataRow()
[C#]
public DataRow[] Select(stringfilterExpression,stringsort);
[C++]
public: DataRow* Select(String* filterExpression,String* sort) [];
[JScript]
public function Select(
   filterExpression : String,sort : String) : DataRow[];

パラメータ

  • filterExpression
    行にフィルタをかけるために使用する基準。
  • sort
    列と並べ替え方向を指定する文字列。

戻り値

フィルタ式と一致する DataRow オブジェクトの配列。

解説

引数 filterExpression を作成するには、 DataColumn クラスの Expression プロパティの値を作成するときと同じ規則を使用します。引数 Sort は、クラスの Expression 文字列を作成するときと同じ規則も使用します。

使用例

[Visual Basic, C#, C++] フィルタ式を使用して DataRow オブジェクトの配列を返す例を次に示します。

 
Private Sub GetRowsByFilter()
   Dim t As DataTable
   t = DataSet1.Tables(0)
   ' Presuming the DataTable has a column named Date.
   Dim strExpr As String
   Dim strSort As String
   strExpr = "Date > 1/1/00"
   ' Sort descending by column named CompanyName.
   strSort = "CompanyName DESC" 
   Dim foundRows() As DataRow
   ' Use the Select method to find all rows matching the filter.
   foundRows = t.Select(strExpr, strSort)
   Dim i As Integer
   ' Print column 0 of each returned row.
   For i = 0 to foundRows.GetUpperBound(0)
      Console.WriteLine(foundRows(i)(0))
   Next i
End Sub

[C#] 
private void GetRowsByFilter(){
   DataTable myTable;
   myTable = DataSet1.Tables["Orders"];
   // Presuming the DataTable has a column named Date.
   string strExpr;
   string strSort;
   strExpr = "Date > '1/1/00'";
   // Sort descending by column named CompanyName.
   strSort = "CompanyName DESC";
   DataRow[] foundRows;
   // Use the Select method to find all rows matching the filter.
   foundRows = myTable.Select(strExpr, strSort);
   // Print column 0 of each returned row.
   for(int i = 0; i < foundRows.Length; i ++){
      Console.WriteLine(foundRows[i][0]);
   }
}


[C++] 
private:
 void GetRowsByFilter(){
    DataTable* myTable;
    myTable = DataSet1->Tables->Item[S"Orders"];
    // Presuming the DataTable has a column named Date.
    String* strExpr;
    String* strSort;
    strExpr = S"Date > '1/1/00'";
    // Sort descending by column named CompanyName.
    strSort = S"CompanyName DESC";
    DataRow* foundRows[];
    // Use the Select method to find all rows matching the filter.
    foundRows = myTable->Select(strExpr, strSort);
    // Print column 0 of each returned row.
    for(int i = 0; i < foundRows->Length; i ++){
       Console::WriteLine(foundRows[i]->Item[0]);
    }
 }
 

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

DataTable クラス | DataTable メンバ | System.Data 名前空間 | DataTable.Select オーバーロードの一覧 | CaseSensitive | Expression | DataRow