Поиск значения в DataGridView в столбце
Я хочу, чтобы пользователь мог искать число в столбце в DataGridView (dgv). DGV может содержать много записей. Каждая запись имеет номер проекта. Поэтому я хочу, чтобы пользователь мог искать номер проекта в столбце Номер проекта. У меня есть следующие столбцы: ProjectID (не отображается); Изображение (без заголовка); Номер проекта; Название проекта; Компания; Контакт.
Вот мой код:
private void btnSearch_Click(object sender, EventArgs e)
{
string searchValue = textBox1.Text;
int rowIndex = -1;
dgvProjects.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
try
{
foreach (DataGridViewRow row in dgvProjects.Rows)
{
if (row.Cells[row.Index].Value.ToString().Equals(searchValue))
{
rowIndex = row.Index;
dgvProjects.Rows[row.Index].Selected = true;
break;
}
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
}
Проблема № 1: Что он делает до сих пор: пользователь вводит номер проекта в TextBox1. Когда он нажимает кнопку, код выполняет поиск этой строки в строках, а при обнаружении номера проекта эта строка выбирается. Работает нормально, но только один раз. Когда я хочу найти другой номер проекта, ничего не происходит.
Проблема № 2: Я думаю, что это может быть сделано лучше, путем поиска значений только для столбца Имя проекта. Но как мне сделать это правильно?
Код, который я использовал для поиска, взят изэтот ответ