【发布时间】:2018-01-13 17:26:44
【问题描述】:
我需要帮助解决令我困惑的代码:我是 C# 初学者,我正在研究一些要点并需要帮助。在项目中,我有一个简单的表单和 SQL Server 中链接表的数据源。在这种形式中,我有一个网格和三个文本框:网格和两个文本框绑定到同一个数据源;另一个文本框是输入搜索
我的目标是让用户在文本框中键入搜索并通过 LINQ 在 bindingsource 中进行过滤。按照代码:
private void Search()
{
if (string.IsNullOrEmpty(toolStripTextBox1.Text))
{
var query = from v in coletasDataSet.UF
select v;
this.ufBindingSource.DataSource = query.ToList();
}
else
{
string pesquisa = toolStripTextBox1.Text.ToLower().Trim();
var query = from v in coletasDataSet.UF
where v.UF.ToLower().Contains(pesquisa)
select v;
this.ufBindingSource.DataSource = query.ToList();
}
}
问题是当我搜索网格时,它没有显示任何数据。它包含 2 列(UF 和 ID_UF)和一个空行。我已经调试并检查了查询结果,它是正确的。
关于可能是什么问题的任何建议?详细信息:我无法将 query.ToList () 传递给网格,因为它的绑定文本框会显示一组数据,而网格会显示另一组数据。
【问题讨论】:
-
你可以尝试调用
resetBinding方法刷新网格:ufBindingSource.ResetBindings(false);
标签: c# linq datagridview