我有readonly datagridview,我需要在某些特定情况下在双击行后启用一个单元格(使readonly = false并将焦点放在当前行中的特定单元格上(如输入它 - 光标应该开始闪烁)。
我有:
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
dataGridView1.Cells[3].ReadOnly = false;
}
但它不起作用。为什么呢?
答案 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