DataGridView.CellValueNeeded Evento

Definizione

Si verifica quando la proprietà VirtualMode di DataGridView è true e, per poter formattare e visualizzare una cella, il controllo DataGridView richiede il valore della cella.

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

Tipo evento

Esempio

Nell'esempio di codice seguente viene gestito l'evento CellValueNeeded per popolare le celle con numeri interi positivi. Questo esempio fa parte di un esempio più ampio disponibile nell'argomento VirtualMode di riferimento.

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

Commenti

Usare questo evento in modalità virtuale per popolare le celle con dati da un archivio dati personalizzato senza che le righe diventino non condivise. Per altre informazioni sulla condivisione delle righe, vedere Procedure consigliate per il ridimensionamento del controllo DataGridView Windows Forms. Per altre informazioni sulla modalità virtuale, vedere Modalità virtuale nel controllo DataGridView Windows Forms.

Per aggiungere valori specificati dall'utente all'archivio dati personalizzato, gestire l'evento CellValuePushed .

Per altre informazioni su come gestire gli eventi, vedere la gestione e generazione di eventi.

Si applica a

Prodotto Versioni
.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

Vedi anche