4 mars 2009

INFOPATH : Tableau extensible

Vous pouvez être amené dans le développement Infopath à vouloir insérer des lignes dynamiquement dans une section ou un tableau extensible
Par exemple, l'image suivante nous montre une structure extensible gérée par Infopath:



Il faudra donc insérer un bloc "ExtProduit" à chaque fois que l'on voudra insérer une nouvelle ligne...
Le code à implémenter est le suivant:
XmlDocument doc = new XmlDocument();

XmlNode group = doc.CreateElement("ExtProduit", NamespaceManager.LookupNamespace("my"));

XmlNode field = doc.CreateElement("Code", NamespaceManager.LookupNamespace("my"));

XmlNode node = group.AppendChild(field);

node.InnerText = "Valeur du code";


field = doc.CreateElement("Descriptif", NamespaceManager.LookupNamespace("my"));
node = group.AppendChild(field);

node.InnerText = "Valeur descriptif";

//Ajout du group au document

doc.AppendChild(group);
//Ajout du document à la source de données concernée

MainDataSource.CreateNavigator().SelectSingleNode("//my:RecProduit", NamespaceManager).AppendChild(doc.DocumentElement.CreateNavigator());


Plutôt simple non?
Après à vous de mixer ceci selon les besoins mais le principe de base est le précédent.

Aucun commentaire:

Enregistrer un commentaire