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:
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