次の方法で共有


方法 : Windows フォーム DataGridView コントロールのセルの変更に基づいてカスタム動作を実行する

更新 : 2007 年 11 月

DataGridView コントロールには多数のイベントがあり、これらを使用して DataGridView セルの状態の変更を検出できます。最もよく使用されるイベントは CellValueChanged イベントと CellStateChanged イベントの 2 つです。

DataGridView セルの値の変更を検出するには

  • CellValueChanged イベントのハンドラを記述します。

    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
    
    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");
    }
    

DataGridView セルの状態の変更を検出するには

  • CellStateChanged イベントのハンドラを記述します。

    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
    
    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");
    }
    

コードのコンパイル方法

この例で必要な要素は次のとおりです。

  • dataGridView1 という名前の DataGridView コントロール。C# の場合は、イベント ハンドラを対応するイベントに接続しておく必要があります。

  • System アセンブリおよび System.Windows.Forms アセンブリへの参照。

参照

処理手順

チュートリアル : Windows フォーム DataGridView コントロールのデータの妥当性検査

参照

DataGridView

DataGridView.CellValueChanged

DataGridView.CellStateChanged

その他の技術情報

Windows フォーム DataGridView コントロールのセル、行、および列を使用したプログラミング