BindingSource.Filter プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
表示する行のフィルター処理に使用する式を取得または設定します。
public:
virtual property System::String ^ Filter { System::String ^ get(); void set(System::String ^ value); };
public virtual string Filter { get; set; }
public virtual string? Filter { get; set; }
member this.Filter : string with get, set
Public Overridable Property Filter As String
プロパティ値
行のフィルター処理方法を指定する文字列。 既定値は、null
です。
実装
例
次の例では、 プロパティを と共に使用する Filter 方法を DataView示します。 この例を実行するには、コードを Windows フォームに貼り付け、フォームのコンストラクターまたはLoadイベント処理メソッドから を呼び出PopulateDataViewAndFilter
します。 フォームでは、 名前空間と System.IO 名前空間をSystem.Xmlインポートする必要があります。
private void PopulateDataViewAndFilter()
{
DataSet set1 = new DataSet();
// Some xml data to populate the DataSet with.
string musicXml =
"<?xml version='1.0' encoding='UTF-8'?>" +
"<music>" +
"<recording><artist>Coldplay</artist><cd>X&Y</cd></recording>" +
"<recording><artist>Dave Matthews</artist><cd>Under the Table and Dreaming</cd></recording>" +
"<recording><artist>Dave Matthews</artist><cd>Live at Red Rocks</cd></recording>" +
"<recording><artist>Natalie Merchant</artist><cd>Tigerlily</cd></recording>" +
"<recording><artist>U2</artist><cd>How to Dismantle an Atomic Bomb</cd></recording>" +
"</music>";
// Read the xml.
StringReader reader = new StringReader(musicXml);
set1.ReadXml(reader);
// Get a DataView of the table contained in the dataset.
DataTableCollection tables = set1.Tables;
DataView view1 = new DataView(tables[0]);
// Create a DataGridView control and add it to the form.
DataGridView datagridview1 = new DataGridView();
datagridview1.AutoGenerateColumns = true;
this.Controls.Add(datagridview1);
// Create a BindingSource and set its DataSource property to
// the DataView.
BindingSource source1 = new BindingSource();
source1.DataSource = view1;
// Set the data source for the DataGridView.
datagridview1.DataSource = source1;
//The Filter string can include Boolean expressions.
source1.Filter = "artist = 'Dave Matthews' OR cd = 'Tigerlily'";
}
Private Sub PopulateDataViewAndFilter()
Dim set1 As New DataSet()
' Some xml data to populate the DataSet with.
Dim musicXml As String = "<?xml version='1.0' encoding='UTF-8'?>" & _
"<music>" & _
"<recording><artist>Coldplay</artist><cd>X&Y</cd></recording>" & _
"<recording><artist>Dave Matthews</artist><cd>Under the Table and Dreaming</cd></recording>" & _
"<recording><artist>Dave Matthews</artist><cd>Live at Red Rocks</cd></recording>" & _
"<recording><artist>Natalie Merchant</artist><cd>Tigerlily</cd></recording>" & _
"<recording><artist>U2</artist><cd>How to Dismantle an Atomic Bomb</cd></recording>" & _
"</music>"
' Read the xml.
Dim reader As New StringReader(musicXml)
set1.ReadXml(reader)
' Get a DataView of the table contained in the dataset.
Dim tables As DataTableCollection = set1.Tables
Dim view1 As New DataView(tables(0))
' Create a DataGridView control and add it to the form.
Dim datagridview1 As New DataGridView()
datagridview1.AutoGenerateColumns = True
Me.Controls.Add(datagridview1)
' Create a BindingSource and set its DataSource property to
' the DataView.
Dim source1 As New BindingSource()
source1.DataSource = view1
' Set the data source for the DataGridView.
datagridview1.DataSource = source1
' The Filter string can include Boolean expressions.
source1.Filter = "artist = 'Dave Matthews' OR cd = 'Tigerlily'"
End Sub
注釈
通常、複雑なデータ バインディング シナリオ Filter で使用される プロパティを使用すると、 のサブセットを DataSource表示できます。 インターフェイスを実装 IBindingListView する基になるリストのみがフィルター処理をサポートします。
が でないnull
場合Filter、 はこのBindingSourceプロパティを基になるリストに渡します。 オブジェクトの初期化中にこのプロパティを設定した場合、初期化が完了するまで呼び出しは遅延されます。
フィルター値を形成するには、列の名前の後に演算子とフィルター処理する値を指定します。 受け入れられるフィルター構文は、基になるデータ ソースによって異なります。 基になるデータ ソースが 、DataTable、または DataViewの場合はDataSet、 プロパティに記載されている構文を使用してブール式をDataColumn.Expression指定できます。
プロパティの Filter 値は、 プロパティの値に影響します Count 。 さらに、 Filter 値はデータ ソースが変更されたときに保持されます。 のフィルター処理を停止するには、 DataSourceメソッドを RemoveFilter 呼び出します。
適用対象
こちらもご覧ください
.NET