본문 바로가기

VB.NET

[TIPS] DataGridView의 행을 유저가 삭제할 수 없게 하는 방법

반응형

무조건 유저가 모든 행을 삭제할 수 없게 하는 방법

일반적으로 DataGridView내의 행을 DELETE 키로 삭제할 수 있습니다만, DataGridView 컨트롤의 AllowUserToDeleteRows 프롭퍼티를 False와 하는 것으로써, 유저가 행을 삭제할 수 없게 됩니다.

 

'DataGridView1의 행을 유저가 삭제할 수 없게 하는 방법

DataGridView1.AllowUserToDeleteRows = False

 

다만 이와 같이 해도, DataGridViewRowCollection.Remove 메소드등에서 행을 삭제할 수 있습니다.

 

 

 


조건에 따라 유저가 행을 삭제할 수 없게 하는 방법


유저가 행을 삭제하려고 했을 때, DataGridView.UserDeletingRow 이벤트가 발생합니다.

여기서 삭제해도 상관없는가 판단하고, 조건에 의해 삭제처리를 취소할 수 있습니다.
행을 삭제하기 전에 유저에게 확인하는 예는 아래를 참조해주세요.

 

'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
        e.Cancel = True
    End If
End Sub

반응형