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也许能帮你更多。