如何在datagridview中搜索具有相同名称的多个项目

时间:2013-12-06 21:55:41

标签: c#

目前,我可以搜索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; 
   }
}

1 个答案:

答案 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;
   }
}