1

私は WPF の初心者で、Win Forms と C# を使用してアプリケーションを作成してきました。これらのアプリケーションでは、Datagridview を使用して、SQL データベースにバインドされたデータを表示することがよくありました。DGV 内の特定の行のフィルタリングは、次のように添付された Bindingsources.Filter プロパティにアクセスすることで非常に簡単でした。

myBindingSource.Filter = "ABCDEFG (<-- ランダムな列名) Like " + textBox.Text;

Datagrid で返された結果をフィルタリングする同様の簡単な方法はありますか、それともストアド プロシージャを使用して目的の結果を取得する必要がありますか。または、フィルタリング メカニズムは WPF の DataGrid に対してどのように機能しますか。

これらは多くの質問ですが、WPF に足を踏み入れるのを手伝ってくれて感謝しています。

乾杯

マックス

4

1 に答える 1

0

簡単な方法があります。データグリッドを ado.net にバインドする場合。データテーブルの DefaultView を使用して、フィルターを設定するだけです。

次のコードは、デフォルトのものではなく、新しい「ViewFilter」を作成する方法を示しています

    public BindingListCollectionView View1 { get; set; }

    //ctor, create View with initial filter
    View1 = new BindingListCollectionView(new DataView(Dt) { RowFilter = "Name like 'R%'" })

    //dynamic filter on runtime
    View1.CustomFilter = "ABCDEFG (<-- Random Columnname) Like '" + textBox.Text+"'";

xaml

 <DataGrid ItemsSource="{Binding View1}" />
于 2012-04-27T08:18:04.470 に答える