2007.12.13

DataTableでフィルタとソートを行う。

今回はDataTableを使用した簡単なフィルタ、ソート機能をご紹介。

DataTableにはSelectというメソッドがあります。

・DataTable.Select(filterExpression As String _
         , sort as string _
         , recordStates as DataViewRowState)
         
第一引数のfilterExpressionでは、DataTable内のデータに
対してフィルタリングをかけます。
例えば、filterExpressionに"名称1 = 'ilovex'"と指定すると
DataTableでfilterExpressionの条件に該当するデータのみを
取得してくれます。

第二引数のsortでは、DataTable内のデータに対して
ソート順を設定します。
sortに"名称1、名称2"と指定すると
DataTableでsortで指定した表示順に従い、DataTableのデータを
ソートし、取得することができます。

第三引数のrecordStatesでは、DataViewRowStateの値を指定します。
これを指定することにより、指定したDataViewRowStateに沿った
データを取得することが出来ます。

DataViewRowStateの一覧は以下の通り。

・Added        
新しい行。

・CurrentRows
変更されていない行、新しい行、および変更された行を含む現在の行。

・Deleted
削除された行。

・ModifiedCurrent
元のデータの変更後のバージョンである現在のバージョン。

・ModifiedOriginal
元のバージョン。既に変更されていてModifiedCurrent として使用できます。

・None
なし。

・OriginalRows
変更されていない行と削除された行を含む元の行。

・Unchanged
変更されていない行。

このメソッドを使用することによって、明細データのソートの
し直しなどで、SQLを再度実行せずとも行える気がします。

皆さんも気が向いたら一度試してみては如何でしょうか?

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
jin