我是WPF的新手,后来用Win Forms和C#创建了应用程序。在这些应用程序中,我经常使用Datagridview来显示绑定到SQL数据库的数据。通过访问附加的Bindingsources.Filter属性,过滤DGV中的某些行非常简单:
myBindingSource.Filter =“ABCDEFG(< - Random Columnname)like”+ textBox.Text;
是否有类似的简单方法来过滤Datagrid中返回的结果,或者我被迫使用存储过程来获得我想要的结果。或者,如何在WPF中为DataGrid使用过滤机制。
这些问题很多,但是我很感激能帮助我进入WPF。
干杯
最高
答案 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}" />