IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

InfoPath .NET Discussion :

Conseil sur la construction d'un gros formulaire


Sujet :

InfoPath .NET

  1. #1
    Membre éprouvé
    Homme Profil pro
    Référent technique
    Inscrit en
    Juillet 2007
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Référent technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 834
    Points : 1 219
    Points
    1 219
    Par défaut Conseil sur la construction d'un gros formulaire
    Bonjour à tous, je dois construire un formulaire Infopath 2003 (avec code managé C#) de très grande taille.

    Je vous explique rapidement.
    Ce formulaire possède 3 niveaux.
    - 1er niveau dans lequel je dois sélectionner 1 valeur parmi 3 choix.
    - 2eme niveau dans lequel je dois sélectionner 1 valeur parmi 5 choix.
    - 3ème niveau: un tableau comprenant pas moins de 200 champs.

    Il faut que je puisse renseigner sur ce formulaire le tableau pour toutes les valeurs des niveaux 1 et 2 et bien sur garder les valeurs pour les insérer en base.

    Pour ceux qui ont suivi, avec une structure classique, j'en suis à 3*5*200 = 3000 champs (donc un bon gros formulaire qui risque de connaitre quelques ralentissement).


    Qui aurait une idée permettant d'obtenir un formulaire plus léger (structure générée par le code et ou seulement 1 tableau est affiché?, clone de XML...).
    Je ne sais pas quelle méthode employer, donc je suis prêt à toute proposition de votre part.

    Cordialement,
    Merci.
    Rémi MATAYRON
    N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/

    Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient.

  2. #2
    Membre du Club Avatar de romaik
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 69
    Points
    69
    Par défaut
    si tes champs recuperes des données depuis un fichiers XML (ce que j'ai compris)
    tu peux sectionner ton gros ficher XML de base (avec tes 3000 entrées) en 15 fichiers (3*5)
    avec ton code, quand tu aura rentrer la valeur 1 dans le premier niveau puis 2 dans le second, tu va chercher le fichier 1_2.xml par exemple

    j'ai compris a l'envers, tu peux preciser ta pensée ?
    parce que si c'est des champs de saisies avec donc 3000 champs de saisies differents, soit tu fais 15 formulaires, soit tu fais des vues.
    ou alors 1 formulaire avec les niveaux 1 et 2 qui en appelle un autre.
    You call me a super star, you gonna have to check out the stars !

    Ma Ville - Ma Foret

  3. #3
    Membre éprouvé
    Homme Profil pro
    Référent technique
    Inscrit en
    Juillet 2007
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Référent technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 834
    Points : 1 219
    Points
    1 219
    Par défaut
    En effet tu as bien compris.
    Le tableau de 300 chamsp est un tableau de saisie de données par l'utilisateur!!! Et oui malheureusement.

    Comme tu dis, je devrais faire 15 formulaires (entièrement d'accord!) mais mon client ne veut pas!!! Il veut un seul formulaire comprenant tout...

    Mais le problème c'est que ce sont des champs de saisie mais si le user revient sur qquchose déja rempli, il peut le consulter et le modifier.
    Donc ma structure comprend obligatoirement 3000 champs.

    Si j'emploi des vues, j'ai le même problème!

    Connaissez vous une solution me permettant de ne pas créer mes 3000 champs manuellement. C'est à dire tout par le code une fois que j'ai sélectionné mes niveaux 1 et 2?

    Merci pour ton aide.
    Rémi MATAYRON
    N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/

    Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient.

  4. #4
    Membre du Club Avatar de romaik
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 69
    Points
    69
    Par défaut
    Gniiii le formulaire de fou !!!
    d'ailleurs, c'est pas 3000 mais 3002

    J'imagine que tu as des sources de données secondaires (pour generer tes champs).

    Tu peux probablement utiliser les repeating tables (je les ai quasiment pas utiliser, je vais pas pouvoir t'aider sur ça :s) ou des sections repetables.
    tu sais que tu va avoir 200 lignes; le label du champs (text explicatif si tu prefere) tu peux l'avoir par tes 2 premiers niveaux et tes sources de données secondaires.

    Ce qui t'amene a une repeating table de ouf avec seulement 200 entrées dans ta source de données principale (sans compter les attributs ).

    Je suis sur un probleme similaire (que j'ai resolu) : je dois afficher ou masquer des controles en fonction d'un fichier XML. Les sources de données secondaires pour ca c'est vachement bien. par contre, comme je n'ai que 35 elements, j'ai pus tous les mettre a la main.
    toi, pour 200, vaut mieux un element qui peut se repeter, mais ca necessite beaucoup plus de code (chose que je ne peux pas me permettre car les clients vont modifier mon template a leur sauce).
    You call me a super star, you gonna have to check out the stars !

    Ma Ville - Ma Foret

  5. #5
    Membre éprouvé
    Homme Profil pro
    Référent technique
    Inscrit en
    Juillet 2007
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Référent technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 834
    Points : 1 219
    Points
    1 219
    Par défaut
    Tout bien réfléchi, j'aimerais plutot utiliser un systeme maitre/detail comprenant que mes 200 champs et je me débrouillerais ensuite pour le reste.

    Le hic: Est ce possible que le maitre soit sous forme de combo au lieu d'être un tableau extensible???

    Il me semble que l'évènement permettant la création du mon sous-groupe) est situé sur le insert de mon tableau extensible.
    Il faudrait donc le récupérer pour l'insérer dans le after ou le beforechange de ma combo?

    Le fonctionnement des maitre détail est particulier et semble néécessiter un peu de pratique...

    Merci d'avance.
    Rémi MATAYRON
    N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/

    Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient.

  6. #6
    Membre du Club Avatar de romaik
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 69
    Points
    69
    Par défaut
    Je ne connais pas du tout le principe de maitre/detail.
    Bonne chance pour la suite de ton formulaire
    You call me a super star, you gonna have to check out the stars !

    Ma Ville - Ma Foret

  7. #7
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Salut,

    Oui tu peux faire une choses comme maitre/détail avec une listebox et une section mais faudrat le faire via les régles et surtout avoir un identifiant unique pour chaque élément répétitif de ton xml.

    Deux possibilités:

    Soit tu utilise une base de données secondaire ou tu copie la partie de ton xml et tu la modifie puis tu l'a réintroduis dnas le xml une fois la modif terminé (faudra le faire via un code)

    ou alors tu décide d'utiliser current() et les règles pour séléctionner ton noeud à modifier (avantage ca reste dans le xml central désavantage ca sera surement un peu plus lent que tu modifie).

    Tu préfères laquelle? ou sa ne te convient pas ?

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  8. #8
    Membre éprouvé
    Homme Profil pro
    Référent technique
    Inscrit en
    Juillet 2007
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Référent technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 834
    Points : 1 219
    Points
    1 219
    Par défaut
    Les 2 me plaisent.
    En fait je mets tout dans un seul XML et au moment de valider le formulaire, je vais découper mon fichier XML en 15 pour pouvoir le faire ensuite passer dans mon service qui l'inséreras en base de données.

    Je m'orientais vers ceci.
    Mes éléments sont unique dans mon niveau 2 donc il n'y aura pas de soucis.


    Le problème est que mon maitre est le niveau 2.
    Celui-ci comprend plusieurs valeurs.

    Mon niveau 1 est une zone de liste déroulante.
    Et je voudrai (au choix):
    - obtenir le niveau 2 sous forme de combo (je ne sais pas si cela est faisable d'avoir le maitre sous forme de combo puisque l'evènement est l'insertion)
    - Peupler mon tableau extensible maitre à partir de la valeur que j'ai dans ma combo de Niveau1. (plus facile)

    Mais comment faire ceci? Je n'ai jamais vraiment trop pratiqué les sections extensibles et encore moins les maitre-détail...

    Si quelqu'un à un exemple ou une idée, je suis preneur.

    Merci à tous les 2 pour votre aide, vous m'avez déja bien avancés!
    Rémi MATAYRON
    N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/

    Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient.

  9. #9
    Membre expérimenté
    Avatar de virgul
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 625
    Points : 1 666
    Points
    1 666
    Par défaut
    Je suis pas sure d'avoir compris ton explication de "ce que tu voudrais faire"??

    Mais pourquoi pas filtrer les données de ta combo avec seulement les enregistrement qui correspondent aux choix de premier niveau?

    Et après une fois les deuxième choix effectué jouer avec current() ou copiez ton noeud dans ta bdd secondaire?

    pour faire un filtre rien de plus simple dans les propriétés de ta combo tu as choisi les données répétitive que tu veux afficher dans le champs entrées et quand tu presse sur le bouton a coté sa t'ouvre une fenêtre ou tu peux choisir ton noeud en bas a gauche tu a un autre bouton filtrer les données clic dessus et défini la condition.

    J'espère que j'ai compris sinon fait moi un petit dessin ca sera surement plus simple a comprendre...

    ++

    Thierry
    "Life is short don't forget to inhale"
    Mais: "Mieux vaux arriver en retard dans ce monde... qu'en avance à l'autre."

  10. #10
    Membre éprouvé
    Homme Profil pro
    Référent technique
    Inscrit en
    Juillet 2007
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Référent technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 834
    Points : 1 219
    Points
    1 219
    Par défaut
    Je reprends:
    Premier niveau : Une combo Infopath (marche très bien)

    Deuxième niveau:
    Je possède pour l'instant un tableau extensible qui comprends un champs de type "Zone de texte".

    Je voudrais pouvoir remplir mon champ de Niveau 2 lorsque je sélectionne une valeur dans mon 1er niveau.

    Le hic:
    - Si je laisse mon niveau 2 en "zone texte" dans un tableau extensible, je n'arrive pas à récupérer toutes les valeurs, seule la pemière est affichée (parce qu'il ne me fait pas la copie sur un nouvel élement de la section extensible que je devrais créer manuellement).
    Je préférerais cette solution.

    - Si j'utilise une combo (en enlevant la possibilité d'insérer dans la rubrique Maitre"), le niveau 2 est bien rempli (je connaissais le coup du filtre).
    Mais je perds le lien entre le maitre et le détail!!!(car l'évènement d'insertion qui a disparu ne permet plus de créer un clone du groupe...)

    Et oui! Donc comment faire???
    Rémi MATAYRON
    N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/

    Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Conseils sur liste paginée, triable et avec formulaire de recherche
    Par pmithrandir dans le forum Symfony
    Réponses: 5
    Dernier message: 14/10/2012, 12h35
  2. [AC-2003] Besoin d'un conseil sur formulaire "commande" "Bon livraison"
    Par revemane dans le forum IHM
    Réponses: 1
    Dernier message: 26/03/2012, 21h59
  3. Réponses: 2
    Dernier message: 17/05/2010, 23h59
  4. [débutant] conseils sur contraintes et alter table
    Par maysa dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 26/05/2004, 09h03
  5. Recherche Livre / Conseils sur la conception de Base
    Par Yeuma dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 02/01/2004, 14h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo