使用“文本框中的值”筛选绑定到SQL数据库的Datagrid

时间:2012-04-27 07:13:54

标签: c# wpf datagrid

我是WPF的新手,后来用Win Forms和C#创建了应用程序。在这些应用程序中,我经常使用Datagridview来显示绑定到SQL数据库的数据。通过访问附加的Bindingsources.Filter属性,过滤DGV中的某些行非常简单:

myBindingSource.Filter =“ABCDEFG(< - Random Columnname)like”+ textBox.Text;

是否有类似的简单方法来过滤Datagrid中返回的结果,或者我被迫使用存储过程来获得我想要的结果。或者,如何在WPF中为DataGrid使用过滤机制。

这些问题很多,但是我很感激能帮助我进入WPF。

干杯

最高

1 个答案:

答案 0 :(得分:0)

有一种简单的方法。如果您将datagrid绑定到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}" />