4D v17.4

entitySelection.slice( )

Accueil

 
4D v17.4
entitySelection.slice( )

entitySelection.slice( )  


 

La méthode entitySelection.slice( ) retourne une partie de sélection d'entités, définie par l'entité àPartirDe jusqu'à l'entité fin (fin étant non incluse), dans une autre sélection d'entités. La méthode effectue une copie superficielle (shallow copy) de la sélection d'entités (les mêmes références d'entités sont utilisées).

Note : Cette méthode ne modifie pas la sélection d'entités d'origine.

La sélection d'entités retournée contient les entités comprises entre l'entité désignée par àPartirDe et, sans la contenir, celle désignée par fin. Si seul le paramètre àPartirDe est défini, la sélection d'entités retournée contient toutes les entités entre àPartirDe et la dernière entité de la sélection d'entités d'origine.

  • Si àPartirDe < 0, le paramètre est recalculé comme àPartirDe:=àPartirDe+length (il est considéré comme partant de la fin de la sélection d'entités). Si la valeur calculée < 0, àPartirDe prend la valeur 0.
  • Si àPartirDe >= length, la méthode retourne une sélection d'entités vide.
  • Si fin < 0 , le paramètre est recalculé comme fin:=fin+length.
  • Si fin < àPartirDe (valeurs passées ou recalculées), la méthode ne fait rien.

Si la sélection d'entités contient des entités qui ont été supprimées entre-temps, elles sont également retournées.

Vous souhaitez obtenir une sous-sélection des 9 premières entités de la sélection d'entités :

 C_OBJECT($sel;$sliced)
 $sel:=ds.Employee.query("salary > :1";50000)
 $sliced:=$sel.slice(0;9)

En supposant que ds.Employee.all().length = 10

 C_OBJECT($slice)
 $slice:=ds.Employee.all().slice(-1;-2) //tente de retourner les entités de position 9 à 8, mais comme 9 > 8, retourne une sélection d'entités vide

 
PROPRIÉTÉS 

Produit : 4D
Thème : ORDA - EntitySelection

 
PAGE CONTENTS 
 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v17)
4D - Langage ( 4D v17.1)
4D - Langage ( 4D v17.2)
4D - Langage ( 4D v17.3)
4D - Langage ( 4D v17.4)