【发布时间】:2011-08-08 22:13:17
【问题描述】:
试图筛选谷歌搜索结果;没运气。我想要做的是,给定 TextBox 中的一些文本:在我的 DataGridView 的任何列中搜索至少部分匹配,并让控件选择第一行(将其显示为第一行并突出显示)它遇到的部分匹配。
这是我对 DataGridView 的数据源的声明以及列的组织方式:
var queryData = from va in xdoc.Descendants("language")
select new
{
StringID = va.Parent.Parent.Attribute("id").Value,
Language = va.Attribute("name").Value,
LanguageData = va.Element("value").Value,
};
var organizedData = from x in queryData
group x by x.StringID into xg
select new
{
StringID = xg.Key,
English = xg.SingleOrDefault(x => x.Language == "ENGLISH_US").LanguageData,
Custom = xg.SingleOrDefault(x => x.Language == languageBox.SelectedItem.ToString()).LanguageData,
};
mainView.DataSource = organizedData.ToList();
这里是处理点击“搜索”按钮的函数的当前定义:
private void searchButton_Click(object sender, EventArgs e)
{
int currentIndex = mainView.CurrentRow.Index;
if (searchBox.Text.Length == 0)
{
mainView.CurrentCell = mainView[0,0];
mainView.Focus();
return;
}
}
【问题讨论】:
-
Filtering this Linq query 的可能重复项
-
尝试在第一时间正确表达您的问题。花一些时间在上面。如果没有,请编辑它并且不要转发。
-
谢谢 Henk,但这是两个不同的问题。请尝试更仔细地检查所提出的问题,而不是简单地假设问题中的重复内容表示重复的问题。
-
再说一次,我大声笑,因为这两个问题即使粗略一看也有明显的不同。
标签: c# .net linq datagridview