Nombre de Sections Extensible - InfoPath Dev
in

InfoPath Dev

Nombre de Sections Extensible

Last post 04-11-2007 08:14 AM by BanGotti. 11 replies.
Page 1 of 1 (12 items)
Sort Posts: Previous Next
  • 04-10-2007 05:35 AM

    Nombre de Sections Extensible

    Salut, est-il possible de prédéterminer le nombre d'instances d'une section extensible en code manager? J'imagine bien que cela est possible, donc ma question est plutot, comment faire!

    Par exemple: on prend des données issues d'une base oracle avec un service Web, dans un Data Set de 3 tables (genre Entreprise RelationClient-Entreprize Client), et, au chargement du formulaire, on aurait:

    Entreprise 1: nom, secteur
    Client1
    Client2

    Entreprise 2
    Client1
    Client2
    Client3

    Et ainsi de suite.

    Merci à tous!
  • 04-10-2007 06:02 AM In reply to

    Re: Nombre de Sections Extensible

    Salut et bienvenue,

    Désolé mais je ne comprend pas vraiment ta question car c'est t'as structure XML qui va faire ce que tu verras...

    Mais si c'est que tu essaye de faire c'est d'après une liste entreprise, affiché les client qui en sont membre il faut que tu utilise les filtre ou le conditionnal formatting.

    Essaye de mieux m'expliquer

    ++

    Thierry
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 04-11-2007 01:11 AM In reply to

    Re: Nombre de Sections Extensible

    En fait, je voudrais que des lignes soient ajoutées automatiquement à l'ouverture du formulaire, dans une section extensible, selon des informatiopns provenant d'une base de donnée.

    Par exemple, si la base de donnée renvoie 2 instances de la table "Entreprise", j'aimerais avoir 2 lignes dans la section extensible, de manière automatique, à l'ouverture du formulaire.

    Plus généralement, j'aimerais simplement pouvoir ajouter des lignes à uen section extensible et les remplir, en code managé.

    On m'a proposé de faire un custom control, mais je pense qu'il y a plus simple avec infopath 2003. Peut être avez vous une idée.




    Je
  • 04-11-2007 01:28 AM In reply to

    Re: Nombre de Sections Extensible

    Comme je te le disais l'affichage de ton formulairfe infopath dépend de ton xml donc tu as plusieurs posibilités:

    Ajouter des noeud dans ton xml(ce qui va modifier la vision dans infopath) via une transfo XSLT ou un .insertBefore ou un .appendchild.

    Ou tu peux demander à Infopath de te rajouter une occurence a ton tableau.:
    thisXDocument.View.ExecuteAction("xCollection::insert", "Person_515");


    Person_515 doit être remplacé par la valeur que tu touveras dans le dernier onglet des propriétés de ta section répétitive.

    Dépend de ton cas il sera plus judicieux d'utiliser l'une ou l'autre des solutions. Si tu en as beaucou utilise une transfo XSLT et fait un replaceChild et si c'est limité utilise insertBefore ou appenChild et si tu as à ajouter un élément vide dont tu ne connais pas la structure XML tu peux utiliser ExecuteAction.

    ++

    Thierry
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 04-11-2007 01:41 AM In reply to

    Re: Nombre de Sections Extensible

    Merci beaucoup, c'est plutot ce a quoi je pensais aussi.
  • 04-11-2007 02:31 AM In reply to

    Re: Nombre de Sections Extensible

    Une derniere chose, lorsque j'utilise la méthode appendchild(IXMLDOMNode) de la manière suivante:

    //Get the node
    IXMLDOMNode node = thisXDocument.DOM.selectSingleNode("my:myFields/my:groupe1/my:Instance/my:champ3");
    //Clone node
    IXMLDOMNode cloneNode = node.cloneNode(true);
    //Append the clone node to repeating node
    node.appendChild(cloneNode);

    J'obtiens l'exception COMException suivante:

    L'élément 'http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-04-10T09-00-37}champ3' est inattendu par rapport au modèle de contenu de l'élément parent 'http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-04-10T09-00-37}champ3'.

    Avez vou une idée d'ou cela pourrait venir? Je ne pense pas que ca vienne de cette partie du code.
  • 04-11-2007 02:35 AM In reply to

    Re: Nombre de Sections Extensible

    il faut que tu change la dernière ligne car la tu essaye d'introduire un my:champ3 dans un autre my:champ3.

    appendChild=ajouter un enfant donc ce que tu fais la :

    <my:champ3><my:champ3/></my:champ3>

    ce qu'il faut faire c'est :
    node.parentnode.appendChild(cloneNode);
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 04-11-2007 02:43 AM In reply to

    Re: Nombre de Sections Extensible

    Ok, c'était une erraur, mais, meme en essayant, ca au un insert before, j'ai toujours la meme exception. Enfin plus ou moins:

    L'élément 'http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-04-10T09-00-37}champ3' est inattendu par rapport au modèle de contenu de l'élément parent 'http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-04-10T09-00-37}Instance'.

  • 04-11-2007 04:10 AM In reply to

    Re: Nombre de Sections Extensible

    Mais c'est quoi qui ce répéte c'est pas plutot my:instance??

    si oui:

    //Get the node
    IXMLDOMNode node = thisXDocument.DOM.selectSingleNode("my:myFields/my:groupe1/my:Instance");
    //Clone node
    IXMLDOMNode cloneNode = node.cloneNode(true);
    //Append the clone node to repeating node
    node.parentnode.appendChild(cloneNode);
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 04-11-2007 05:36 AM In reply to

    Re: Nombre de Sections Extensible

    J'ai pas tout à fait compris ce que tu as modifié mais ca marche et je t en remercie!!!
    Je pensai avoir tenté de faire ce que tu as dis une fois pourtant, ca ne fonctionnait pas...
  • 04-11-2007 05:56 AM In reply to

    Re: Nombre de Sections Extensible

    En faite c'est très simple ton élément qui se répéte c'est my:Instance et il contient my:champ3.
    ton xml comme il devrait se répéter:
    <my:groupe1>
    <my:Instance><my:champ3/></my:Instance>
    <my:Instance><my:champ3/></my:Instance>
    </my:groupe1>

    ton premier essai:
    <my:groupe1>
    <my:Instance><my:champ3><my:champ3/></my:champ3></my:Instance>
    </my:groupe1>

    le second:
    <my:groupe1>
    <my:Instance><my:champ3/><my:champ3/></my:Instance>
    </my:groupe1>


    Ce qui n'est pas accepté par ton schéma XML donc Infoapth fait une erreur.

    Compris?
    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 04-11-2007 08:14 AM In reply to

    Re: Nombre de Sections Extensible

    Oué, merci :)!
Page 1 of 1 (12 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.