目前,我可以搜索datagridview第1列中的项目。例如:我搜索2011-01,包含文本的行会突出显示。但这不是datagridview中唯一的2011-01。如何搜索和突出显示包含此2011-01的所有行(可能会一次性发生,而不是一次全部发生)
这是我目前的代码:
String searchVal = textBox1.Text.Trim();
for (int i = 0; i < dataGridView2.RowCount; i++)
{
if (dataGridView2.Rows[i].Cells[0].Value != null && dataGridView2.Rows[i].Cells[0].Value.ToString().Contains(searchVal))
{
dataGridView2.FirstDisplayedScrollingRowIndex = i;
dataGridView2.Rows[i].Selected = true;
break;
}
}
答案 0 :(得分:3)
如果丢失break
第2部分:
只需在if语句中添加一些逻辑,这样只显示第一行中的一行,但选择其他行。如果有帮助,请告诉我
String searchVal = textBox1.Text.Trim();
bool firstDisplayed = false;
for (int i = 0; i < dataGridView2.RowCount; i++)
{
if (dataGridView2.Rows[i].Cells[0].Value != null && dataGridView2.Rows[i].Cells[0].Value.ToString().Contains(searchVal))
{
if (firstDisplayed == false)
{
dataGridView2.FirstDisplayedScrollingRowIndex = i;
firstDisplayed = true;
}
dataGridView2.Rows[i].Selected = true;
}
}