在TextBox值C#之后选择一个DataGridView行

时间:2011-09-04 08:52:19

标签: c# datagridview

我有一个带有1列的datagridview,但有一些行。我想这样做:
当用户在TextBox中写入值时,如果该值已存在于datagridview中,我想选择包含该TextInput值的行

怎么做?
我将这样使用:

dataGridView1.CurrentCell = dataGridView1[0, index];

但我不知道如何使用TextBox值找到索引。

2 个答案:

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