你好
我有一个绑定到XML源的DataGridView。
- 我在编辑单元格时遇到了问题。当单击单元格时,它会被选中,并且默认情况下进行编辑时,我们会覆盖它。我的要求是,在单击时应该准备好进行编辑,并且不被选中。
- 我想在按下“tab”键时动态生成一行。
我该如何实现这个功能呢?
你好
我有一个绑定到XML源的DataGridView。
我该如何实现这个功能呢?
如果我理解正确,您希望单元格在被单击时立即进入编辑模式。这可以通过将 DataGridView 的 EditMode 属性设置为 EditOnEnter 来实现。
但是,这样会导致编辑控件中的文本被选定,如果您不想这样,可以使用以下代码:
dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
dataGridView1.BeginEdit(false);
}
您能解释一下动态添加行是什么意思吗?
关于问题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);
}
}
dataGridView1.BeginEdit(false)
,而每次用户点击内容时都会添加一个新的CellEnter
事件处理程序! - S.Serpooshan