Comment trier les colonnes de DataGrid

DataGrids sont contrôles .NET qui permettent aux utilisateurs d'afficher des données dans un mode de tableaux, mais avec beaucoup plus de fonctionnalités et d'options. DataGrids peuvent soutenir des tâches comme l'insertion, la modification et la suppression des données. Ils peuvent également être paginés, ce qui signifie que vous pouvez afficher de petites quantités de données sur votre écran à la fois et les utilisateurs peuvent parcourir eux. Tri par ordre décroissant est une autre caractéristique de DataGrids, cependant, sans codage personnalisé, ils ne peuvent pas être classés dans l'ordre croissant. Un DataGrid sortable a des boutons de liaison pour têtes de colonnes et mettra à jour la grille lorsque l'utilisateur clique sur eux.

Activer tri par défaut

  1. Faites un clic droit sur votre DataGrid dans la vue de conception.

  2. Sélectionner "Propriété Builder" dans le menu pop-up.

  3. Cochez la case à cocher pour "Autoriser le tri" sous le "Comportement" la section de "Général" onglet.

  4. Cliquez sur le "Colonnes" onglet dans le menu à gauche.

  5. Assurez-vous que chaque colonne peut être triée en cliquant sur son nom dans la "Colonnes sélectionnées" la liste, puis en choisissant une valeur dans la "Trier Expression" la liste déroulante.

  6. Cliquez sur le "OK" bouton pour enregistrer vos modifications.

Personnalisé bidirectionnelle tri

  1. Effectuez toutes les étapes pour permettre le tri par défaut.

  2. Appuyez sur la touche F7 pour passer à "Éditeur de code" vue.

  3. Sélectionnez votre DataGrid à partir de la liste déroulante des contrôles en haut à gauche de la fenêtre, puis sélectionnez le "Trier commande" événement dans la liste déroulante des événements en haut à droite. Cela va créer un gestionnaire d'événements pour vous de remplacer le tri par défaut.

  4. Ajouter du code à votre gestionnaire d'événement de tri pour déterminer l'ordre de tri approprié et la colonne de tri. Copiez le code ci-dessous dans votre fichier de code.

    'VB.NET Exemple
    Sous myGrid_Sort (expéditeur As Object, e Comme DataGridSortCommandEventArgs) Poignées myGrid.SortCommand

     Si e.SortExpression.ToString () = Session ("-SortBy "-) Ensuite,
    Si session ("-SortOrder "-) = "-ASC &Puis quot-
    Session ("-SortOrder "-) = "-DESC "-
    Autre
    Session ("-SortOrder "-) = "-ASC "-
    End If
    Autre
    Session ("-SortBy "-) = e.SortExpression.ToString ()
    Session ("-SortOrder "-) = "-ASC "-
    End If

    «CODE liaison de données va ici




    End Sub

    // Exemple C #
    myGrid_Sort vide (expéditeur d'objet, DataGridSortCommandEventArgs e)
    {

     if (e.SortExpression.ToString () == session ["-SortBy "-])
    {
    if (Session ["-SortOrder "-] == "-ASC "-)
    Session ["-SortOrder "-] = "-DESC "-

    GO

     autre
    Session ["-SortOrder "-] = "-ASC "-

    GO

     }
    autre
    {
    Session ["-SortBy "-] = e.SortExpression.ToString ()

    GO

     Session ["-SortOrder "-] = "-ASC "-

    GO

     }

    // CODE liaison de données va ici

    }

  5. Ajouter du code à votre gestionnaire d'événement de tri pour l'imbrication de la DataGrid avec le tri approprié. Combinez le code ci-dessous avec le gestionnaire d'événements déjà dans votre fichier de code.




    'VB.NET Exemple
    Sous myGrid_Sort (expéditeur As Object, e Comme DataGridSortCommandEventArgs) Poignées myGrid.SortCommand

     «CODE DE SORT ORDER va ici

    Dim myDataView As New DataView (myDataSource.Tables ("-myTable "-))
    myDataView.Sort = Session ("-SortBy "-) &Amp "- "- &Amp session ("-SortOrder "-)
    myGrid.Datasource = myDataView
    myGrid.DataBind ()

    End Sub

    // Exemple C #
    myGrid_Sort vide (expéditeur d'objet, DataGridSortCommandEventArgs e)
    {

     // CODE DE SORT ORDER va ici

    DataView myDataView = new DataView (myDataSource.Tables ["-myTable "-])

    GO

     myDataView.Sort = Session ["-SortBy "-] &Amp "- "- &Amp session ["-SortOrder "-]

    GO

     myGrid.Datasource = myDataView

    GO

     myGrid.DataBind ()

    GO
    }

Conseils & Avertissements

  • Une alternative à l'édition de votre DataGrid en vue de la conception à la réalisation de tri par défaut est pour le modifier dans la vue de source et ajouter le "Autoriser tri" bien à votre définition de la balise DataGrid et réglez- "Vrai."
  • L'objet DataView peut également être utilisé pour filtrer le contenu de votre DataGrid avec la propriété RowFilter.
  • Le DataGrid a été remplacé par le GridView dans les versions de .NET 2.0 après. Le contrôle GridView est très similaire, mais englobe plus de fonctionnalités.
» » » » Comment trier les colonnes de DataGrid