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

DataGridView.SortCompare (Evento)

Se produce cuando DataGridView compara dos valores de celda para realizar una operación de ordenación.

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

public event DataGridViewSortCompareEventHandler SortCompare
/** @event */
public void add_SortCompare (DataGridViewSortCompareEventHandler value)

/** @event */
public void remove_SortCompare (DataGridViewSortCompareEventHandler value)

En JScript, se pueden controlar los eventos que define una clase, pero no se pueden definir unos propios.
No aplicable.

Este evento sólo se produce si la propiedad DataSource no está establecida y el valor de la propiedad VirtualMode es false.

Este evento compara pares de celdas de la columna que se está ordenando. Sólo se produce cuando el usuario hace clic en el encabezado de una columna con un valor de la propiedad SortMode de Automatic o cuando se llama a la sobrecarga de Sort(DataGridViewColumn,ListSortDirection). Si se produce este evento para una columna con un valor de la propiedad SortMode de Programmatic, debe mostrar el glifo de la ordenación mediante la propiedad DataGridViewColumnHeaderCell.SortGlyphDirection.

Puede utilizar este evento para ordenar filas mediante los valores de celda de una o varias columnas. Utilice las propiedades CellValue1 y CellValue2 para comparar los valores de celda en la columna especificada de la propiedad Column. Utilice las propiedades RowIndex1 y RowIndex2 para tener acceso a los valores de otras columnas a través de la colección Rows.

Para obtener más información sobre el control de eventos, vea Utilizar eventos.

En el siguiente ejemplo de código se muestra cómo utilizar SortCompare en una ordenación de varias columnas. Este ejemplo forma parte de un ejemplo más extenso proporcionado en Cómo: Personalizar la ordenación en el control DataGridView de formularios Windows Forms.

private void dataGridView1_SortCompare(object sender,
    DataGridViewSortCompareEventArgs e)
{
    // Try to sort based on the cells in the current column.
    e.SortResult = System.String.Compare(
        e.CellValue1.ToString(), e.CellValue2.ToString());

    // If the cells are equal, sort based on the ID column.
    if (e.SortResult == 0 && e.Column.Name != "ID")
    {
        e.SortResult = System.String.Compare(
            dataGridView1.Rows[e.RowIndex1].Cells["ID"].Value.ToString(),
            dataGridView1.Rows[e.RowIndex2].Cells["ID"].Value.ToString());
    }
    e.Handled = true;
}

Windows 98, Windows 2000 Service Pack 4, Windows Millennium, 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: