Reports for WinForms
Filter プロパティ
使用例 

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

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

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

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

フィルタ式の構文は、 System.Data.DataViewオブジェクトの System.Data.DataView.RowFilterプロパティで使用される構文と同じです。式は「 ColumnNameOperatorValue」形式の条件で構成されます。 ColumnNameはデータソース内の列の名前(オプションで [ ] で囲む)、 Operatorは標準の Visual Basic 比較演算子の1つ、 Valueは一重引用符で囲まれたリテラルです。条件は、 AND演算子と OR演算子を使って組み合わせることができます。

使用例
次のコードは、 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 メンバ