J'essaie de créer un formulaire Infopath qui remplit les champs avec des données provenant d'une liste Sharepoint. J'ai mis en place une liste déroulante dont les valeurs sont remplies à partir d'une source de données Sharepoint. Cette partie fonctionne bien. Maintenant, je veux que d'autres champs de chaînes soient automatiquement remplis une fois que l'utilisateur a sélectionné l'un des éléments de la liste.
Donc, j'ai mis en place une règle pour le faire. J'ai écrit une formule XPath pour saisir l'attribut dans la liste SharepointXPath Indexation d'éléments de noeuds basée sur l'attribut
xdXDocument:GetDOM("Base Printers")
/dfs:myFields/dfs:dataFields/dfs:Base_Printers/@PNP_String
Le problème est que cela prend toujours l'attribut (PNP_String) du premier élément de la liste. Je veux le remplir avec l'imprimante appropriée (Base_Printers) basée sur la sélection de l'utilisateur. Je dois donc indexer dans Base_Printers, puis choisir PNP_String. J'ai donc essayé cette
.../dfs:Base_Printers[2]/@PNP_String
Il indexera dans le 2ème point et retourner cette chaîne PNP, ce qui est génial!
Mais j'ai besoin d'indexer à l'élément l'utilisateur choisi, alors j'ai essayé ceci:
.../dfs:Base_Printers[@Printer=my:basePrinter]/@PNP_String
Où @Printer est l'attribut dans la liste des sharepoint, et mon: basePrinter est la variable InfoPath locale de la chute vers le bas liste. Et ça ne fait rien pour moi. Lorsque j'ai essayé une valeur littérale:
.../dfs:Base_Printers[@Printer='XYZ']/@PNP_String
Il a choisi la bonne chaîne pnp.
Donc, ma question est, comment puis-je indexer dans ce tableau d'imprimantes en fonction de la sélection de l'utilisateur?
Merci
Pouvez-vous clarifier un peu? Ai-je raison de vouloir obtenir l'index de l'imprimante sélectionnée par l'utilisateur dans la liste de sélection de toutes les imprimantes? –
L'utilisateur sélectionne une chaîne dans la liste déroulante, cette chaîne correspond à l'attribut @Printer dans le fichier XML. Je ne peux donc pas coder en dur le nom. Je ne pense pas que je puisse obtenir l'index de la liste déroulante infopath, donc je veux utiliser le nom, comme dans les exemples que je montrais –