Listbox
Le tableau de données. Il affiche une sélection d'enregistrements en colonnes, avec tri, recherche, pagination, sélection de lignes et événements par colonne. C'est le bloc le plus riche du composant — assez pour avoir sa propre page dans la section des mécanismes.
Ce que c'est
| Type | listbox |
| Catégorie | others |
| Enfants autorisés | 0 |
| Cibles de style | bspk |
| Événements | onSelect, onSelectRows, onDoubleClick |
Les paramètres
Seuls les paramètres propres à ce bloc sont listés ici. Le nom du bloc, l'identifiant HTML, l'ancre, l'affichage conditionnel et la répétition sont communs à tous les blocs et décrits une seule fois, dans Les paramètres communs.
Paramètres
| Paramètre | Comment ça se règle | À quoi ça sert | Particularités |
|---|---|---|---|
Première requêtevt_FirstRequest | text (text) | Expression 4D évaluée au premier chargement pour constituer la liste — ex. ds.MA_TABLE.query(…). Vide avec une table choisie, la listbox prend tous les enregistrements. Sans table, l'expression doit renvoyer une collection. | accepte du 4D |
Tri personnalisévt_FunctionSort | text (text) | Remplace le tri standard au clic sur un en-tête de colonne. Attention : elle est aussi appelée au premier chargement, où This.vo_POST.sortableColumn est vide — prévoyez ce cas, sinon l'expression échoue et la liste reste vide. | accepte du 4D |
Chemin de relationvt_RelatedEntities | text (text) | Expression 4D qui fournit directement la liste — ex. vo_selectedItemData.Entity.MesLignes. Si une première requête de la forme ds.….query(…) est aussi renseignée, les deux sont combinées. Prévoyez le cas « rien de sélectionné ». | accepte du 4D |
Tablevt_TableName | select (text) | — | attribut HTML |
Zone de recherche
| Paramètre | Comment ça se règle | À quoi ça sert | Particularités |
|---|---|---|---|
Rechercher uniquement avec ma fonctionvb_OnlyUseMySeachFunction | toggle (boolean) | — | défaut : non |
Masquer la listbox au démarragevb_hideListboxAtStart | toggle (boolean) | — | défaut : non |
Fonction de recherchevt_SearchFunction | text (text) | Reçoit la sélection courante et les valeurs saisies, et renvoie la sélection filtrée — ex. ds.MA_TABLE.maRecherche(This.Selection; This.vo_POST). Laissée vide, un filtrage générique compare chaque champ de la zone de recherche au champ de même nom. | accepte du 4D |
Bloc à masquer quand la listbox s'affichevt_WrapperReplaceHiddenListbox | select (text) | — | |
Conteneur de recherchevt_searchwrapper | select (text) | Bloc conteneur (conteneur, accordéon ou modale) où sont placés les champs de recherche. Chaque champ y est repéré par son nom, et c'est ce nom que la fonction de recherche relit. Sans conteneur désigné, la saisie ne filtre rien. | attribut HTML |
Paramètres des colonnes
| Paramètre | Comment ça se règle | À quoi ça sert | Particularités |
|---|---|---|---|
Tableau avec les champs à affichervc_FieldDisplay | columnList (collection) | — | |
Colonnes dynamiquesvt_DynamicColumnsFunction | text (text) | Reçoit la collection des colonnes et la renvoie modifiée — pour créer des colonnes qu'on ne connaît qu'à l'exécution, une par langue par exemple. Forme courte admise : Classe.maFonction. | accepte du 4D |
Propriétés d'affichage de la listbox
| Paramètre | Comment ça se règle | À quoi ça sert | Particularités |
|---|---|---|---|
Permettre la sélection multiplevb_DisplayCheckbox | toggle (boolean) | — | défaut : oui |
Afficher les entêtesvb_DisplayHead | toggle (boolean) | — | défaut : oui |
Afficher le compteurvb_DisplayResults | toggle (boolean) | Affiche le compteur au-dessus de la liste : « Total : N résultats », et « N résultats sur M » dès qu'une recherche filtre. | défaut : oui |
Nombre de lignes à affichervl_DisplayLine | number (integer) | — | défaut : 0 |
Éléments par chargementvl_LengthByPage | number (integer) | Taille d'un lot chargé d'un coup, et non le nombre de lignes visibles. Un premier lot est chargé au départ, les suivants au défilement — ou page par page en mode Pagination. | attribut HTML, défaut : 0 |
Nombre minimum de lignes à affichervl_MinDisplayLine | number (integer) | — | défaut : 0 |
Condition d'affichagevt_ConditionDisplayCheckbox | text (text) | Expression 4D évaluée à chaque rendu : les cases n'apparaissent que si elle renvoie vrai. Si elle échoue ou ne renvoie pas un booléen, les cases restent affichées. | accepte du 4D |
Type d'affichagevt_DisplayListboxType | checkbox (enum) | Hauteur libre : la liste s'étire. Hauteur fixe : hauteur figée et la liste défile. Pagination : navigation page par page. Jusqu'en bas de l'écran : la liste occupe la place restante sous elle. | attribut HTML |
Propriétés d'affichage des lignes
| Paramètre | Comment ça se règle | À quoi ça sert | Particularités |
|---|---|---|---|
Couleur ligne pairevt_EvenColor | color (text) | — | |
Couleur en survolvt_HoverRowBackgroundColor | color (text) | — | |
Couleur du texte en survolvt_HoverRowTextColor | color (text) | — | |
Couleur ligne impairevt_OddColor | color (text) | — | |
Couleur du fond de la ligne sélectionnéevt_SelectedRowBackgroundColor | color (text) | — | |
Couleur du texte de la ligne sélectionnéevt_SelectedRowTextColor | color (text) | — |
Mode carte
| Paramètre | Comment ça se règle | À quoi ça sert | Particularités |
|---|---|---|---|
Écart entre les cartesvl_CardGap | number (integer) | Espace entre les cartes, en pixels, horizontalement comme verticalement. Vide : 12 px. | |
Nombre de cartes par lignevl_CardsPerRow | number (integer) | Nombre de cartes affichées côte à côte dans la liste, une fois l'affichage passé en carte. Vide ou 1 : une carte par ligne. | |
Colonnes de champs dans la cartevl_TemplateColumns | number (integer) | Disposition des champs À L'INTÉRIEUR d'une carte : nombre de colonnes sur lesquelles les répartir. Vide ou 1 : les champs sont empilés. | |
Passage en carte en dessous de :vt_BreakPointCard | select (enum) | — | |
Position du libellé de champvt_CardLabelLayout | select (enum) | Dans une carte, placer le libellé de la colonne au-dessus de sa valeur ou sur la même ligne qu'elle. | défaut : column |
Les tableaux de cette page sont produits automatiquement depuis le schéma du bloc. Si la page et le panneau divergent, c'est le schéma qui fait foi.

