将焦点移动到DataGridView单元格 - 根据某个值查找单元格

时间:2016-11-19 12:48:02

标签: c# winforms datagridview

如何将焦点移动到单元格并根据文本框值(例如文本框值)突出显示它。

以下代码是根据单元格数量使用的,但我希望在文本框中选择输入的值。

dgpay.CurrentCell = dgpay.Rows[2].Cells[0];
dgpay.Rows[2].Selected = true; 

1 个答案:

答案 0 :(得分:2)

您需要首先设置CUrrentCell,然后通过传递true作为参数来调用BeginEdit,以将当前单元格置于编辑模式并选择所有单元格的内容。例如:

this.dataGridView1.CurrentCell = this.dataGridView1.Rows[2].Cells[0];
this.dataGridView1.BeginEdit(true);

注意:例如,如果您想根据某个值找到DataGridView中的第一个单元格并选择单元格并开始编辑,则可以使用以下代码:

var cell = dataGridView1.Rows.Cast<DataGridViewRow>()
                .SelectMany(x => x.Cells.Cast<DataGridViewCell>())
                .Where(x => string.Format("{0}", x.FormattedValue) == textBox1.Text)
                .FirstOrDefault();
if (cell != null)
{
    this.dataGridView1.CurrentCell = cell;
    this.dataGridView1.BeginEdit(true);
}