Cette documentation est archivée et n’est pas conservée.

DataGridViewSortCompareEventArgs, classe

Mise à jour : novembre 2007

Fournit des données pour l'événement SortCompare.

Espace de noms :  System.Windows.Forms
Assembly :  System.Windows.Forms (dans System.Windows.Forms.dll)

public class DataGridViewSortCompareEventArgs : HandledEventArgs
public class DataGridViewSortCompareEventArgs extends HandledEventArgs
public class DataGridViewSortCompareEventArgs extends HandledEventArgs

Vous pouvez gérer l'événement SortCompare pour fournir un tri personnalisé. Cet événement se produit uniquement lorsque la propriété DataGridView.DataSource n'est pas définie et lorsque la propriété DataGridView.VirtualMode a la valeur false. Cet événement se produit une fois pour chaque paire de cellules dans la colonne en cours de tri. Il se produit uniquement lorsque l'utilisateur clique sur l'en-tête d'une colonne avec une valeur de propriété DataGridViewColumn.SortMode de Automatic ou lorsque vous appelez la surcharge DataGridView.Sort(DataGridViewColumn, ListSortDirection). Lorsque cet événement se produit pour une colonne avec une valeur de propriété DataGridViewColumn.SortMode de Programmatic, vous devez afficher le glyphe de tri vous-même via la propriété DataGridViewColumnHeaderCell.SortGlyphDirection.

Vous pouvez utiliser cet événement pour trier des lignes à l'aide des valeurs de cellule dans une colonne ou dans plusieurs colonnes. Utilisez les propriétés CellValue1 et CellValue2 pour comparer des valeurs de cellule dans la colonne spécifiée dans la propriété Column. Utilisez les propriétés RowIndex1 et RowIndex2 pour accéder aux valeurs dans d'autres colonnes via la collection DataGridView.Rows.

L'exemple de code suivant illustre l'utilisation de SortCompare dans un tri sur plusieurs colonnes. Cet exemple est extrait d'un exemple plus développé fourni dans Comment : personnaliser le tri dans le contrôle DataGridView 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

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0
Afficher: