2013-06-05 1 views
0

이제 EventArgs를 종료 할 때 EndEdit을 사용하지만 EndEdit을 사용할 때 양식을 닫을 수 없습니다. 그 이유를 아는 사람이 있습니까?DataGridView EndEdit VB

Private Sub dgv_Leave(ByVal sender As System.Object, 
         ByVal e As System.EventArgs) Handles dgv.Leave 
      Me.dgv.EndEdit() 
    End Sub 

답변

0

EndEdit 문제를 해결하기위한 해결책을 찾았습니다. 그런 다음 올바르게 편집을 끝내고 양식을 성공적으로 닫을 수 있습니다.

http://dobon.net/vb/bbs/log3-35/21499.html

Public Class Form4_4 
    Inherits Form 

    Dim WithEvents m_dgv As New DataGridView() 
    Dim WithEvents m_editingcontrol As Control 

    Private Sub Form4_4_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load 
     m_dgv.Dock = DockStyle.Fill 
     m_dgv.RowCount = 10 
     m_dgv.ColumnCount = 3 
     Me.Controls.Add(m_dgv) 
    End Sub 

    Private Sub m_dgv1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles m_dgv.CellEndEdit 
     Me.m_editingcontrol = Nothing ' ← Cancel EventHandler Here 
     Console.WriteLine("CellEndEdit") 
    End Sub 

    Private Sub m_dgv_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles m_dgv.EditingControlShowing 
     Console.WriteLine("EditingControlShowing") 
     Me.m_editingcontrol = e.Control ' ← Register EventHandler Here 
    End Sub 

    Private Sub m_editingcontrol_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles m_editingcontrol.PreviewKeyDown 
     If e.KeyCode = Keys.Return Then 
      Me.m_dgv.EndEdit() 
     End If 
    End Sub 
End Class 
0

이 될 수 인해 일부 유효성 검사 오류에있는 DataGridView에있을 수 :

다음은 내 휴가 기능입니다. dataGridView.EndEdit()이 성공했는지 확인해야하며 셀 및 RowValidating 이벤트가있는 경우이를 확인해야 할 수도 있습니다.

관련 문제