Datagridview:如何在编辑模式下设置单元格?

我需要以编程方式在编辑模式下设置单元格。我知道将那个单元格设置为CurrentCell然后调用方法BeginEdit(bool),它应该发生,但就我而言,事实并非如此。

我真的很想用带有几列的DGV,用户只能选择并编辑前两列。其他列已经是只读的,但是用户可以选择它们,而这正是我所不想要的。

所以我在想,告诉用户每次在单元格上完成写完时TAB,然后选择第二个单元格,然后再次选择并选择并开始编辑下一行的第一个单元格…

我怎样才能做到这一点?

回答:

设置CurrentCell,然后致电BeginEdit(true)对我来说效果很好。

以下代码显示了用于将KeyDown单元格设置为可编辑的事件的eventHandler 。

我的示例仅实现了所需的按键替代之一,但从理论上讲,其他替代也应如此。(而且我一直将[0] [0]单元格设置为可编辑,但其他任何单元格都可以使用)

    private void dataGridView1_KeyDown(object sender, KeyEventArgs e)

{

if (e.KeyCode == Keys.Tab && dataGridView1.CurrentCell.ColumnIndex == 1)

{

e.Handled = true;

DataGridViewCell cell = dataGridView1.Rows[0].Cells[0];

dataGridView1.CurrentCell = cell;

dataGridView1.BeginEdit(true);

}

}

如果您以前没有找到它,DataGridView

FAQ是一个很棒的资源,由程序经理为DataGridView控件编写,其中涵盖了您可能想使用该控件做的大部分事情。

以上是 Datagridview:如何在编辑模式下设置单元格? 的全部内容, 来源链接: utcz.com/qa/416324.html

回到顶部