J'ai un contrôle GridView sur ma page. GV n'utilise aucun contrôle .net en tant que source de données pour lier des données. Je fais ceci dans le code derrière où je crée mon propre DataTable et DataSet. Ensuite, je lie ce DataSet à GV. Ensuite, je voudrais activer le tri des colonnes. Le problème est que cela ne fonctionne pas comme il se doit lorsque vous n'utilisez aucun contrôle de source de données prédéfini. Vous devez écrire du code. Bud je ne sais pas quel code, comment trier GV après que l'utilisateur clique sur heder? Les lignes doivent ensuite être triées par les données de cette colonne. Et comment trier et trier en cliquant sur le même lien?Tri dans gridview sans aucun contrôle de liaison de données - comment le faire?
1
A
Répondre
2
Définir AllowSorting = True et gérer l'événement de tri. Dans l'événement de tri, vous pouvez basculer entre sort direction si l'expression de tri est la même (c'est-à-dire que vous cliquez de nouveau sur le même en-tête de colonne). Voir article this pour un démarrage rapide.
1
Voici quelques extraits que j'ai utilisés. C'est bien quand le 3: cliquez sur le même en-tête supprime le tri sur cette colonne et favorise également les colonnes d'un ordre de tri inférieur, que le sortexpression supprimé, à un ordre de tri plus élevé, tel que here et here.
Protected Sub SortLinkBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim gv As GridView = CType(sender.parent.parent.parent.parent, GridView)
Call UpdateTabPanelProgressSpinner(gv)
Dim dv As New DataView
dv = gv.DataSource
Call BuildSortExprTable("sort" + gv.ID, sender.commandname)
dv.Sort = CurrSortExpressions("sort" + gv.ID)
gv.DataSource = dv
gv.DataBind()
End Sub
Protected Function BuildSortExprTable(ByVal vsName As String, ByVal vsKey As String) As Dictionary(Of String, String)
Dim SortTable As Dictionary(Of String, String)
SortTable = IIf(ViewState(vsName) Is Nothing, New Dictionary(Of String, String), CType(ViewState(vsName), Dictionary(Of String, String)))
If SortTable.Count = 0 Then
SortTable.Add(vsKey, " ASC")
Else
If SortTable.ContainsKey(vsKey) Then
Select Case SortTable(vsKey).ToString
Case " ASC"
SortTable(vsKey) = " DESC"
Case " DESC"
SortTable.Remove(vsKey)
End Select
Else
SortTable.Add(vsKey, " ASC")
End If
End If
ViewState.Add(vsName, SortTable)
Return SortTable
End Function
Protected Function CurrSortExpressions(ByVal vsName As String) As String
Dim SortTable As Dictionary(Of String, String)
SortTable = IIf(ViewState(vsName) Is Nothing, New Dictionary(Of String, String), CType(ViewState(vsName), Dictionary(Of String, String)))
Dim sSorts As String = String.Empty
Dim key As Object
For Each key In SortTable.Keys
sSorts += ", " + key.ToString() + " " + SortTable(key).ToString()
Next
'remove first ", "
If sSorts = "" Then
'nada
Else
sSorts = Right(sSorts, sSorts.Length - 2)
End If
Return sSorts
End Function
Questions connexes
- 1. édition gridview sans utiliser le contrôle de source de données
- 2. asp.net gridview tri sans données rebind
- 3. GridView tri sans JavaScript?
- 4. Tri d'un Gridview de données
- 5. Comment télécharger les données GridView après la liaison de données?
- 6. Contrôle de serveur personnalisé ASP.NET (GridView), Liaison de données et conflit de cycle de contrôle
- 7. Comment activer le tri automatique des données IEnumerable dans GridView?
- 8. Datetime tri dans le gridview
- 9. ASP.NET GridView SqlDatasource Programmation de tri de données par programmation
- 10. Liaison de données simple aux colonnes gridview
- 11. Comment afficher un formulaire sans aucun contrôle?
- 12. Liaison de données dynamique à gridview
- 13. Liaison d'un contrôle GridView à un DataTable
- 14. Liste RadioButton dans GridView - Liaison de données bidirectionnelle possible?
- 15. Utiliser jQuery faire un tri dans gridview de .NET?
- 16. Jquery Asp.Net GridView Liaison de données
- 17. Tri dans GridView + Asp.net
- 18. Tri d'un GridView
- 19. Obtient l'objet de liaison de données dans le contrôle
- 20. GridView AutoGenerateColumns et le tri
- 21. Liaison de données plusieurs tables linq query to gridview?
- 22. Liaison de données avec le contrôle utilisateur WPF
- 23. Problème de tri de Gridview - Les données de colonne disparaissent
- 24. Liaison de données dans le contrôle utilisateur ASP.NET
- 25. Le tri dans gridview ne fonctionne pas
- 26. VB.NET Répéteur Liaison de données simple sans source de données
- 27. comment utiliser le contrôle gridview dans silverlight
- 28. GridView de tri formé avec l'ensemble de données
- 29. ASP.NET Contrôle utilisateur, liaison de données DataTable
- 30. Comment faire le DataGrid sans données?