Auf Englisch lesen

Freigeben über


DataGridView.CellValueNeeded Ereignis

Definition

Tritt ein, wenn die VirtualMode-Eigenschaft des DataGridView-Steuerelements true ist und die DataGridView einen Wert für eine Zelle erfordert, um die Zelle zu formatieren und anzuzeigen.

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

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird das CellValueNeeded Ereignis verarbeitet, um Zellen mit positiven ganzen Zahlen aufzufüllen. Dieses Beispiel ist Teil eines größeren Beispiels, das VirtualMode im Referenzthema verfügbar ist.

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>();

Hinweise

Verwenden Sie dieses Ereignis im virtuellen Modus, um Zellen mit Daten aus einem benutzerdefinierten Datenspeicher aufzufüllen, ohne dass Zeilen aufgehoben werden. Weitere Informationen zum Freigeben von Zeilen finden Sie unter Empfohlene Vorgehensweisen für das Skalieren des DataGridView-Steuerelements in Windows Forms. Weitere Informationen zum virtuellen Modus finden Sie unter Virtueller Modus im DataGridView-Steuerelement in Windows Forms.

Um Ihrem benutzerdefinierten Datenspeicher benutzerdefinierte Werte hinzuzufügen, behandeln Sie das CellValuePushed Ereignis.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Gilt für:

Produkt Versionen
.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

Weitere Informationen