Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20 R7
LISTBOX SELECT ROWS

LISTBOX SELECT ROWS 


 

LISTBOX SELECT ROWS ( {* ;} objet ; sélection {; action} )  
Paramètre Type   Description
Opérateur in Si spécifié, l'objet est un nom d'objet (chaîne). Si omis, l'objet est une variable.
objet  Objet de formulaire in Nom de l'objet (si * est spécifié) ou Variable (si * est spécifié)
sélection  Objet, Collection in Objet ou collection décrivant les lignes à sélectionner
action  Entier long in lk remplacer sélection (omis par défaut), lk ajouter à sélection, lk supprimer de sélection

La commande LISTBOX SELECT ROWS  provoque la sélection des lignes d'une list box entity selection ou une list box collection correspondant aux entités ou objets contenus dans le paramètre sélection

Si vous passez un paramètre optionnel *, vous indiquez que le paramètre objet est un nom d'objet (chaîne). Si vous ne passez pas ce paramètre, vous indiquez que le paramètre objet est une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de variable. Pour plus d'informations sur les noms d'objet, reportez-vous à la section Objets de formulaires.

Dans le paramètre sélection, passez un Objet ou une Collection en fonction du type de list box :

List box entity selection 

Pour une List box entity selection, passez un objet entity selection contenant des entités de la même dataclass que la list box. Si sélection est un objet entity selection d'une dataclass différente de la list box, une erreur est retournée.

List box collection

Pour une list box collection, passez une sous-collection d'objets appartenant à la list box. Si votre list box contient des valeurs scalaires, passez une sous-collection de valeurs.

Notes :

  • Si sélection n'est pas un objet entity selection / collection valide, une erreur est retournée.
  • Si sélection est une entity selection / collection vide, par défaut (avec l'action "remplacer" ci-dessous) toutes les lignes de la list box sont déselectionnées. Pour les autres actions, la commande ne fait rien.
  • Si sélection contient des entités / éléments qui ne s'affichent pas dans la list box, ils sont ignorés.

Si le paramètre optionnel action est passé, il permet de définir l'action de sélection à exécuter lorsqu'une sélection de lignes existe déjà dans la list box. Vous pouvez passez une valeur ou l'une des constantes suivantes (du thème “List box”) :

Constante Type Valeur Comment
lk add to selection Entier long 1 La ligne sélectionnée est ajoutée à la sélection existante. Si la ligne désignée appartient déjà à la sélection existante, la commande ne fait rien.
lk remove from selection Entier long 2 La ligne sélectionnée est supprimée de la sélection existante. Si la ligne désignée n’appartient pas à la sélection existante, la commande ne fait rien.
lk replace selection Entier long 0 La ligne sélectionnée devient la nouvelle sélection et remplace la sélection existante. La commande produit le même effet qu’un clic de l’utilisateur sur une ligne de la list box (l'événement Sur clic n'est toutefois pas généré). Cette action est effectuée par défaut (lorsque le paramètre action n’est pas passé).

Par défaut, si le paramètre action est omis, la commande remplace la ou les lignes définie(s) par le paramètre sélection

Note : La commande s'attend à ce que chaque objet ou entity s'affiche une seule fois uniquement dans la list box.

 

Ce code vous permet de sélectionner les factures d'une entity selection à l'aide d'une requête de serveur :

  //Dans l'événement Sur chargement du formulaire, nous avons :
 Form.invoices:=ds.Invoices.all()
  //La ListBox "Factures" affiche l'entity selection Form.invoices  
 
 C_OBJECT($cash)
 C_OBJECT($card)
 
  //Sélectionner les factures ayant été réglées en liquide
 $cash:=Form.invoices.query("paymentMethod=:1";"Liquide")
 LISTBOX SELECT ROWS(*;"Factures";$cash;lk replace selection)

Exemple avec une collection d'objets :

 C_TEXT($name)
 $name:=Request("Veuillez saisir un nom")
 If(OK=1)
  // Form.studentsColl est une collection d'objets
    $selection:=Form.studentsColl.query("lastname = :1";$name)
    LISTBOX SELECT ROWS(*;"LBStudents";$selection;lk ajouter à sélection)
 End if



Voir aussi  

LISTBOX SELECT ROW

 
PROPRIÉTÉS 

Produit : 4D
Thème : List Box
Numéro : 1715

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v18 R3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20 R7)