DataGridViewCellValueEventHandler Delegado

Definición

Representa el método que controlará el CellValueNeeded evento o CellValuePushed evento de .DataGridView

public delegate void DataGridViewCellValueEventHandler(System::Object ^ sender, DataGridViewCellValueEventArgs ^ e);
public delegate void DataGridViewCellValueEventHandler(object sender, DataGridViewCellValueEventArgs e);
type DataGridViewCellValueEventHandler = delegate of obj * DataGridViewCellValueEventArgs -> unit
Public Delegate Sub DataGridViewCellValueEventHandler(sender As Object, e As DataGridViewCellValueEventArgs)

Parámetros

sender
Object

Origen del evento.

e
DataGridViewCellValueEventArgs

que DataGridViewCellValueEventArgs contiene los datos del evento.

Ejemplos

En el ejemplo de código siguiente se controla el CellValuePushed evento para almacenar actualizaciones y nuevas entradas en un objeto de almacén de datos. Este ejemplo forma parte de un ejemplo más grande disponible en el tema de DataGridView.VirtualMode referencia.

#pragma region Data store maintance

    void VirtualConnector::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 = gcnew Int32(store->default[e->RowIndex]); 
        }
        else if (newRowNeeded && e->RowIndex == numberOfRows)
        {
            if (dataGridView1->IsCurrentCellInEditMode)
            {
                e->Value = initialValue;
            }
            else
            {
                // Show a blank e if the cursor is just loitering
                // over(the) last row.
                e->Value = String::Empty;
            }
        }
        else
        {
            e->Value = e->RowIndex;
        }
    }

    void VirtualConnector::dataGridView1_CellValuePushed
        (Object^ sender, DataGridViewCellValueEventArgs^ e)
    {
        String^ value = e->Value->ToString();
        store[e->RowIndex] = Int32::Parse(value, 
            CultureInfo::CurrentCulture);
    }
#pragma endregion
#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>();
#Region "data store maintance"
    Const initialValue As Integer = -1

    Private Sub dataGridView1_CellValueNeeded(ByVal sender As Object, _
        ByVal e As DataGridViewCellValueEventArgs) _
        Handles dataGridView1.CellValueNeeded

        If store.ContainsKey(e.RowIndex) Then
            ' Use the store if the e value has been modified 
            ' and stored.
            e.Value = store(e.RowIndex)
        ElseIf newRowNeeded AndAlso e.RowIndex = numberOfRows Then
            If dataGridView1.IsCurrentCellInEditMode Then
                e.Value = initialValue
            Else
                ' Show a blank value if the cursor is just resting
                ' on the last row.
                e.Value = String.Empty
            End If
        Else
            e.Value = e.RowIndex
        End If
    End Sub

    Private Sub dataGridView1_CellValuePushed(ByVal sender As Object, _
        ByVal e As DataGridViewCellValueEventArgs) _
        Handles dataGridView1.CellValuePushed

        store.Add(e.RowIndex, CInt(e.Value))

    End Sub
#End Region

    Dim store As System.Collections.Generic.Dictionary(Of Integer, Integer) = _
        New Dictionary(Of Integer, Integer)

Comentarios

Use este delegado para implementar el modo virtual en el DataGridView control . Para obtener más información sobre el modo virtual, vea Modo virtual en el control DataGridView de formularios Windows Forms.

Al crear un DataGridViewCellValueEventHandler delegado, se identifica el método que controlará el evento. Para asociar el evento con el controlador de eventos, agregue una instancia del delegado al evento. Se llama al controlador de eventos cada vez que se produce el evento, a menos que quite el delegado. Para obtener más información sobre los delegados del controlador de eventos, consulte Control y generación de eventos.

Métodos de extensión

Nombre Description
GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.

Se aplica a

Consulte también