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

DataGridViewSortCompareEventArgs (Clase)

Proporciona datos del evento SortCompare.

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

public class DataGridViewSortCompareEventArgs : HandledEventArgs
public class DataGridViewSortCompareEventArgs extends HandledEventArgs
public class DataGridViewSortCompareEventArgs extends HandledEventArgs
No aplicable.

Puede controlar el evento SortCompare para proporcionar una ordenación personalizada. Este evento sólo se produce cuando no está establecida la propiedad DataGridView.DataSource y está establecida la propiedad DataGridView.VirtualMode en false. El evento aparece una vez por cada par de celdas de la columna que se ordena. Sólo se produce cuando el usuario hace clic en el encabezado de una columna con un valor de la propiedad DataGridViewColumn.SortMode de Automatic; o bien, cuando llama a la sobrecarga de DataGridView.Sort(DataGridViewColumn,ListSortDirection). Cuando este evento se produce para una columna con un valor de la propiedad DataGridViewColumn.SortMode de Programmatic, debe mostrar manualmente el glifo de ordenación mediante la propiedad DataGridViewColumnHeaderCell.SortGlyphDirection.

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

En el siguiente ejemplo de código se muestra cómo se utiliza 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;
}

System.Object
   System.EventArgs
     System.ComponentModel.HandledEventArgs
      System.Windows.Forms.DataGridViewSortCompareEventArgs

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

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: