DataGridView单元格编辑

时间:2011-02-22 14:48:15

标签: c# .net winforms datagridview

您好
我有一个绑定到XML源的DataGridView。

  1. 我在编辑单元格时遇到问题。单击时单元格将被选中,编辑时,默认情况下会覆盖它。我的要求是它应该准备好进行编辑,而不是在点击时选择。
  2. 每当按下“tab”键时,我想动态生成一行。
  3. 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:4)

如果我理解正确,您希望单元格在单击后立即进入编辑模式。这可以通过将DataGridView的EditMode属性设置为EditOnEnter来实现。 这样就会选择编辑控件中的文本,因此如果您不希望使用:

dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
        dataGridView1.BeginEdit(false);
}

你能通过动态添加行来解释你的意思吗?

答案 1 :(得分:2)

关于问题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);
            }
        }