Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

InfoPath Forum d'entraide sur InfoPath (concevoir des formulaires basés sur XML)

Réponse
 
Outils de la discussion
Vieux 29/07/2008, 10h39   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut arrayList in infopath

bonjour !

J'ai creer un Web service qui excetue une requete select sur ma base de donnees. Ma webmethods retourne un arrayList du type anytype !

J'utilise ensuite cette webmethods dans Infopath. Elle s'execute normalement.
Comme sur l'image. Mais le probleme, c'est que je voudrais separer les champs de la zone repetitive afin de les mettre dans des champs que j'ai creer moi meme. Comme sur la piece jointe
Le probleme, c'est que je ne sais pas comment ! Car avant l'execution le champs de type anyType n'a qu'une seule celulle. Donc a l'execution, c'est toujours le meme nom !





Quelqu'un a t'il une idee de comment proceder pour regler ce pb ?Pièce jointe 33849
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/07/2008, 15h50   #2 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

Salut,

Ca sera nettement plus simple si dans ton webservice au lieu de renvoyer une arraylist tu renvoyais un xml du type XmlDocument. Et après quand tu bind a infopath il te créer tout les bon champs!

ton webservices est écrit en quelle langage?

++

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/07/2008, 16h08   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

Salut,

Merci pour ton aide. Mon web service est ecris en C#.

Mais, je ne comprends pas comment renvoyer un document XML de type XMLdocument ?

Je chercher sur le net, savoir deja ce ke c'est et comment le mettre en place

Merci
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/07/2008, 16h25   #4 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

Regarde ici et je pense que tu vas comprendre:

http://www.csharpfr.com/codes/CSHARP...IME_35960.aspx
__________________
"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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/07/2008, 17h02   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

Non, je suis desolee, mais c'est encore plus le flou ! C'est quoi ce code ! C'est un web service ? Je suis navree mais, j'avoue qu'il y a beaucoup de code dans cet exemple et que le C# c'est la premiere fois ke j'utilise !

De plus, j'ai une tres tres vague notion de web service, a vrai dire c'est egalement la premiere fois que je travaille avec ca ! C;est tout du neuf pour moi !

Si tu pouvais m'eclairer sur ce code stp !
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/07/2008, 17h23   #6 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

Tu voudrais pas un code tout fait toi par hasard?

Le problème ce que c'est pas possible vu que tu dois toi même construire la structure du xml que tu aimerais en résultat.

explique moi comment tu voudrais ton xml et comment est structuré ton Array?

++

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/07/2008, 17h37   #7 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

Ok, si je retourne un document XML dans ma webmethods. Je pourrais donc creer une data connection vers mon webservice et voir afficher toutes les champs dont j'ai besoin (model, date de production, client .... ) dans la datasource dans infopath ! et j'aurais juste a faire la lien entre la textbox et le champs de ma dataconnexion.

Ainsi, j'aurais que du code dans mon webservice !

Si tu veux savoir, mon array n'a q'une seule colonne, et chaque ligne correspond a un champs de la requete (pr l'instant j'ai fait une requete avec 2 champs) :

Citation:
ArrayList TabString = new ArrayList();

SqlDataReader monCurseur = maCommande.ExecuteReader();


while (monCurseur.Read())
{
TabString.Insert(0,monCurseur.GetString(0));
TabString.Insert(1, monCurseur.GetInt32(1));

}

Dernière modification par padawanette ; 29/07/2008 à 17h57
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 11h24   #8 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

Oui exactement.

Je comprends pas bien tu parles de ligne dans ton Array?

Faut maintenant que tu définisse la structure de ton xml soit tu fait un schéma (ca serais bien) soit tu écris le squelette de ton xml.

Dis moi aussi comment tu veux binder de ta bdd a ton xml?
__________________
"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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 12h34   #9 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

ce que je voudrais, c'est retourner dans mon fichier XML, toutes les valeurs de ma requete sous des champs differents, pas dans un seul champs comm un arraylist.
Si je fais SELECT champs1, champs2 FROM TABLE, je voudrais que mes champs Champs1 et champs2 soient des champs separe dans mon XML. et Ainsi, quand j'importerai ma fonction dans infopath, j'aurais juste a utiliser les champs importes.

C'est assez complexe a comprendre.

Actuellement, mon fichier XML retourne par mon arraylist est le suivant


Je pense struturer mon XML de cette facon :

<champs1:string>valeur du champs</champ1>
<champs2:string>valeur du champs</champ2>
......
<champsN:string>valeur du champs</champN>

Est-ce possible ?

Puis pour la connection a la base de donnees, je n'utilise pas de dataset, j'utilise une string connection a authentification Windows !



Tu comprends bien la chose ? car je sais que c'est assez complexe car moi meme je suis perdue entre ces fichiers XML et le web service !

Dernière modification par padawanette ; 30/07/2008 à 15h20
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 17h34   #10 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

Les informations que je t'ai file te conviennent ? car je vais du surplace.

J'ai, qund meme, trouve 2 tuto concernant les fichiers XML :

http://stephaneey.developpez.com/tut...et/webservice/

http://www.csharpfr.com/tutoriaux/DA...RVICE_772.aspx

Je n'ai pas tout pige, y a trop de code partout et c'est ca qui me bloque car je debut en developpement !

je demande vraiment de l'aide
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 30/07/2008, 18h02   #11 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

Apparement, je peux decouper mon tableau sous infopath en JScript mais, avec l'option "Enable browser" sous 2007, il m'est impossible d'avoir du JS. Je n'ai acces qu'au VB.

Je suis degue car j'avais trouve une solution en JS !!!! donc, je reviens au point de depart !
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 31/07/2008, 10h02   #12 (permalink)
Expert Confirmé
 
Avatar de virgul
 
Date d'inscription: novembre 2004
Localisation: I Love Techno me voila!!!
Âge: 24
Messages: 1 603
Envoyer un message via MSN à virgul Envoyer un message via Skype™ à virgul
Par défaut

Avec form services jscript et vbscript ne fonctionne pas tu es obligé de faire soit du C# ou du VB.Net.

faut pas faire comme ca pour ton xml il te faut une balise avec un nom unique et qui a par exemple un attribut id qui est incrémenté ex:

Code XML :
 
<Root>
<champs id="1">valeur du champs</champ>
<champs id="2">valeur du champs</champ>
<champs id="3">valeur du champs</champ>
</Root>
 

Franchement faudrait que lise le tuto sur XML car ce que tu m'a écris la prouve que tu n'as pas compris comment marche XML et "l'esprit" de XML:

http://xml.developpez.com/cours/

++

Thierry


++

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
virgul est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 31/07/2008, 10h46   #13 (permalink)
Nouveau membre du Club
 
Date d'inscription: juillet 2008
Localisation: chti'mi
Âge: 21
Messages: 61
Par défaut

je viens de trouver a l'instant !! jpensais que ca allait etre un truc super super complique car l'exemple que tu m'avais file m'avait fais un peu peur !!

Mais je viens te trouve a l'instant grace a un site de Microsoft !! je suis super contente, ca fonctionne et je vais pouvoir avancer 1

Je retourne une XML de type xmldocument comme tu me l'a sugere !

Merci pour ton coup de pouce car ne connaisant ni les web service, ni le C#, c'est sur que ca aurait ete bien long a trouver la reponse ! Donc encore merci pour ton aide

Dernière modification par padawanette ; 31/07/2008 à 11h17
padawanette est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > InfoPath

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide