带有一个已启用单元格的c#只读DataGridView

本文关键字:只读 DataGridView 单元格 有一个 启用 | 更新日期: 2023-09-27 18:24:16

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

我有:

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

但它不起作用。为什么?

带有一个已启用单元格的c#只读DataGridView

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); 

尝试设置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