![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML) |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
|
Bonjour a tous,
J'ai un probleme casi-similaire au precedent. J'ai trouve une solution a mon probleme, mais elle est un peu scabreuse a realiser. je vous explique. J'ai dans mon formulaire Infopath une data connexion vers mon webservice effectuant une requete select. cette requete retourne une repeating table. Tout ca fonctionne sans probleme. ce que je voudrais, c'est renvoyer les donnees de ma repeating table vers mon webservice afin de faire une requete UPDATE. Pour effectuer ca, j'avais pensais faire une boucle avec comme test d'arret le nbre d'elements ds ma repeating table et d'appeler ma methods update a chaque nouvelle ligne de la repeating table. mais cela est complexe et lourd pour l'execution des donnees. Je pensais aussi pourquoi ne pas renvoyer ma repeating table a mon webservice et ensuite dans le webservice effectuer la requete. y a t-il une facon d'optimiser ces enregistrements ? merci de vos conseils |
|
|
|
|
|
#2 (permalink) |
|
Expert Confirmé
![]() |
Salut,
Comme tu le dis très bien un appel avec beaucoupo de données et plus perfommant que 10 fois un petit appel. Donc envoi ton noeud parent qui contient tes éléments répétitif et dans ton webservice fait une boucle sur ces élément et insérent les un a un. ++ Thierry
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#3 (permalink) | |
|
Nouveau membre du Club
![]() Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
|
bonjour, je retourne donc mon noeud selectionned ans mon webservice sous format string. Mais petit probleme, il me retourne toutes mes valeurs collees les unes aux autres de cette facon :
Citation:
A l'origine, mon fichier xml qu'Infopath recoit pour afficher mes donnees est tel qui suit : Code :
<blocktotal id_block="2"> /block que j'ai selectionne dans mon code infopath <description id="1"> .... </description> <description id="2"> .... </description> </blocktotal> Dernière modification par padawanette ; 19/08/2008 à 13h22 |
|
|
|
|
|
|
#4 (permalink) |
|
Expert Confirmé
![]() |
Salut,
Si je peux pas voir le code que tu as dans ton webservice je ne pourrais jamais te dire qu'es-ce qu'il y a de faux. Je veux voir les deux codes celui qui envoie et celui qui traite le résultat dans le webservice.
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
|
#5 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
|
Code in Infopath
Code :
'select the ID of Description Block thanks to the xml_incrementation using in the button Dim ID As String = Me.DataSources("xml_incrementation").CreateNavigator().SelectSingleNode("/dfs:myFields/dfs:dataFields/tns:xml_incrementationResponse/tns:xml_incrementationResult/Extra/BlocToSee", NamespaceManager).Value Dim Area As String = Me.DataSources("Supplier").CreateNavigator().SelectSingleNode("/dfs:myFields/dfs:queryFields/tns:Supplier/tns:area", NamespaceManager).Value 'Connect to the data connection to select the infomation Dim conn As XPathNavigator = Me.DataSources("Supplier").CreateNavigator() 'Select the noeuds what we need in function of the BlocToSee field Dim XPath As String = "/dfs:myFields/dfs:dataFields/tns:SupplierResponse/tns:SupplierResult/Supplier/BLOCKTOTAL[@id_block='" + ID + "']" Dim ligneSelect As XPathNavigator = conn.SelectSingleNode(XPath, NamespaceManager) Dim test As String = ligneSelect.ToString 'Dim WsSave As save_infopath.Update = New save_infopath.Update() 'send the data in the webservice in calling the method 'WsSave.UPDATE_Supplier(test) 'post my receive data in a text-box Dim Description As XPathNavigator = Me.MainDataSource.CreateNavigator.SelectSingleNode("/my:myFields/my:result_Supplier", NamespaceManager) Description.SetValue(test) Dernière modification par padawanette ; 20/08/2008 à 14h17 |
|
|
|
|
|
#6 (permalink) |
|
Expert Confirmé
![]() |
écoute il existe des méthode qui sont décrit dans l'aide de Visual studio qu'il faudrait consulter avant de poster.
.Value et .toString ne renvoit que la valeur du champ pas les balises. Tu dois utiliser outerxml ou innerxml je te laisse consulter l'aide pour voir la différence entre ces méthode. ++ Thierry
__________________
"Life is short don't forget to inhale" Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre." Microsoft Office InfoPath MVP - Mon blog |
|
|
|
|
![]() |
![]() |
||
repeating table, web service, requete update
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|