フィルタの作成
データセットの理解:インデックス への移動
データセットのフィルタを作成するには,以下の 2 とおりの方法があります。
- Filtered プロパティを設定する。Filter プロパティは実行時にフィルタを作成して適用する場合に特に便利である
- OnFilterRecord イベントハンドラを記述する。単純なフィルタ条件も複雑なフィルタ条件も作成できる。DB.OnFilterRecord では設計時にフィルタ条件を指定する。Filter プロパティでは 1 つの文字列でフィルタ論理を指定しなければならないが,OnFilterRecord イベントハンドラの場合は論理を分岐またはループさせて複雑な多重フィルタ条件を作成できる
Filter プロパティを使ってフィルタを作成する主な利点は,アプリケーションが動的に,たとえばユーザーの入力に応じて,フィルタの作成,変更,適用ができることです。欠点は,フィルタ条件を 1 つのテキスト文字列で表さなければならないことです。また,分岐やループの構造を利用できず,データセットにまだ存在していない値との比較やテストもできません。
OnFilterRecord イベントの利点は,複雑で調整可能なフィルタを作成でき,分岐やループの構造を使用する複数行にわたるコードを使用できることです。データセットの値をそのデータセットにない値(編集ボックス内のテキストなど)と比較してテストすることもできます。OnFilterRecord イベントを使用する場合の欠点は,フィルタを設計時に設定するのでユーザーの入力に応じて変更できないことです。ただし,複数のフィルタハンドラを作成して,一般的なアプリケーション条件に応じてフィルタハンドラを切り替えることができます。
以降のセクションでは,Filter プロパティと OnFilterRecord イベントハンドラを使ってフィルタを作成する方法について説明します。