Utilisation du gestionnaire d’instances pour contrôler les sous-formulaires au moment de l’exécution
Cet exemple vous montre comment utiliser les propriétés et les méthodes du gestionnaire d’instances pour récupérer les informations concernant les sous-formulaires et effectuer des opérations sur les objets de sous-formulaire au moment de l’exécution.
Dans cet exemple, l’utilisateur utilise les boutons pour exécuter diverses actions à l’aide des instances de Sous-formulaire3. Par exemple, lorsque l’utilisateur clique sur le bouton d’ajout d’une rangée au-dessous, une nouvelle instance Sous-formulaire3 est ajoutée sous l’instance actuelle.
Remarque : 
vous devez ajouter ou supprimer des sous-formulaires ou effectuer des modifications au niveau des données dans les champs de texte pour que les modifications soient appliquées aux instances Sous-formulaire3.
Livecycle eg instance manager combo1 Utilisation du gestionnaire dinstances pour contrôler les sous formulaires au moment de lexécution
Conseil : 
s’il n’existe aucune instance d’un sous-formulaire donné sur votre formulaire, utilisez le trait de soulignement (_) comme indiqué dans les exemples suivants. Pour plus de détails sur l’utilisation du trait de soulignement (_), voir l’aide de LiveCycle Designer ES.
Le script suivant détermine si le nombre maximal d’instances de Sous-formulaire3 pris en charge se trouve sur le formulaire. Si c’est le cas, le script affiche un message. Dans le cas contraire, la nouvelle instance de Sous-formulaire3 est ajoutée au formulaire.
if (advanced.Subform3.instanceManager.count ==
advanced.Subform3.instanceManager.max) {
xfa.host.messageBox(“You have reached the maximum number of items
allowed.”,”Combining Instance Manager Concepts”, 1);
}
else {
advanced.Subform3.instanceManager.addInstance(1);
xfa.form.recalculate(1);
}
Vous pouvez également écrire ce script en utilisant un trait de soulignement (_) pour référencer les propriétés et les méthodes du gestionnaire d’instances, comme indiqué ci-après :
if (advanced._Subform3.count == advanced._Subform3.max) {
xfa.host.messageBox(“You have reached the maximum number of items
allowed.”, “Combining Instance Manager Concepts”, 1);
}
else {
advanced._Subform3.addInstance(1);
xfa.form.recalculate(1);
}
Le script suivant détermine s’il existe une instance Sous-formulaire3 sur le formulaire. S’il n’en existe pas, le script affiche un message indiquant qu’aucune instance n’existe. S’il existe des instances, le script supprime la première instance du formulaire.
if (advanced.Subform3.instanceManager.count == 0) {
xfa.host.messageBox(“There are no subform instances to remove.”,
“Combining Instance Manager Concepts”, 1);
}
else {
advanced.Subform3.instanceManager.removeInstance(0);
}
Vous pouvez également écrire ce script en utilisant un trait de soulignement (_) pour référencer les propriétés et les méthodes du gestionnaire d’instances, comme indiqué ci-après :
if (advanced._Subform3.count == 0) {
xfa.host.messageBox(“There are no subform instances to remove.”,
“Combining Instance Manager Concepts”, 1);
}
else {
advanced._Subform3.removeInstance(0);
}
if (Subform3.instanceManager.count < Subform3.instanceManager.occur.max) {
var oNewInstance = Subform3.instanceManager.addInstance(1);
var nIndexFrom = oNewInstance.index;
var nIndexTo = Subform3.index + 1;
Dans ce cas, lorsque le script référence la valeur de nIndexFrom, la nouvelle instance de Subform3 est ajoutée au formulaire à l’emplacement spécifié dans la méthode moveInstance :
Subform3.instanceManager.moveInstance(nIndexFrom, nIndexTo);
}
else {
xfa.host.messageBox(“You have reached the maximum number of items
allowed.”, “Combining Instance Manager Concepts”, 1);
}
Vous pouvez également écrire ce script en utilisant un trait de soulignement (_) pour référencer les propriétés et les méthodes du gestionnaire d’instances, comme indiqué ci-après :
if (_Subform3.count < _Subform3.occur.max) {
var oNewInstance = _Subform3.addInstance(1);
var nIndexFrom = oNewInstance.index;
var nIndexTo = Subform3.index + 1;
_Subform3.moveInstance(nIndexFrom, nIndexTo);
}
else {
xfa.host.messageBox(“You have reached the maximum number of items allowed.”, “Combining Instanc
e Manager Concepts”, 1);
}
if (Subform3.instanceManager.count > Subform3.instanceManager.occur.min) {
Ce script utilise la méthode removeInstance pour supprimer une instance de Sous-formulaire3.
Remarque : 
ce script utilise la valeur parent.parent.index pour indiquer l’instance de Sous-formulaire3 à supprimer. La référence parent indique le conteneur de l’objet qui utilise la référence. Dans ce cas, l’utilisation de la référence parent.index indique le sous-formulaire sans titre qui contient les boutons d’ajout d’une instance au-dessous, de suppression de l’instance active, de déplacement des rangées vers le haut et de déplacement de rangées vers le bas.
Subform3.instanceManager.removeInstance(parent.parent.index);
}
else {
xfa.host.messageBox(“You have reached the minimum number of items
allowed.”, “Combining Instance Manager Concepts”, 1);
}
Vous pouvez également écrire ce script en utilisant un trait de soulignement (_) pour référencer les propriétés et les méthodes du gestionnaire d’instances, comme indiqué ci-après :
if (_Subform3.count > _Subform3.occur.min) {
Subform3.removeInstance(Subform3.index);
}
else {
xfa.host.messageBox(“You have reached the minimum number of items allowed.”,
“Combining Instance Manager Concepts”, 1);
}
if (Subform3.index != 0) {
var nIndexFrom = Subform3.index;
var nIndexTo = Subform3.index – 1;
Subform3.instanceManager.moveInstance(nIndexFrom, nIndexTo);
}
else {
xfa.host.messageBox(“The current item cannot be moved because it is the
first instance in the list.”, “Combining Instance Manager Concepts”, 1);
}
Vous pouvez également écrire ce script en utilisant un trait de soulignement (_) pour référencer les propriétés et les méthodes du gestionnaire d’instances, comme indiqué ci-après :
if (Subform3.index != 0) {
var nIndexFrom = Subform3.index;
var nIndexTo = Subform3.index – 1;
Subform3.moveInstance(nIndexFrom, nIndexTo);
}
else {
xfa.host.messageBox(“The current item can’t be moved since it already is the first instance in the list.”, “Combining Instance Manager Concepts”, 1);
}
if ((nIndex + 1) < Subform3.instanceManager.count) {
// nIndexFrom and nIndexTo store the before and after index values to use with the moveInstance() method.
var nIndexFrom = nIndex;
var nIndexTo = nIndex + 1;
Subform3.instanceManager.moveInstance(nIndexFrom, nIndexTo);
}
else {
xfa.host.messageBox(“The current item cannot be moved because it is the last
instance in the list.”, “Combining Instance Manager Concepts”, 1);
}
Vous pouvez également écrire ce script en utilisant un trait de soulignement (_) pour référencer les propriétés et les méthodes du gestionnaire d’instances, comme indiqué ci-après :
var nIndex = Subform3.index;
if ((nIndex + 1) < Subform3.instanceManager.count) {
var nIndexFrom = nIndex;
var nIndexTo = nIndex + 1;
_Subform3.moveInstance(nIndexFrom, nIndexTo);
}
else {
xfa.host.messageBox(“The current item can’t be moved since it already is the
last instance in the list.”, “Combining Instance Manager Concepts”, 1);
}

Utilisation du gestionnaire d’instances pour contrôler les sous-formulaires au moment de l’exécution