Aller au contenu principal
Version: 20 R7

List Box


Colonnes

Collection de colonnes de la list box.

Grammaire JSON

NomType de donnéesValeurs possibles
colonnescollection d'objets colonneContient les propriétés des colonnes de list box

For a list of properties supported by column objects, please refer to the Column Specific Properties section.

Objets pris en charge

List Box


Nom formulaire détaillé

Liste box sélection

Indique le formulaire à utiliser pour modifier ou afficher les enregistrements individuels de la list box.

Le formulaire spécifié est affiché :

  • when using Add Subrecord and Edit Subrecord standard actions applied to the list box (see Using standard actions),
  • when a row is double-clicked and the Double-click on Row property is set to "Edit Record" or "Display Record".

Grammaire JSON

NomType de donnéesValeurs possibles
detailFormstring
  • Name (string) of table or project form
  • POSIX path (string) to a .json file describing the form
  • Object describing the form
  • Objets pris en charge

    List Box


    Double-clic sur ligne

    Liste box sélection

    Définit l'action à réaliser lorsqu'un utilisateur double-clique sur une ligne dans la list box. Les options disponibles sont :

    • Do nothing (default): Double-clicking a row does not trigger any automatic action.
    • Edit Record: Double-clicking a row displays the corresponding record in the detail form defined for the list box. L'enregistrement est ouvert en lecture-écriture afin qu'il puisse être modifié.
    • Display Record: Identical to the previous action, except that the record is opened in read-only mode so it cannot be modified.

    Le double-clic sur une ligne vide est ignoré dans les listbox.

    Regardless of the action selected/chosen, the On Double clicked form event is generated.

    For the last two actions, the On Open Detail form event is also generated. The On Close Detail is then generated when a record displayed in the detail form associated with the list box is about to be closed (regardless of whether or not the record was modified).

    Grammaire JSON

    NomType de donnéesValeurs possibles
    doubleClickInRowActionstring"editSubrecord", "displaySubrecord"

    Objets pris en charge

    List Box


    Ensemble surlignage

    Liste box sélection

    This property is used to specify the set to be used to manage highlighted records in the list box (when the Arrays data source is selected, a Boolean array with the same name as the list box is used).

    4D creates a default set named ListBoxSetN where N starts at 0 and is incremented according to the number of list boxes in the form. Si nécessaire, vous pouvez modifier la configuration par défaut. It can be a local, process or interprocess set (we recommend using a local set, for example $LBSet, in order to limit network traffic). Il est ensuite maintenu automatiquement par 4D. Si l'utilisateur sélectionne une ou plusieurs lignes dans la list box, l'ensemble est immédiatement mis à jour. Si vous souhaitez sélectionner une ou plusieurs lignes par programmation, vous pouvez appliquer les commandes du thème "Ensembles" à cet ensemble.

    • L'état de surbrillance des lignes de la list box et l'état de surbrillance des enregistrements de la table sont totalement indépendants.
    • Si la propriété "Highlight Set" ne contient pas de nom, il ne sera pas possible d'effectuer des sélections dans la list box.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    highlightSetstringNom de l'ensemble

    Objets pris en charge

    List Box


    Colonnes verrouillées et colonnes statiques

    Les colonnes verrouillées et les colonnes statiques sont deux fonctionnalités distinctes et indépendantes dans les list box :

    • Les colonnes verrouillées restent toujours affichées à gauche de la list box ; elles ne défilent pas horizontalement.
    • Les colonnes statiques ne peuvent pas être déplacées par glisser-déposer dans la list box.

    Vous pouvez définir des colonnes statiques et verrouillées par programmation, voir la section "List Box" dans le manuel 4D Language Reference .

    Ces propriétés interagissent comme suit :

    • Si vous définissez des colonnes qui sont uniquement statiques, elles ne peuvent pas être déplacées.

    • Si vous définissez des colonnes verrouillées mais non statiques, vous pouvez toujours modifier leur position librement à l'intérieur de la zone verrouillée. Toutefois, une colonne verrouillée ne peut pas être déplacée en dehors de cette zone verrouillée.

    • Si vous définissez toutes les colonnes de la zone verrouillée comme statiques, vous ne pouvez pas déplacer ces colonnes à l'intérieur de la zone verrouillée.

    • Vous pouvez combiner des colonnes verrouillées et statiques en fonction de vos besoins. Par exemple, si vous définissez trois colonnes verrouillées et une colonne statique, l'utilisateur peut permuter les deux colonnes les plus à droite dans la zone verrouillée (puisque seule la première colonne est statique).

    Nombre de colonnes verrouillées

    Nombre de colonnes qui doivent rester affichées en permanence dans la partie gauche de la list box, même lorsque l'utilisateur fait défiler les colonnes horizontalement.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    lockedColumnCountintegerminimum : 0

    Objets pris en charge

    List Box

    Nombre de colonnes statiques

    Nombre de colonnes qui ne peuvent pas être déplacées pendant l'exécution.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    staticColumnCountintegerminimum : 0

    Objets pris en charge

    List Box


    Nombre de colonnes

    Définit le nombre de colonnes de la list box.

    You can add or remove columns dynamically by programming, using commands such as LISTBOX INSERT COLUMN or LISTBOX DELETE COLUMN.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    columnCountintegerminimum: 1

    Objets pris en charge

    List Box


    Tableau de contrôle des lignes

    Array type list box

    Un tableau 4D contrôlant l'affichage des lignes de la list box.

    Ce tableau permet de définir les propriétés d'interface "masquée", "désactivée" et "sélectionnable" pour chaque ligne d'une list box basée sur un tableau. It can also be designated using the LISTBOX SET ARRAY command.

    Le tableau de contrôle des lignes doit être de type Longint et comprendre le même nombre de lignes que la list box. Each element of the Row Control Array defines the interface status of its corresponding row in the list box. Trois propriétés d'interface sont disponibles à l'aide de constantes dans le thème de constantes "List Box" :

    ConstanteValeurCommentaire
    lk row is disabled2La ligne correspondante est désactivée. Le texte et les contrôles tels que les cases à cocher sont atténués ou grisés. Les zones de saisie de texte ne sont plus saisissables. Valeur par défaut : Enabled
    lk row is hidden1La ligne correspondante est masquée. Le masquage des lignes n'affecte que l'affichage de la list box. Les lignes masquées sont toujours présentes dans les tableaux et peuvent être gérées par programmation. The language commands, more particularly LISTBOX Get number of rows or LISTBOX GET CELL POSITION, do not take the displayed/hidden status of rows into account. For example, in a list box with 10 rows where the first 9 rows are hidden, LISTBOX Get number of rows returns 10. Du point de vue de l'utilisateur, la présence de lignes masquées dans une zone de liste n'est pas décelable. Seules les lignes visibles peuvent être sélectionnées (par exemple à l'aide de la commande Tout sélectionner). Valeur par défaut : Visible
    lk row is not selectable4La ligne correspondante n'est pas sélectionnable (le surlignage n'est pas possible). Enterable text input areas are no longer enterable unless the Single-Click Edit option is enabled. Les contrôles tels que les cases à cocher et les listes sont toutefois toujours fonctionnels. Ce paramètre est ignoré si le mode de sélection de la listbox est "None". Valeur par défaut : Sélectionnable

    Pour modifier l'état d'une ligne, il suffit d'affecter la ou les constante(s) appropriée(s) à l'élément de tableau correspondant. Par exemple, si vous ne voulez pas que la ligne n° 10 soit sélectionnable, vous pouvez écrire :

     aLControlArr{10}:=lk row is not selectable

    Vous pouvez définir plusieurs propriétés d'interface à la fois :

     aLControlArr{8}:=lk row is not selectable + lk row is disabled

    Notez que le paramétrage des propriétés d'un élément remplace toutes les autres valeurs de cet élément (si non réinitialisées). Par exemple :

     aLControlArr{6}:=lk row is disabled + lk row is not selectable 
    //sets row 6 as disabled AND not selectable
    aLControlArr{6}:=lk row is disabled
    //sets row 6 as disabled but selectable again

    Grammaire JSON

    NomType de donnéesValeurs possibles
    rowControlSourcestringNom du tableau de contrôle des lignes

    Objets pris en charge

    List Box


    Mode de sélection

    Désigne l'option permettant aux utilisateurs de sélectionner des lignes :

    • None: Rows cannot be selected if this mode is chosen. Clicking on the list will have no effect unless the Single-Click Edit option is enabled. The navigation keys only cause the list to scroll; the On Selection Change form event is not generated.
    • Single: One row at a time can be selected in this mode. Un clic sur une ligne la sélectionne. A Ctrl+click (Windows) or Command+click (macOS) on a row toggles its state (between selected or not).
      The Up and Down arrow keys select the previous/next row in the list. Les autres touches de navigation font défiler la liste. The On Selection Change form event is generated every time the current row is changed.
    • Multiple: Several rows can be selected simultaneously in this mode.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    selectionModestring"multiple", "single", "none"

    Objets pris en charge

    List Box