Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2008/.NET Framework 3.5

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
DataGridViewSortCompareEventArgs (Clase)

Actualización: noviembre 2007

Proporciona datos del evento SortCompare.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
Visual Basic (Declaración)
Public Class DataGridViewSortCompareEventArgs _
    Inherits HandledEventArgs
Visual Basic (Uso)
Dim instance As DataGridViewSortCompareEventArgs
C#
public class DataGridViewSortCompareEventArgs : HandledEventArgs
Visual C++
public ref class DataGridViewSortCompareEventArgs : public HandledEventArgs
J#
public class DataGridViewSortCompareEventArgs extends HandledEventArgs
JScript
public class DataGridViewSortCompareEventArgs extends HandledEventArgs

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.

Visual Basic
Private Sub DataGridView1_SortCompare( _
    ByVal sender As Object, ByVal e As DataGridViewSortCompareEventArgs) _
    Handles DataGridView1.SortCompare

    ' Try to sort based on the contents of the cell 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) AndAlso Not (e.Column.Name = "ID") Then
        e.SortResult = System.String.Compare( _
            DataGridView1.Rows(e.RowIndex1).Cells("ID").Value.ToString(), _
            DataGridView1.Rows(e.RowIndex2).Cells("ID").Value.ToString())
    End If

    e.Handled = True

End Sub
C#
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
Todos los miembros static (Shared en Visual Basic) públicos 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 Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker