我有一個DataGridView
,我想要禁用一些單元格/行與設置ReadOnly = true
。設置cell.ReadOnly沒有效果
什麼可能是有時這不起作用,單元格/行仍然可編輯的原因?
是否有其他的可能性來防止編輯特定的行或單元?是否有可能防止點擊或進入單元格?
我有一個DataGridView
,我想要禁用一些單元格/行與設置ReadOnly = true
。設置cell.ReadOnly沒有效果
什麼可能是有時這不起作用,單元格/行仍然可編輯的原因?
是否有其他的可能性來防止編輯特定的行或單元?是否有可能防止點擊或進入單元格?
您可以阻止使用CellBeginEdit事件進行編輯。如果您不希望單元格被編輯,您可以取消編輯。例如,如果你只是想在第一列可編輯,你可以這樣做:
private void dataGridView1_CellBeginEdit(object sender,
DataGridViewCellCancelEventArgs e)
{
if (e.ColumnIndex != 0)
{
e.Cancel = true;
}
}
一種可能性是,如果你設置了DataGridView中的只讀屬性(代碼),然後列只讀必須復位:
this.dgv.Columns[0].ReadOnly = true;
this.dgv.ReadOnly = false;
// Need to reset the column's ReadOnly state:
this.dgv.Columns[0].ReadOnly = true;
你也可以set whole rows爲只讀
儘量只讀值設置爲true後運行datagridview.Refresh()
。