Lorsque vous collez des informations de mise en relation pour une partie d'état, l'option Partie d'état contextuelle a principalement un effet sur le contexte de données du lien ; les champs Sélectionner dans (URI de l'état) et Nom de l'objet sont toujours identiques, quels que soient les choix possibles dans la liste Coller le lien. Cette section présente différents scénarios et décrit la manière dont le logiciel crée un contexte de données pour chacun d'eux.
Scénario 1
Si votre état source contient des données (en d'autres termes, si l'état est dans l'onglet Aperçu), le contexte de données de la partie d'état contextuel (dans l'état cible) correspond au contexte de données de l'onglet Aperçu de l'état source pour tous les enfants du champ sélectionné. Par exemple, le champ Contexte des données peut contenir ce qui suit : /Pays[Etats-Unis]/Région[*]. Sinon, le logiciel utilise le contexte de données de l'onglet Conception de l'état source en tant que contexte de données de la partie d'état contextuelle dans l'état cible.
Scénario 2
Si vos états source et cible sont identiques et que l'objet que vous choisissez comme source provient de l'onglet Aperçu, le contexte de données reste vide lorsque l'objet cible vers lequel vous effectuez la mise en relation est situé à un niveau supérieur par rapport à l'objet source. Par exemple, lorsque le contexte de données source est /Pays[Australie]/IndexEnfant[5] et que le contexte de données cible est /Pays[Australie], le contexte de données de la partie d'état contextuelle reste vide.
Scénario 3
Si vos états source et cible sont identiques et que l'objet que vous choisissez comme source provient de l'onglet Aperçu, le contexte de données collé est un contexte de l'onglet Conception (sous la forme d'une formule) lorsque l'objet cible vers lequel vous effectuez la mise en relation est situé à un niveau inférieur par rapport à l'objet source. Par exemple, lorsque le contexte de données source est /Pays[Australie] et que le contexte de données cible est /Pays[Australie]/IndexEnfant[5], le contexte de données de la partie d'état contextuelle est "/"+{Clients.Pays}.
tables croisées
Si l'objet que vous copiez dans l'état source fait partie d'une table croisée, le contexte de données de la partie d'état contextuelle se base sur l'objet sélectionné incorporé dans la table croisée. Crystal Reports crée le contexte de données en regardant si l'objet sélectionné dans la table croisée est une ligne, une colonne ou une cellule. Le programme récupère ensuite les noms de ligne et de colonne. Il analyse alors le contexte de données de l'onglet Conception. Enfin, il génère le contexte de données de la partie d'état contextuelle en ajoutant la fonction GridRowColumnValue si le groupe contenu dans la formule de contexte de données figure dans les noms de ligne ou de colonne récupérés auparavant. Par exemple, vous pouvez avoir un contexte de données de ce type :
"/"+GridRowColumnValue("Clients.Pays")+"/"+GridRowColumnValue("Clients.Région")