英語で読む

次の方法で共有


DataGridView.CellValuePushed イベント

定義

DataGridView コントロールの VirtualMode プロパティが true で、セルの値が変更され、基になるデータ ソースに格納する必要がある場合に発生します。

C#
public event System.Windows.Forms.DataGridViewCellValueEventHandler CellValuePushed;
C#
public event System.Windows.Forms.DataGridViewCellValueEventHandler? CellValuePushed;

イベントの種類

次のコード例では、 イベントを CellValuePushed 処理して、更新プログラムと新しいエントリをデータ ストア オブジェクトに格納します。 この例は、リファレンス トピックで使用できる大きな例の VirtualMode 一部です。

C#
#region "data store maintance"
const int initialValue = -1;

private void dataGridView1_CellValueNeeded(object sender,
    DataGridViewCellValueEventArgs e)
{
    if (store.ContainsKey(e.RowIndex))
    {
        // Use the store if the e value has been modified 
        // and stored.            
        e.Value = store[e.RowIndex];
    }
    else if (newRowNeeded && e.RowIndex == numberOfRows)
    {
        if (dataGridView1.IsCurrentCellInEditMode)
        {
            e.Value = initialValue;
        }
        else
        {
            // Show a blank value if the cursor is just resting
            // on the last row.
            e.Value = String.Empty;
        }
    }
    else
    {
        e.Value = e.RowIndex;
    }
}

private void dataGridView1_CellValuePushed(object sender,
    DataGridViewCellValueEventArgs e)
{
    store.Add(e.RowIndex, int.Parse(e.Value.ToString()));
}
#endregion

private Dictionary<int, int> store = new Dictionary<int, int>();

注釈

このイベントを仮想モードで使用して、ユーザー指定のデータを使用してカスタム データ ストアを更新します。 イベントを CellValueNeeded 処理して、コントロールに表示するデータ ストアから値を取得します。

仮想モードの詳細については、「Windows フォーム DataGridView コントロールでの仮想モード」を参照してください。

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

こちらもご覧ください