Esta documentación está archivada y no tiene mantenimiento.

DataGridViewRowEventHandler (Delegado)

Representa el método que controlará los eventos relacionados con filas de DataGridView.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public delegate void DataGridViewRowEventHandler (
	Object sender,
	DataGridViewRowEventArgs e
)
/** @delegate */
public delegate void DataGridViewRowEventHandler (
	Object sender, 
	DataGridViewRowEventArgs e
)
No aplicable.

Parámetros

sender

Origen del evento.

e

DataGridViewRowEventArgs que contiene los datos de eventos.

DataGridViewRowEventHandler controla los eventos DataGridView siguientes:

Cuando se crea un delegado de DataGridViewRowEventHandler, se identifica el método que controlará el evento. Para asociar el evento a su controlador, agregue una instancia del delegado al evento. Siempre que se produce el evento se llama a su controlador, a menos que se quite el delegado. Para obtener más información sobre los delegados de controladores de eventos, vea Eventos y delegados.

En el ejemplo de código siguiente se utiliza un delegado de DataGridViewRowEventHandler para controlar el evento NewRowNeeded. Este ejemplo de código forma parte de un ejemplo más extenso contenido en el tema de referencia de la propiedad VirtualMode.

bool newRowNeeded;
private void dataGridView1_NewRowNeeded(object sender,
    DataGridViewRowEventArgs e)
{
    newRowNeeded = true;
}

const int initialSize = 5000000;
int numberOfRows = initialSize;

private void dataGridView1_RowsAdded(object sender,
     DataGridViewRowsAddedEventArgs e)
{
    if (newRowNeeded)
    {
        newRowNeeded = false;
        numberOfRows = numberOfRows + 1;
    }
}

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

private boolean newRowNeeded;

private void dataGridView1_NewRowNeeded(Object sender,
    DataGridViewRowEventArgs e)
{
    newRowNeeded = true;
} //dataGridView1_NewRowNeeded

private final int INITIALSIZE = 5000000;
private int numberOfRows = INITIALSIZE;

private void dataGridView1_RowsAdded(Object sender,
    DataGridViewRowsAddedEventArgs e)
{
    if (newRowNeeded) {
        newRowNeeded = false;
        numberOfRows = numberOfRows + 1;
    }
} //dataGridView1_RowsAdded

#region "data store maintance"
private final int INITIALVALUE = -1;

private void dataGridView1_CellValueNeeded(Object sender,
    DataGridViewCellValueEventArgs e)
{
    if (store.ContainsKey(e.get_RowIndex())) {
        // Use the store if the e value has been modified 
        // and stored.            
        e.set_Value((Int32)store.get_Item(e.get_RowIndex()));
    }
    else {
        if (newRowNeeded && e.get_RowIndex() == numberOfRows) {
            if (dataGridView1.get_IsCurrentCellInEditMode()) {
                e.set_Value((Int32)INITIALVALUE);
            }
            else {
                // Show a blank e if the cursor is just loitering
                // over(the)
                // last row.
                e.set_Value("");
            }
        }
        else {
            e.set_Value((Int32)e.get_RowIndex());
        }
    }
} //dataGridView1_CellValueNeeded

private void dataGridView1_CellValuePushed(Object sender,
    DataGridViewCellValueEventArgs e)
{
    store.Add(e.get_RowIndex(), Int32.Parse(e.get_Value().ToString()));
} //dataGridView1_CellValuePushed
#endregion

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

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar: