![]() |
| 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) |
|
Membre du Club
![]() Date d'inscription: avril 2008
Âge: 19
Messages: 83
|
Bonjour, je suis confronté à un nouveau problème
![]() Je souhaiterais remplir ce tableau Le nombre de lignes de ce tableau est contenu dans la base de données, et lorsque je clique sur le bouton, le code suivant est exécuté : Code :
function CTRL4_5::OnClick(eventObj) { var nbLigne= parseInt(XDocument.DOM.selectSingleNode("/my:mesChamps/my:NbLignes").text); var i = 0; while (i<nbLigne) { XDocument.View.ExecuteAction("xCollection::insert", "groupe2_1"); i++; } } La création du tableau marche sans aucun problème, mais la ou je bloque c'est ici : -Je dois à présent remplir les colonnes de ce tableau avec des champs de ma base de données. La solution que j'envisage (enfin le début de solution ^^) est la suivante : -Je récupere tous les champs de ma base via un webservice -Je les concatène dans un champ de mon formulaire -Avec JScript, je split afin de récupérer tous les champs comme ils sont stockés dans la base. Le souci, c'est que je ne sait pas comment : -Spliter en JScript -Affecter une colonne d'un tableau en JScript Cependant, si vous voyez une solution plus simple, je suis aussi preneur |
|
|
|
|
|
#2 (permalink) | |
|
Expert Confirmé
![]() |
Salut,
Citation:
Comment es-ce structuré?
__________________
"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) |
|
Expert Confirmé
![]() |
pour gagner un peu de temps dans ton code et afin qu'infopath ne réactualise pas a chaque insert tu peux mettre au début de ton code:
Code :
XDocument.View.DisableAutoUpdate(); Code :
XDocument.View.EnableAutoUpdate();
__________________
"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 |
|
|
|
|
|
#4 (permalink) |
|
Membre du Club
![]() Date d'inscription: avril 2008
Âge: 19
Messages: 83
|
Non je ferais une requete SELECT qui renverrais un arraylist je pense ou bien je reverrais tout sous forme de chaine concaténée, je ne sais pas trop encore.
J'ai expérimenté C# et XML et c'est vraiment pas évident ^^ |
|
|
|
|
|
#5 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2008
Messages: 44
|
Bonjour cette solution de travail m'intéresse beaucoup.
Code :
XDocument.View.ExecuteAction("xCollection::insert", "groupe2_1"); Potentiellement, on peut arriver à (en fonction du mois choisi) un tableau de (31, fx mois) date,liste déroulante, en ajoutant ces champs de la même manière ? et les traiter par la suite ? Je pense notamment a empécher l'édition des jours non ouvrables ... J'ai prit l'habitude d'utiliser Code :
MainDataSource.CreateNavigator().SelectSingleNode "/my: blabla/my: blabla ",NamespaceManager).Value / SetValue Mais c'est beaucoup trop long de créer 31 fois nb de colonnes champ à la main ! |
|
|
|
|
|
#6 (permalink) |
|
Expert Confirmé
![]() |
Euh ca c'est du code de Infopath Version 2003 et pas 2007. Je ne connais pas l'équivalent en 2007 mais tu devrais trouver facilement dans MSDN comment faire.
__________________
"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 |
|
|
|
|
|
#12 (permalink) |
|
Membre du Club
![]() Date d'inscription: avril 2008
Âge: 19
Messages: 83
|
stop edit :p
bah c'est pas une bonne nouvelle mais bon, tu code avec quoi toi ? J'ai du mal a cerner Infopath, car j'ai un peu appris sur le tas de moi meme. Mais : -Je fais le formulaire sous Infopath -Je remplis des champs avec des webservices en c# développés avec Visual Web Developper Express Edition -Et j'ai du avoir recours au JScript d'InfoPath pour créer mon tableau automatiquement (avec Microsoft Script Editor) mais Virgul m'a dit qu'on pouvait coder en C# au lieu de JScript en utilisant Visual Studio et Office Developper Tool Kit |
|
|
|
|
|
#13 (permalink) |
|
Membre à l'essai
![]() Date d'inscription: avril 2008
Messages: 44
|
Ah ceci explique celà, je suis sous infopath 2007, donc je suppose que la limitation c#/ vb n'est pas sur la 2003, et qu'on y codait en Jscript ?
Bon merci, je vais chercher si il y a du c# permettant ca ! edit : visual studio 2005 avec VSTA Dernière modification par Yurnero_ ; 10/06/2008 à 10h59 |
|
|
|
|
|
#15 (permalink) |
|
Expert Confirmé
![]() |
Oula vous avez totalement faux tous les deux désolé...
Le code qui est sur ce poste est du code Jscript avec le modèle object 2003 de Infopath. Avec 2003 on travaille avec msxml3 et avec 2007 on utilise msxml6 je crois. Donc le syntax diffère ce qui fait que le code jscript modèle object 2003: Code :
XDocument.View.ExecuteAction("xCollection::insert", "groupe2_1"); Code :
thisXDocument.View.ExecuteAction("xCollection::insert", "groupe2_1"); Pour développer en C# on doit avoir Visual Studio que ce soit en 2007 ou en 2003. Note: pour la version 2003 faut avoir minimum la SP1 pour pouvoir coder en C# (actuellement Office 2003 est en SP3). J'espère que j'ai été clair et que vous comprendrez.
__________________
"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 |
|
|
|
![]() |
![]() |
||
Remplir un tableau généré dynamiquement
|
||
| Outils de la discussion | |
|
|