2012-12-10 7 views

답변

3

예, CellValueChanged 이벤트 : 귀하의 의견에 따라 http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx

Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged 
     'do something 
    End Sub 

편집 : 예는 BeginEdit에 클래스 수준 변수에 현재 값을 저장하고 CellValueChanged 이벤트를 retreieve 수 :

Private cellValue As String = String.Empty 

Private Sub DataGridView1_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit 
    cellValue = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString 
End Sub 

Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged 
    MessageBox.Show("row index: " & e.RowIndex & Environment.NewLine & "old value: " & cellValue) 
End Sub 
+0

@Joel Coehoorn 고마워요. 작동하지 않았습니까. 또한 행 번호를 어떻게 얻을 수 있습니까? 또한 오래된 가치를 얻는 방법이 있습니까? –

+0

@ GeoPaul이 (가) 귀하의 코멘트대로 편집되었습니다. 내 이름은 Steve btw이고, Joel은 형식화 된 요정입니다. – Steve

1

그러나 CellValueChanged 이벤트는 모든 keydown 액션에 대한 메시지를 반환하지만 입력이 완료되지 않아도이 사실은 자극적입니다.

관련 문제