C# 用C语言过滤datagridview中的数据

C# 用C语言过滤datagridview中的数据,c#,filter,C#,Filter,在我的代码中,我有一个按钮,用于在datagridview中筛选excel文件数据。我想在单击“其他”按钮时加载过滤后的数据,但“加载”按钮会显示excel文件中的所有数据。单击“加载”按钮时,我应该如何在datagridview中加载并仅显示过滤后的数据 我的意思是,当我单击“仅筛选日期到日期”按钮时,它是有效的,但当我单击“加载”按钮时,它将显示所有数据。单击“加载”按钮时如何保留过滤后的数据 代码如下: //===============================筛选截止日期====

在我的代码中,我有一个按钮,用于在datagridview中筛选excel文件数据。我想在单击“其他”按钮时加载过滤后的数据,但“加载”按钮会显示excel文件中的所有数据。单击“加载”按钮时,我应该如何在datagridview中加载并仅显示过滤后的数据

我的意思是,当我单击“仅筛选日期到日期”按钮时,它是有效的,但当我单击“加载”按钮时,它将显示所有数据。单击“加载”按钮时如何保留过滤后的数据

代码如下:

//===============================筛选截止日期======================= 私有无效按钮3\u单击对象发送者,事件参数e { 尝试 { DataTable=新的DataTable; System.Windows.Forms.ComboBox.ObjectCollection items=下拉列表\u sheet.items; 项目中的foreach var项目 { MyClass MyClass=MyClassitem; string constr=string.Format Provider=Microsoft.ACE.OLEDB.12.0;数据源= +myClass.Path +;扩展属性=\Excel 12.0;HDR=是;\; OLEDB连接con=新的OLEDB连接con; OleDbCommand命令=新建OleDbCommandSelect*自[+myClass.TableName+],con; OleDbDataAdapter da=新的OleDbDataAdapter命令; DataTable dt=新的DataTable; da.Filldt; dataTable.Mergedt; } 字符串过滤器=基准>=' +startDate.Value.ToString YYY-MM-dd
+“和Datum我不知道这对您来说是否更容易,但为什么不使用AdvancedDataGridView?

您需要通过断开数据源,然后重新连接数据源,强制刷新dataGridView1上的数据,如下所示:

private void Button3_Click(object sender, EventArgs e)
{
    try
    {
        /* ... */

        dataGridView1.DataSource = null;
        dataGridView1.DataSource = filteredRows.CopyToDataTable();
    }
    catch (Exception ex)
    {
        /* ... */
    }
}