Bonjour à vous tous,
J'ai un problème qui, ma fois, commence à me les casser . Mais tout d'abord, laissez moi vous dire que le Framework utilisé est 1.1, sous VS 2003.
J'essais de faire fonctionner les options de tri sur un DataGrid. Pour ce faire, j'ai un dataset nommé "dsAffichage", défini comme DataSource sur mon DataGrid. Lors d'un clique sur un bouton, je rempli cette DataGrid:
(Ma Grid a la propriété "AllowSorting" à true, et le Viewstate est à true aussi)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub btnAfficher_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAfficher.Click If Page.IsValid Then Me.dsAffichage = GenererData() grilleAffichage.DataBind() panelResultat.Visible = True End if End Sub
Jusque là, les données s'affichent.
Donc, une fois avoir défini mes colonnes de tri, je les gère avec l'évênement SortCommand sur la grille:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub grilleAffichage_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles grilleAffichage.SortCommand Dim arg as String = e.SortExpression Select Case arg Case "NomIntervenant" Me.dsAffichage.Tables("Formulaire").DefaultView.Sort = "NomEmplInterv Asc" End Select End Sub
Or, les données ne sont pas triées! Même si je force un nouveau .DataBind() sur la grille, ça ne fonctionne pas. J'ai tracé et ma commande .Sort est bel et bien exécutée, mais elle n'a pas d'effet sur le DataSet (donc non plus sur la grille).
Et voici comment mon binding est fait (image attachée)
Quelqu'un aurait une piste pour moi?
Merci beaucoup!
Partager