C# 设置cell.ReadOnly无效
我有一个C# 设置cell.ReadOnly无效,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我有一个DataGridView,其中我想禁用设置为ReadOnly=true的一些单元格/行 为什么有时这样做没有效果,单元格/行仍然可以编辑 是否有其他可能阻止编辑特定行或单元格?是否可以阻止单击或输入单元格?您可以阻止使用事件进行编辑。如果不希望编辑单元格,可以取消编辑。例如,如果只希望第一列可编辑,可以执行以下操作: private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEven
DataGridView
,其中我想禁用设置为ReadOnly=true
的一些单元格/行
为什么有时这样做没有效果,单元格/行仍然可以编辑
是否有其他可能阻止编辑特定行或单元格?是否可以阻止单击或输入单元格?您可以阻止使用事件进行编辑。如果不希望编辑单元格,可以取消编辑。例如,如果只希望第一列可编辑,可以执行以下操作:
private void dataGridView1_CellBeginEdit(object sender,
DataGridViewCellCancelEventArgs e)
{
if (e.ColumnIndex != 0)
{
e.Cancel = true;
}
}
一种可能性是,如果设置DataGridView的ReadOnly属性(在代码中),则需要重置列的ReadOnly:
this.dgv.Columns[0].ReadOnly = true;
this.dgv.ReadOnly = false;
// Need to reset the column's ReadOnly state:
this.dgv.Columns[0].ReadOnly = true;
您也可以作为只读的尝试在将只读值设置为true后运行
datagridview.Refresh()