Envoyé par
lololebricoleur
Je crois que je vais abandonner l'idée du champ liste parce qu'en plus, j'aimerais faire du "responsive design". Les infos affichées sont plus ou moins nombreuses selon la largeur du champ qui, elle même, dépend de la largeur de la fenêtre.
Je ne vois pas très bien le rapport avec le type de champ que vous utiliserez pour l'affichage, puisque les fenêtres et les champs ont une largeur fixe, mais modifiables par programmation.
Dans cette perspective, il faudrait maintenir quelque part la plus grande largeur d'affichage nécessaire pour la liste en mettant ce mémo à jour à chaque création et modification de fiche, et en la récupérant à l'ouverture de la fenêtre.
Je continue de regretter de ne pas pouvoir utiliser le champ LISTE car sur le plan graphique, je le trouve plus efficace dans certain cas.
Plus efficace que quel autre type de champ et pourquoi ?
Je me demandais si je ne pourrais pas travailler avec une variable de type tableau.
Vous pourriez. Il suffit de charger le tableau puis d'utiliser TableauVersChaine() puis d'afficher votre liste.
Vous pourriez alors trier les colonnes du tableau en indiquent l'ordre dans lequel les colonnes doivent intervenir dans le tri et selon quel sens (asc/descendant).
Mais, à nouveau, pourquoi compliquer les choses alors qu'il y a les clés ?
Hlitpremier : Non je n'ai pas définis de filtre. Dans la mesure où je veux voir l'intégralité des données, je n'en voyais pas l'utilité. En quoi n'est ce pas idéal de faire ainsi avec un tri en fin de procédure ?
Listetrie : En rapport avec le précédent sujet
Que vous vouliez voir la totalité des fiches, n'exclut pas d'ordonner les données. Et de fait, vous les triez.
Hlirecherchepremier : Pourquoi ou comment utiliser cette fonction alors que ne veux pas faire de recherche particulière, je veux tous les enregistrements ?
Même réponse : Que vous vouliez voir la totalité des fiches, n'exclut pas d'ordonner les données.
Si vous triez votre liste, elle va être triée en principe selon les critères définis lors de la description du champ, puisque vous n'utilisez aucune des constantes de tri dans votre fonction.
Tablons sur un tri alphabétique croissant.
Vous aurez donc un tri par Civilité et à l'intérieur de celles-ci, par prénom, puis enfin éventuellement par patronyme si vous avez plusieurs occurrences identiques de Civilité-Prénom.
Donc après HlitPremier (*) /HLitSuivant
1. Monsieur Michel Dupont
2. Docteur Albert Dupont
3. Colonel Jean Mercier
4. Mademoiselle Cécile Vanhée
5. Mademoiselle Rosine Bertouilli
sera trié comme suit :
3. Colonel Jean Mercier
2. Docteur Albert Dupont
4. Mademoiselle Cécile Vanhée
5. Mademoiselle Rosine Bertouilli
1. Monsieur Michel Dupont
càd sans aucun respect de l'ordre alphabétique des noms, qui est sans doute celui attendu.
Dans ce cas, on ne saisit pas l'intérêt du tri.
Si vous avez une clé sur le nom ou sur l'association nom et prénom (concaténation ou clé composée), vous obtiendrez un résultat plus 'orthodoxe'.
Cette clé est maintenue par HF et ne nécessite aucun traitement additionnel au moment de son exploitation.
Votre manière d'aborder le problème et vos questions m'amènent à vous conseiller de relire attentivement toutes les instructions HLit*** et à vous pencher sur les clés.
Je n'utilise jamais les filtres et ne les connais pas. Je n'y ai fait allusion qu'au vu de votre manière d'utiliser HLitPremier.
* Extrait de la doc :
Rubrique de parcours
Si la rubrique de parcours utilisée est une clé, la fonction HLitPremier lit l'enregistrement pour lequel la valeur de la clé est la plus petite. L'ordre de tri pris en compte est l'ordre de tri spécifié dans l'analyse pour cette clé. En cas de doublons, HLitPremier lit le premier enregistrement "doublon" selon l'ordre des numéros d'enregistrement.
Si la rubrique de parcours n'est pas une clé, la fonction HLitPremier lit le premier enregistrement actif. En cas de parcours du fichier, les enregistrements seront triés selon leur numéro d'enregistrement.
Dans ce cas, la rubrique de parcours sélectionnée apparaîtra en rouge sous l'éditeur de code et un warning sera affiché dans le volet "Code".
Numéro d'enregistrement ne signifie pas identifiant automatique et Vous n'avez même pas d'ordre chronologique garanti puisque, en cas de suppression, les enregistrements sont réutilisés.
Partager