C# 为数据网格视图的每列显示搜索框

C# 为数据网格视图的每列显示搜索框,c#,gridview,C#,Gridview,我想为c#winforms应用程序中的网格视图的每一列创建基于文本框的搜索功能。如何在显示主数据网格视图结果后启用此功能,以便根据每个列的文本筛选列 SqlConnection con = new Sql Connection(@""); SqlCommand cmd = new SqlCommand(); SqlDataAdapter da = new SqlDataAdapter(); DataTable dt = new DataTable(); try { cmd = new S

我想为c#
winforms
应用程序中的网格视图的每一列创建基于文本框的搜索功能。如何在显示主数据网格视图结果后启用此功能,以便根据每个列的文本筛选列

SqlConnection con = new Sql Connection(@"");
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
try
{
    cmd = new SqlCommand("sp_text_box", con);
    con.Open();
    cmd.Parameters.Add(new SqlParameter("@ex", combo_Box1.Text));
    cmd.CommandType = CommandType.StoredProcedure;
    da.SelectCommand = cmd;
    da.Fill(dt);
    dataGridView1.DataSource = dt;
}
catch (Exception x)
{
    MessageBox.Show(x.GetBaseException().ToString(), "Error",
           MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
    cmd.Dispose();
    con.Close();
}

首先,通过在公共范围内声明变量,使您的
dt
成为公共变量,然后尝试填充它:

 cmd = new Sql_Command("sp_text_box", con);
 con.Open();
 cmd_Parameters.Add(new Sql_Parameter("@ex", combo_Box1.Text));
 cmd.CommandType = CommandType.StoredProcedure;
 da.SelectCommand = cmd;
 da.Fill(dt);
然后过滤数据

dt.Select("Size >= 230 AND Sex = 'm'")
把它交给dgv

dataGridView1.DataSource = dt;

到目前为止你在做什么?如何填写dgv?提供一些代码我在sql server中编写了一个存储过程,然后将其加载到表单中并填充我的数据网格视图。用EF或ADO填充?你会用linq吗?当与搜索条件匹配时,是否要筛选出行或仅使某些行成为选中行?我在ADO中。我想根据每列的文本框筛选出行。加载数据后,网格视图数据也会显示每列的文本框。您是否检查了我的答案?