Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用多个文本框过滤DataGridView?_C#_Sql_Winforms - Fatal编程技术网

C# 用多个文本框过滤DataGridView?

C# 用多个文本框过滤DataGridView?,c#,sql,winforms,C#,Sql,Winforms,这就是它看起来的样子。学生查找和课程查找搜索两个不同的数据库。我试图显示左侧文本框中的搜索结果。下面是数据库的外观 此代码在用户单击提交时运行。我从另一个帖子中检索到它,但没有用: BindingSource bs = new BindingSource(); bs.DataSource = dgvAdvisor.DataSource; bs.Filter = "First_Name like '%" + lblFirstName.Text + "%' AND

这就是它看起来的样子。学生查找和课程查找搜索两个不同的数据库。我试图显示左侧文本框中的搜索结果。下面是数据库的外观

此代码在用户单击提交时运行。我从另一个帖子中检索到它,但没有用:

BindingSource bs = new BindingSource();
        bs.DataSource = dgvAdvisor.DataSource;
        bs.Filter = "First_Name like '%" + lblFirstName.Text + "%' AND 
        Username like '%" + lblUsername.Text + "%'";
        dgvAdvisor.DataSource = bs;
第3行和第4行是一行,堆栈溢出似乎将其切碎


有什么建议吗?

根据您提供的代码,看起来您正在使用标签文本过滤数据源,并且希望使用文本框文本过滤数据源

假设关联的
TextBox
控件是
txtFirstName
txtextername
, 尝试按如下方式修改代码

    BindingSource bs = new BindingSource();
    bs.DataSource = GetDataTable(); //This method should return whole data table.
    bs.Filter = "First_Name like '%" + txtFirstName.Text + "%' AND 
    Username like '%" + txtUserName.Text + "%'";
    dgvAdvisor.DataSource = bs;

您在使用此代码时面临的具体问题是什么?而且,您正在尝试使名字看起来像
lblFirstName
的文本,
lblFirstName
TextBox
还是
Label
?@Amit问题是我无法从文本框中筛选搜索结果,但现在我意识到我甚至没有用表填充datagridview。那么我的第二条评论呢,
lblFirstName
是Label还是TextBox。您说过您的数据网格视图中没有填充表,这是因为您的数据源中只有这个问题吗?一个懒散的方法是通过sql查询过滤它,而不是使用C代码。只需在按钮或事件中插入查询。我觉得这肯定是解决方法,但我现在意识到我甚至没有将DataGridView链接到我的表。我觉得我使用BindingSource不正确。谢谢您的帮助。@tryingtotryhard是否先将
BindingSource
DataSouce
绑定到
DataTable
?在你的代码中,我没有看到那部分。假设GetDataTable方法返回您所讨论的数据表,那么它应该看起来像
bs.DataSource=GetDataTable()
。我没有回答accordingly@tryingtotryhard也许能帮你更多。