C# 使用组合框和按钮筛选datagridview中的数据

C# 使用组合框和按钮筛选datagridview中的数据,c#,winforms,datagridview,combobox,filtering,C#,Winforms,Datagridview,Combobox,Filtering,我想使用组合框和按钮过滤datagridview中的数据。我已经搜索了几个小时,尝试了一些代码,但总是出错 如果有人能告诉我如何编写代码的最好和简单的方法,我将不胜感激 这是表格的图片 我想在datagridview中过滤数据,方法是选择年份级别或部门名称,然后单击按钮Show。这样,留在datagridview中的数据应该仅是具有所选年份级别或节名的数据。 我正在尝试使用这个代码,但它既没有给我结果,也没有给我错误 private void btnShow_Click(object send

我想使用组合框和按钮过滤datagridview中的数据。我已经搜索了几个小时,尝试了一些代码,但总是出错

如果有人能告诉我如何编写代码的最好和简单的方法,我将不胜感激

这是表格的图片

我想在datagridview中过滤数据,方法是选择年份级别或部门名称,然后单击按钮
Show
。这样,留在datagridview中的数据应该仅是具有所选年份级别或节名的数据。 我正在尝试使用这个代码,但它既没有给我结果,也没有给我错误

private void btnShow_Click(object sender, EventArgs e)
{
    BindingSource show = new BindingSource();
    datagridview1.DataSource = show;
    show.Filter = "ColLevel ='"+cmbYearLevelF.Text+"' OR ColSectionNumber ='"+cmbSectionNameF.Text+"'";
}

您只需在现有BindingSource上设置筛选器,如下所示:

existingBindingSource.Filter = "ColLevel = '2'";
首先硬编码一个简单的值,以确保它正常工作


“现有”是指当前附加到DataGridView的BindingSource。

它不工作。可能在声明绑定源代码时缺少了一些东西,但我不知道它是什么。BindingSource对象应该已经存在……否则您将看不到任何数据。应该已经声明并实例化了它。必须首先设置BindingSource的数据源。要进行筛选,字符串用撇号括起来,数字用撇号括起来。因此,如果ColLevel是int,则使用“ColLevel=“+cmbYearLevelF.Text”等。图片中的表单-网格是如何填充我们看到的数据的?@IvanStoev有一个创建按钮,它调用另一个带有文本字段的表单来填充数据并将数据放入DataGridView换句话说,您最初没有某种数据源绑定到网格?