在 C# 中,DataGridView 控件和 BindingSource 组件可以很方便地实现数据绑定和筛选功能。下面是一个简单的示例,演示如何使用 BindingSource 组件和 Filter 属性来筛选 DataGridView 中的数据。
首先,在窗体中添加 DataGridView 和 BindingSource 控件,并将 DataGridView 的 DataSource 属性设置为 BindingSource。然后,将数据源绑定到 BindingSource 控件,例如:
List<MyData> dataList = GetDataFromDatabase(); // 从数据库获取数据
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = dataList;
dataGridView.DataSource = bindingSource;
接下来,您可以使用 BindingSource 的 Filter 属性来筛选数据。例如,假设您想要显示所有 "TypeA" 类型的数据,可以这样设置 Filter 属性:
bindingSource.Filter = "Type = 'TypeA'";
上述代码将筛选 BindingSource 中的数据,只显示 Type 字段值为 "TypeA" 的记录。DataGridView 将自动更新并显示经过筛选的数据。
如果您想要清除筛选条件并显示所有数据,可以将 Filter 属性设置为空字符串或 null 值,例如:
bindingSource.Filter = "";
上述代码将清除 BindingSource 的筛选条件,DataGridView 将重新显示所有数据。
请注意,Filter 属性的值应该是一个有效的 SQL WHERE 子句,例如 "Type = 'TypeA'" 或 "Price > 100"。您也可以使用 AND、OR 和其他运算符来组合多个条件。
希望这个示例能够帮助您实现在 C# 中使用 DataGridView 和 BindingSource 控件进行筛选功能。