WPF通过文本框过滤数据网格

问题描述 投票:0回答:1
c# wpf filter datagrid
1个回答
1
投票

您可以将 DataView

RowFilter
属性设置为过滤表达式。这就是过滤
DataTable
的方式。

这是一个基本示例,应该可以让您有所了解:

public partial class MainWindow : Window
{
    DataTable _dataTable;
    public MainWindow()
    {
        InitializeComponent();
        _dataTable = new DataTable();
        _dataTable.Columns.Add(new DataColumn("Name"));
        _dataTable.Columns.Add(new DataColumn("Id"));
        _dataTable.Rows.Add("First", "1");
        _dataTable.Rows.Add("Second", "2");
        myGrid.ItemsSource = _dataTable.DefaultView;
    }

    private void txtSearch_TextChanged(object sender, TextChangedEventArgs e)
    {
        string filter = txtSearch.Text;
        if (string.IsNullOrEmpty(filter))
            _dataTable.DefaultView.RowFilter = null;
        else
            _dataTable.DefaultView.RowFilter = string.Format("Name Like '%{0}%' OR Id Like '%{0}%'", filter);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.