Поиск значения в 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: Я думаю, что это может быть сделано лучше, путем поиска значений только для столбца Имя проекта. Но как мне сделать это правильно?

Код, который я использовал для поиска, взят изэтот ответ

Ответы на вопрос(6)

Ваш ответ на вопрос