Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
entitySelection.refresh( )
|
entitySelection.refresh () | ||||||||
Ne requiert pas de paramètre | ||||||||
Note : Cette méthode fonctionne uniquement avec un datastore distant (client/serveur ou connexion Open datastore).
La méthode entitySelection.refresh( ) "invalide" immédiatement les données de l'entity selection (sélection d'entités) dans le cache local d'ORDA, de sorte que, la prochaine fois que 4D nécessite l'entity selection, cette dernière soit rechargée à partir de la base.
Par défaut, le cache local d'ORDA est invalidé après 30 secondes. Dans le contexte des applications client/serveur à l'aide d'ORDA et du langage classique, cette méthode vous permet de garantir que l'application distante fonctionne toujours avec les données les plus récentes.
Dans cet exemple, les langages classiques et ORDA modifient simultanément les mêmes données :
//Sur un 4D distant
C_OBJECT($selection;$student)
$selection:=ds.Students.query("lastname=:1";"Collins")
//La première entité est chargée dans le cache d'ORDA
$student:=$selection.first()
//Mise à jour avec un 4D classique, le cache ORDA cache n'en est pas informé
QUERY([Students];[Students]lastname="Collins")
[Students]lastname:="Colin"
SAVE RECORD([Students])
//pour obtenir la dernière version, le cache d'ORDA doit être invalidé
$selection.refresh()
//Même si le cache n'a pas expiré, la première entité est rechargée à partir du disque
$student:=$selection.first()
//$student.lastname contient "Colin"
Une list box affiche l'entity selection Form.students, sur laquelle plusieurs clients travaillent.
// Méthode formulaire :
Case of
:(Form event code=On Load)
Form.students:=ds.Students.all()
End case
//
//
// Sur client #1, l'utilisateur charge, met à jour et sauvegarde la première entité
// Sur client #2, l'utilisateur charge, met à jour et sauvegarde la même entité
//
//
// Sur client #1:
Form.students.refresh() // Invalide le cache ORDA pour l'entity selection Form.students
// Le contenu de la list box est rafraîchi à partir de la base avec les mises à jour effectuées par le client #2
Produit : 4D
Thème : ORDA - EntitySelection
Créé : 4D v18 R3
4D - Langage ( 4D v19)
4D - Langage ( 4D v19.1)
4D - Langage ( 4D v19.4)
4D - Langage ( 4D v19.5)
4D - Langage ( 4D v19.6)
4D - Langage ( 4D v19.7)
4D - Langage ( 4D v19.8)