DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Table
  • Conditions d'utilisation
  • Trier un champ Table ou Table hiérarchique fichier
  • Gestion d'un champ Table ou Table hiérarchique trié
  • Tri sur une colonne calculée
  • Champ Table ou Table hiérarchique parcouru par programmation
  • Réaliser un tri basé sur la valeur ASCII
  • Versions précédentes
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Trie un champ Table ou Table hiérarchique sur une ou plusieurs colonnes (tri lexicographique).
Remarque : Lorsqu'un champ est trié avec la fonction TableTrie, les images permettant de connaître le sens du tri ne sont pas affichées dans les colonnes.
Exemple
// Tri des colonnes "COL_Désignation" et "COL_Prix" du champ "TABLE_Produit"
// La colonne "COL_Désignation" est triée dans l'ordre croissant
// La colonne "COL_Prix" est triée dans l'ordre décroissant
TableTrie(TABLE_Produit, "COL_Désignation", "-COL_Prix")
// Tri multicolonne du champ Table
// La colonne "COL_Désignation" est triée dans l'ordre décroissant
// La colonne "COL_Prix" est triée dans l'ordre croissant
TableTrie("-COL_Désignation" + TAB + "+COL_Prix")
Syntaxe

Trier un champ Table/Table hiérarchique sur une ou plusieurs colonnes identifiées par leur nom Masquer les détails

<Résultat> = TableTrie(<Champ Table> , <Colonne 1> [, <Colonne 2> [... [, <Colonne N>]]])
<Résultat> : Booléen
  • Vrai si le tri a été effectué,
  • Faux dans le cas contraire.
<Champ Table> : Nom de champ
Nom du champ à manipuler. Ce champ peut correspondre à :
  • un champ Table.
  • un champ Table hiérarchique.
Si ce paramètre correspond à une chaîne vide (""), le champ manipulé est le champ auquel appartient l'événement en cours.
<Colonne 1> : Chaîne de caractères
Nom de la première colonne à trier (16 colonnes maximum). Ce paramètre est de la forme :
"[<Sens>]<Nom de la colonne>"

où :
  • <Sens> (caractère) indique le sens du tri :
    • "+" : tri croissant (par défaut),
    • "-" : tri décroissant.
  • <Nom de la colonne> (chaîne de caractères) : nom de la colonne à trier.
<Colonne 2> : Chaîne de caractères optionnelle
Nom de la seconde colonne à trier (16 colonnes maximum). Ce paramètre est de la forme :
"[<Sens>]<Nom de la colonne>"

où :
  • <Sens> (caractère) indique le sens du tri :
    • "+" : tri croissant (par défaut),
    • "-" : tri décroissant.
  • <Nom de la colonne> (chaîne de caractères) : nom de la colonne à trier.
<Colonne N> : Chaîne de caractères optionnelle
Nom de la Nème colonne à trier (16 colonnes maximum). Ce paramètre est de la forme :
"[<Sens>]<Nom de la colonne>"

où :
  • <Sens> (caractère) indique le sens du tri :
    • "+" : tri croissant (par défaut),
    • "-" : tri décroissant.
  • <Nom de la colonne> (chaîne de caractères) : nom de la colonne à trier.

Trier un champ Table/Table hiérarchique selon une liste de noms de colonnes Masquer les détails

<Résultat> = TableTrie(<Liste des colonnes>)
<Résultat> : Booléen
  • Vrai si le tri a été effectué,
  • Faux dans le cas contraire.
<Liste des colonnes> : Chaîne de caractères
Liste des colonnes à trier (16 colonnes maximum). Ce paramètre est de la forme :
"[<Sens>]<Colonne1>" + TAB + "[<Sens>]<Colonne2>" + TAB + ...

où :
  • <Sens> (caractère) indique le sens du tri :
    • "+" : tri croissant (par défaut),
    • "-" : tri décroissant.
  • <Colonne> (chaîne de caractères) : nom de la colonne à trier. Le nom d'une colonne peut être obtenu avec la fonction TableEnumèreColonne. Si deux champs ont des noms de colonnes identiques, il est nécessaire de préfixer le nom de la colonne par le nom du champ (par exemple "+TABLE_Table1.COL_ColonneTri"+TAB+"+TABLE_Table1.COL_ColonnePrix").

Trier un champ Table/Table hiérarchique sur les dix premières colonnes visibles du champ Masquer les détails

<Résultat> = TableTrie(<Champ Table> [, <A trier>])
<Résultat> : Booléen
  • Vrai si le tri sur les 10 premières colonnes du champ a été effectué,
  • Faux dans le cas contraire.
<Champ Table> : Nom de champ
Nom du champ à manipuler. Ce champ peut correspondre à :
  • un champ Table.
  • un champ Table hiérarchique.
Ce paramètre est de la forme :
"[<Sens>]<Nom du champ Table>"

où :
  • <Sens> (caractère) indique le sens du tri :
    • "+" : tri croissant (par défaut),
    • "-" : tri décroissant.
  • <Nom du champ Table> (chaîne de caractères) : nom du champ Table ou Table hiérarchique dont les 10 premières colonnes doivent être triées.
