我有一个带有1列的datagridview,但有一些行。我想这样做:
当用户在TextBox中写入值时,如果该值已存在于datagridview中,我想选择包含该TextInput值的行
怎么做?
我将这样使用:
dataGridView1.CurrentCell = dataGridView1[0, index];
但我不知道如何使用TextBox值找到索引。
答案 0 :(得分:4)
您可以循环遍历行,直到找到与文本框的值匹配的行:
foreach (DataGridViewRow row in dataGridView1.Rows)
{
// Test if the first column of the current row equals
// the value in the text box
if ((string)row.Cells[0].Value == textBox1.Text)
{
// we have a match
row.Selected = true;
}
else
{
row.Selected = false;
}
}
答案 1 :(得分:1)
以这种方式尝试:
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (!dataGridView1.Rows[i].IsNewRow)
{
if (dataGridView1[0, i].Value.ToString() == textBox1.Text)
dataGridView1.Rows[i].Selected = true;
else
dataGridView1.Rows[i].Selected = false;
}
}
}