2010年12月15日水曜日

.NET DataTableから対象行を抽出する

DataTableから対象行を抽出する。

DataTable.Select メソッド (String)

フィルタ基準と一致するすべての DataRow オブジェクトを主キーの順に (主キーがない場合は追加された順に) 配列として取得します。

'宣言

Public Function Select ( _
filterExpression As String _
) As DataRow()
'使用

Dim instance As DataTable
Dim filterExpression As String
Dim returnValue As DataRow()

returnValue = instance.Select(filterExpression)

パラメータ
filterExpression
型 : System.String
行にフィルタをかけるために使用する基準。

戻り値
型 : System.Data.DataRow()
DataRow オブジェクトの配列。

解説
引数 filterExpression を作成するには、フィルタを作成するときに DataColumn クラスの Expression プロパティの値に適用する規則と同じ規則を使用します。


フィルタ式を使用して DataRow オブジェクトの配列を返す例を次に示します。

Private Sub GetRowsByFilter()

Dim table As DataTable = DataSet1.Tables("Orders")

' Presuming the DataTable has a column named Date.
Dim expression As String
expression = "Date > #1/1/00#"
Dim foundRows() As DataRow

' Use the Select method to find all rows matching the filter.
foundRows = table.Select(expression)

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

詳しくはMSDNライブラリ
DataTable.Select メソッド (String)を参照