<A trier> : Booléen optionnel
  • Vrai si le tri sur les 10 premières colonnes du champ doit être effectué,
  • Faux si le tri précédent doit être annulé. Après l'annulation du tri, l'ordre des lignes du champ n'est pas modifié mais les lignes qui seront ajoutées par les fonctions TableAjoute, TableAjouteLigne, TableInsère ou TableInsèreLigne ne seront pas triées.

Annuler un tri précédemment défini sur un champ Table/Table hiérarchique par programmation Masquer les détails

<Résultat> = TableTrie(<Champ Table> , <Faux>)
<Résultat> : Booléen
  • Vrai si le tri a été annulé,
  • Faux en cas de problème.
<Champ Table> : Nom de champ
Nom du champ à manipuler. Ce champ peut correspondre à :
  • un champ Table par programmation.
  • un champ Table hiérarchique par programmation.
<Faux> : Constante
Faux : Mot-clé permettant d'annuler un tri précédemment défini sur un champ Table ou Table hiérarchique par programmation.
Remarques

Conditions d'utilisation

La fonction TableTrie peut être utilisée indifféremment sur :
  • un champ Table ou Table hiérarchique par programmation.
  • un champ Table ou Table hiérarchique fichier avec parcours automatique (option "Parcours automatique" cochée dans l'onglet "Contenu" de la description du champ). Dans ce cas, le tri est exécuté uniquement sur une seule colonne.
  • un champ monosélection ou multisélection.

Trier un champ Table ou Table hiérarchique fichier

Un champ Table ou Table hiérarchique fichier sera trié uniquement selon la première colonne spécifiée (syntaxe 1 et 2). Attention : la colonne utilisée pour le tri doit être reliée à une rubrique clé dans le fichier de données utilisé pour le parcours du champ.
Astuce : Pour trier un champ Table ou Table hiérarchique fichier avec plusieurs colonnes, utilisez une clé composée et la propriété RubriqueParcourue :
NomTable..RubriqueParcourue = NOMCLECOMPOSEE
Pour annuler un tri dans un champ Table ou Table hiérarchique fichier, il suffit d'affecter une chaîne vide à la propriété RubriqueParcourue.

Gestion d'un champ Table ou Table hiérarchique trié

Rappel : La fonction TableColonnesTriées permet d'obtenir la liste des colonnes triées.

Tri sur une colonne calculée

Il est déconseillé d'utiliser la fonction TableTrie sur des colonnes calculées. En effet, ces colonnes sont calculées lors de l'affichage de chaque ligne.
Un tri effectué avec la fonction TableTrie sur une colonne calculée sera valide uniquement sur les lignes déjà affichées.

Champ Table ou Table hiérarchique parcouru par programmation

La fonction TableTrie ne fonctionne pas sur un champ parcouru par programmation.

Réaliser un tri basé sur la valeur ASCII

Pour réaliser un tri basé sur la valeur ASCII, il est possible d'utiliser une zone mémoire.
Exemple :
MemCrée("ZM")
MemAjoute("ZM", "abc", "abc")
MemAjoute("ZM", "ZZZ", "ZZZ")
MemAjoute("ZM", "zbc", "zbc")
MemAjoute("ZM", "ééébc", "ééébc")
MemAjoute("ZM", "AB", "AB")
MemAjoute("ZM", "CD", "CD")
MemAjoute("ZM", "çabc", "çabc")
MemAjoute("ZM", "bbc", "bbc")
MemTrie("ZM")
i est un entier
MemPremier("ZM")
TANTQUE PAS MemEnDehors("ZM")
i = MemEnCours("ZM")
Trace(MemRécupère("ZM", i)) // Affichage dans l'ordre ASCII
MemSuivant("ZM")
FIN
WINDEV

Versions précédentes

Cette fonction remplace la fonction TableTri, conservée par compatibilité avec WINDEV 5.5.
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
exemplo tableSort
https://windevdesenvolvimento.blogspot.com/2021/05/dicas-3321-windev-webdev-mobile.html

https://youtu.be/zjnXniNTWwU

SWITCH COMBO_ordem
CASE 1
IF CBOX_ordem_inversa=True THEN
TableSort(TABLE_cliente_consulta,"-TABLE_cliente_consulta.COL_Cliente_wdID")
ELSE
TableSort(TABLE_cliente_consulta,"TABLE_cliente_consulta.COL_Cliente_wdID")
END

CASE 2
IF CBOX_ordem_inversa=True THEN
TableSort(TABLE_cliente_consulta,"-TABLE_cliente_consulta.COL_nome")
ELSE
TableSort(TABLE_cliente_consulta,"TABLE_cliente_consulta.COL_nome")
END

CASE 3
IF CBOX_ordem_inversa=True THEN
TableSort(TABLE_cliente_consulta,"-TABLE_cliente_consulta.COL_email")
ELSE
TableSort(TABLE_cliente_consulta,"TABLE_cliente_consulta.COL_email")
END
OTHER CASE

END
amarildo
05 mai 2021
Trie décroissant
Attention !
Si un tri décroissant est effectué et que les couleurs des lignes ont été modifiées par programmation, elles sont remises aux couleurs par défaut (Couleur et CouleurFond).
Phénomène constaté avec WinDev 22 - LST 110.
Nathan RENAULT
23 nov. 2018

Dernière modification : 14/06/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale