FlexReport for WinForms
Filter プロパティ (DataSource)
使用例 


C1.Win.FlexReport.4.5.2 アセンブリ > C1.Win.FlexReport 名前空間 > DataSource クラス : Filter プロパティ
レポートに含めるデータ行をフィルタするために使用される式を取得または設定します。
シンタックス
'宣言
 
Public Property Filter As System.String
'使用法
 
Dim instance As DataSource
Dim value As System.String
 
instance.Filter = value
 
value = instance.Filter
public System.string Filter {get; set;}
解説

Filter プロパティを使用して、 RecordSourceプロパティを変更せずに、データソースに含めるレコードを制限します。

フィルタの使用は、 RecordSourceプロパティに 割り当てられた SQL 文で WHERE 句を指定することに似ています。どちらの方法も、指定された条件に基づいてデータを フィルタします。違いは、 Filter プロパティはすでにメモリにロードされている テーブルに適用されますが、WHERE 文ではフィルタされたレコードだけが データベースからメモリにロードされることです。

大きなテーブルのごく一部だけを含むレポートを作成する場合は、テーブル全体をメモリにロードする必要がないため、WHERE 文の方が適しています。一方、テーブルがすでにメモリにロードされている場合は、さらにデータをロードする必要がないため、 Filter プロパティの方が適しています。

フィルタ式の構文は FilterSyntaxプロパティによって決定されます。

使用例
次のコードは、 Filter プロパティを使用してデータソースにフィルタを適用する方法と、SQL 文で WHERE 句を使用してデータソースにフィルタを適用する方法を示します。
if (useFilterProperty)
{
  // すべてのレコードをロードし、メモリ内でフィルタします
  _c1r.DataSource.RecordSource = "SELECT * from Employees";
  _c1r.DataSource.Filter = "HireDate >= '1/1/1993' AND Country = 'UK'";
}
else
{
  // 選択したレコードだけをロードします
  _c1r.DataSource.RecordSource = "SELECT * from Employees " + 
    "WHERE HireDate >= #1/1/1993# AND Country = 'UK'";
}
参照

DataSource クラス
DataSource メンバ