如何在datagridview中将焦点设置到特定单元格?

时间:2013-09-02 06:48:58

标签: c# winforms

我使用以下代码专注于DataGridView中的特定单元格。

private void dgOrderDetails_CellValueChanged(object sender, DataGridViewCellEventArgs e) {
   if (dgOrderDetails.Columns[e.ColumnIndex].Name.ToString().ToUpper() == "BILLINGMONT") {
     dgOrderDetails.Focus();
     dgOrderDetails.CurrentCell = dgOrderDetails[dgOrderDetails.CurrentCell.ColumnIndex + 1, dgOrderDetails.CurrentCell.RowIndex];
   }
}

但是我的数据网格光标没有绑定到我想要的位置。

4 个答案:

答案 0 :(得分:7)

试试这个。

dataGridView1.CurrentCell = desiredCell;
dataGridView1.BeginEdit(true);

添加所需的单元格。

答案 1 :(得分:1)

datagridview.Focus();
datagridview.CurrentCell = datagridview.Rows[1].Cells[2];

答案 2 :(得分:0)

如果你想要一个接一个地去一个单元格,例如在当前行的单元格[1]之后转到单元格[5]。 我有datagridview的这个问题,但我找到了一个很好的方法: 在“CellLeave”事件中写下此代码:

if (DatagridView.CurrentCell == DatagridView.CurrentRow.Cells[0])
            {
                SendKeys.Send("{TAB}");
                SendKeys.Send("{TAB}");
            }

我在单元格[0]

之后转到单元格[3]

我希望它能帮助你

答案 3 :(得分:-1)

grdUser.CurrentCell = grdUser.Rows[e.RowIndex].Cells[2];

grdUser.CurrentCell.Selected = true;

e.Cancel = true;