本文共 1279 字,大约阅读时间需要 4 分钟。
1 ) 无条件的限制行删除操作。
默认时, DataGridView 是允许用户进行行的删除操作的。如果设置 DataGridView 对象的 AllowUserToDeleteRows 属性为 False 时, 用户的行删除操作就被禁止了。 [VB.NET]
' 禁止 DataGridView1 的行删除操作。
DataGridView1.AllowUserToDeleteRows = False [C#]
// 禁止 DataGridView1 的行删除操作。
DataGridView1.AllowUserToDeleteRows = false ;
但是,通过 DataGridViewRowCollection.Remove 还是可以进行行的删除。
补足: 如果 DataGridView 绑定的是 DataView 的话,通过 DataView.AllowDelete 也可以控制行的删除。
2 ) 行删除时的条件判断处理。
用户在删除行的时候,将会引发 DataGridView.UserDeletingRow 事件。 在这个事件里,可以判断条件并取消删除操作。 [VB.NET]
' DataGridView1 的 UserDeletingRow 事件
Private Sub DataGridView1_UserDeletingRow( ByVal sender As Object , _
ByVal e As DataGridViewRowCancelEventArgs) _
Handles DataGridView1.UserDeletingRow
' 删除前的用户确认。
If MessageBox.Show(" 确认要删除该行数据吗? ", " 删除确认 ", _
MessageBoxButtons.OKCancel, MessageBoxIcon.Question) <> _
Windows.Forms.DialogResult.OK Then
' 如果不是 OK ,则取消。
e.Cancel = True
End If
End Sub [C#]
// DataGridView1 的 UserDeletingRow 事件
private void DataGridView1_UserDeletingRow(
object sender, DataGridViewRowCancelEventArgs e)
{
// 删除前的用户确认。
if (MessageBox.Show(" 确认要删除该行数据吗? ", " 删除确认 ",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Question) != DialogResult.OK)
{
// 如果不是 OK ,则取消。
e.Cancel = true ;
}
} 本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/201779,如需转载请自行联系原作者