방법: Windows Forms DataGridView 컨트롤의 셀 변경 내용에 따라 사용자 지정 작업 수행

DataGridView 컨트롤에는 DataGridView 셀 상태의 변경 내용을 검색하는 데 사용할 수 있는 여러 이벤트가 있습니다. 가장 일반적으로 사용되는 두 가지는 CellValueChangedCellStateChanged 이벤트입니다.

DataGridView 셀 값의 변경 내용을 검색하려면

  • CellValueChanged 이벤트에 대한 처리기를 작성합니다.

    private void dataGridView1_CellValueChanged(object sender,
        DataGridViewCellEventArgs e)
    {
        string msg = String.Format(
            "Cell at row {0}, column {1} value changed",
            e.RowIndex, e.ColumnIndex);
        MessageBox.Show(msg, "Cell Value Changed");
    }
    
    Private Sub dataGridView1_CellValueChanged(ByVal sender As Object, _
        ByVal e As DataGridViewCellEventArgs) _
        Handles dataGridView1.CellValueChanged
    
        Dim msg As String = String.Format( _
            "Cell at row {0}, column {1} value changed", _
            e.RowIndex, e.ColumnIndex)
        MessageBox.Show(msg, "Cell Value Changed")
    
    End Sub
    

DataGridView 셀 상태의 변경 내용을 검색하려면

  • CellStateChanged 이벤트에 대한 처리기를 작성합니다.

    private void dataGridView1_CellStateChanged(object sender,
        DataGridViewCellStateChangedEventArgs e)
    {
        DataGridViewElementStates state = e.StateChanged;
        string msg = String.Format("Row {0}, Column {1}, {2}",
            e.Cell.RowIndex, e.Cell.ColumnIndex, e.StateChanged);
        MessageBox.Show(msg, "Cell State Changed");
    }
    
    Private Sub dataGridView1_CellStateChanged(ByVal sender As Object, _
        ByVal e As DataGridViewCellStateChangedEventArgs) _
        Handles dataGridView1.CellStateChanged
    
        Dim state As DataGridViewElementStates = e.StateChanged
        Dim msg As String = String.Format( _
            "Row {0}, Column {1}, {2}", _
            e.Cell.RowIndex, e.Cell.ColumnIndex, e.StateChanged)
        MessageBox.Show(msg, "Cell State Changed")
    
    End Sub
    

코드 컴파일

이 예제에는 다음 사항이 필요합니다.

  • dataGridView1이라는 DataGridView 컨트롤 C#의 경우 이벤트 처리기는 해당 이벤트에 연결되어야 합니다.

  • SystemSystem.Windows.Forms 어셈블리에 대한 참조

참고 항목