4
嗨
我有一个绑定到XML源的DataGridView。DataGridView单元格编辑
- 我在编辑单元格时遇到了问题。单击单元格变为选中状态,编辑时默认会覆盖它。我的要求说,它应该准备好进行编辑,而不是点击时选择。
- 我想每当按下'tab'键时动态生成一行。
我该如何做到这一点?
嗨
我有一个绑定到XML源的DataGridView。DataGridView单元格编辑
我该如何做到这一点?
关于问题1)
你可以试试这个:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
this.dataGridView1.CellEnter += new DataGridViewCellEventHandler(myDataGrid_CellEnter);
}
void myDataGrid_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if ((this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewTextBoxColumn) ||
(this.dataGridView1.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn))
{
this.dataGridView1.BeginEdit(false);
}
}
如果我正确理解你想要的,因为它被点击的细胞尽快进入编辑模式。这可以通过将DataGridView的EditMode
属性设置为EditOnEnter
来实现。 这使得但是选择在编辑控件中的文本,所以如果你不想,你可以使用:
dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
dataGridView1.BeginEdit(false);
}
你能解释一下你的动态添加的行是什么意思?
这个原因为每次用户点击内容时为'CellEnter'添加一个新的事件处理程序!为什么不按照'JonC'的建议简单地调用'dataGridView1.BeginEdit(false)', –