c#readonly DataGridView,带有一个启用的单元格

时间:2012-02-13 22:06:05

标签: c# winforms datagridview controls

我有readonly datagridview,我需要在某些特定情况下在双击行后启用一个单元格(使readonly = false并将焦点放在当前行中的特定单元格上(如输入它 - 光标应该开始闪烁)。

我有:

 private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
       dataGridView1.Cells[3].ReadOnly = false;
}

但它不起作用。为什么呢?

2 个答案:

答案 0 :(得分:2)

dataGridView1 ReadOnly属性应设置为false。 每行ReadOnly属性应设置为true。 然后,您可以在需要时将单元格ReadOnly设置为true。

//setting each row

    foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    row.ReadOnly = true;
                }

//setting on cell

    DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[3];
    dataGridView1.CurrentCell = cell;
    dataGridView1.CurrentCell.ReadOnly = false;                
    dataGridView1.BeginEdit(true); 

答案 1 :(得分:1)

尝试设置Datagridview的当前单元格并调用BeginEdit

 private void dataGridView1_DoubleClick(object sender, EventArgs e)
 {
    dataGridView1.Cells[3].ReadOnly = false;
    this.dataGridView1.CurrentCell = dataGridView1.Cells[3];
    dataGridView1.BeginEdit(true);
}

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.beginedit.aspx