ユーザーが DataGridView (dgv) の列で数値を検索できるようにしたい。dgv は多くのレコードを保持できます。各レコードにはプロジェクト番号があります。そのため、ユーザーがプロジェクト番号の列でプロジェクト番号を検索できるようにしたいと考えています。私が持っている列は次のとおりです。画像 (ヘッダーテキストなし); プロジェクト番号; プロジェクト名; 会社; コンタクト。
これが私のコードです:
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:これは、プロジェクト名列の値のみを検索することで、より良い方法で実行できると思います。しかし、どうすればこれを適切に行うことができますか?
検索に使用したコードは、この回答からのものです