Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LISTBOX SELECT ROWS
|
LISTBOX SELECT ROWS ( {* ;} objet ; sélection {; action} ) | ||||||||
Paramètre | Type | Description | ||||||
* | Opérateur |
![]() |
Si spécifié, l'objet est un nom d'objet (chaîne). Si omis, l'objet est une variable. | |||||
objet | Objet de formulaire |
![]() |
Nom de l'objet (si * est spécifié) ou Variable (si * est spécifié) | |||||
sélection | Objet, Collection |
![]() |
Objet ou collection décrivant les lignes à sélectionner | |||||
action | Entier long |
![]() |
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 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
Produit : 4D
Thème : List Box
Numéro :
1715
Créé : 4D v18 R3
4D - Langage ( 4D v20 R7)