C# 如何阻止删除只读DataGridView上的行?
甚至为什么我可以删除只读DataGridView上的行C# 如何阻止删除只读DataGridView上的行?,c#,.net,winforms,C#,.net,Winforms,甚至为什么我可以删除只读DataGridView上的行 我可以将Enabled设置为false,但是我甚至不能选择,我也不需要这个灰色遮罩。将AllowUserToDeleteRows属性设置为false属性仅确定是否可以编辑单元格。它对用户删除行的能力没有影响。如果不想禁用该控件,可以通过将RowHeadersVisible属性设置为false来有效防止行删除 编辑:请参见@Dmitry的回答:AllowUserToDeleteRows执行此操作的最佳位置是datagridview的ReadO
我可以将Enabled设置为false,但是我甚至不能选择,我也不需要这个灰色遮罩。将
AllowUserToDeleteRows
属性设置为false属性仅确定是否可以编辑单元格。它对用户删除行的能力没有影响。如果不想禁用该控件,可以通过将RowHeadersVisible
属性设置为false来有效防止行删除
编辑:请参见@Dmitry的回答:AllowUserToDeleteRows
执行此操作的最佳位置是datagridview的ReadOnlyChanged事件。别忘了也要禁用添加新行
Private Sub MyDataGridView_ReadOnlyChanged(sender As System.Object, e As System.EventArgs) Handles MyDataGridView.ReadOnlyChanged
Me.MyDataGridView.AllowUserToDeleteRows = Not Me.MyDataGridView.ReadOnly
Me.MyDataGridView.AllowUserToAddRows = Not Me.MyDataGridView.ReadOnly
End Sub
您可以处理事件
private void dataGrid_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
if (e.Row.ReadOnly) e.Cancel = true;
}
你的问题似乎不完整,你想实现什么?