繁体   English   中英

如何阻止删除只读DataGridView上的行?

[英]How to block removing rows on read-only DataGridView?

甚至为什么我可以删除只读DataGridView上的行?

我可以将Enabled设置为false但是我甚至无法选择,我真的不需要这个灰色蒙版。

AllowUserToDeleteRows属性设置为false

执行此操作的最佳位置是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;
}

ReadOnly属性仅确定是否可以编辑单元格。 它对用户删除行的能力没有影响。 如果您不想禁用该控件,则可以通过将RowHeadersVisible属性设置为false来有效地防止行删除。

编辑:请参阅@Dmitry的回答: AllowUserToDeleteRows

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM