2010-12-01 20 views
0

Objectif: créer un formulaire Infopath qui affiche une liste de sociétés dans une zone de liste déroulante et affiche des informations supplémentaires lorsqu'une entreprise est sélectionnée.Remplissage d'une zone de liste déroulante dans Infopath à partir d'un service Web

Les données seront servies par un service Web WCF en contact avec un backend SQL Server. En théorie, je devrais être capable d'utiliser une procédure stockée (et des méthodes associées dans le webservice) pour obtenir une liste de toutes les entreprises et leurs ids associés, remplir la combo dans Infopath, puis lier la sélection du nom de l'entreprise à son identifiant puis passez cet ID à une autre procédure stockée pour renvoyer les informations supplémentaires.

Toutefois, lorsque j'essaie de connecter ma méthode de service Web pour renvoyer toutes les sociétés, je ne peux pas connecter le champ de nom de la société dans une seule zone de liste déroulante car les données renvoyées se répètent.

Est-ce que je fais cela mal? Dois-je simplement utiliser une seule méthode qui renvoie toutes les informations de l'entreprise (il y en a environ 700), puis créer un filtre sur le champ du nom de l'entreprise à la place?

+0

;) ------------------- – SaiyanGirl

+0

Alors que je coché la case réponse ci-dessous, je ne pouvais pas pour la vie de me faire cela travail. :( – Talvalin

Répondre

1

La zone de liste déroulante renvoie un identifiant de société unique. Cet identifiant peut être utilisé pour rechercher le nom de la société dans la liste des sociétés renvoyée par le service Web.

peut faire sans codage:

Créer une règle 'CompanyIDChanged' sur les combobox. Ensuite, créez une action 'Définir une valeur de champs' pour cette règle. Définissez le champ de formulaire 'CompanyName' sur la valeur 'CompanyName' du service Web. Utilisez un filtre sur la valeur pour définir CompanyName pour l'ID de société correct. Le filtre doit être 'CompanyID' dans la zone de liste déroulante = 'CompanyID' dans le service Web.

Cordialement Jack Graus