1

我对 WPF 相当陌生,并且已经使用 Win Forms 和 C# 创建了应用程序。在这些应用程序中,我经常使用 Datagridview 来显示绑定到 SQL 数据库的数据。通过访问附加的 Bindingsources.Filter 属性,过滤 DGV 中的某些行非常容易,例如:

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+"'";

xml

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