« Wenn Ihr mal ein Infopath Formular auf einem MOSS ... | Main| Wie kommt man zu Tabellengrößen Informationen ? »

XMLFORMVIEW in einer ASP.NET-Seite einbinden (2)

0
Kategorie   

In einem anderen Beitrag, hatte ich ja mal beschrieben, welche DLL's man sich lokal kopieren sollte, damit man mit VS 2005 Infopath in einer ASP.NET Seite hosten kann.

Hier nun ein Beispiel, was man damit anfangen kann......

Also ich habe ein Infopath-Formular, welches über die Form-Services ausgefüllt werden soll.
Zur Kategorisierung müssen einige Angaben (Hersteller-Gruppe, Hersteller, Verkäufergruppe, use.) gemacht werden.
Hier würde dich ein Tree-View zur Eingabe eignen.
A picture named M2
Sieht dann so aus
Hier der Code, welcher unter dem Selected-Node-Event hängt:
 protected void tvContracts_SelectedNodeChanged(object sender, EventArgs e) {
        TreeNode tn = tvContracts.SelectedNode;
        int iDepth = tn.Depth;
        EnsureChildControls();
        XmlFormView1.DataBind();
        XPathNavigator root = XmlFormView1.XmlForm.MainDataSource.CreateNavigator();
        XPathNavigator xpnContractType =
            root.SelectSingleNode("/my:VEC_INFORMATION/my:CONTRACT_TYPE", XmlFormView1.XmlForm.NamespaceManager);
        XPathNavigator xpnSignatoryManufacturerGroup =
            root.SelectSingleNode("/my:VEC_INFORMATION/my:SIGNATORY_MANUFACTURER_GROUP",
                                  XmlFormView1.XmlForm.NamespaceManager);
        XPathNavigator xpnSignatoryManufacturer =
            root.SelectSingleNode("/my:VEC_INFORMATION/my:SIGNATORY_MANUFATURER", XmlFormView1.XmlForm.NamespaceManager);
        XPathNavigator xpnSignatoryDealerGroup =
            root.SelectSingleNode("/my:VEC_INFORMATION/my:SINGNATORY_DEALER_GROUP",
                                  XmlFormView1.XmlForm.NamespaceManager);
        XPathNavigator xpnSignatoryDealer =
            root.SelectSingleNode("/my:VEC_INFORMATION/my:SIGNATORY_DEALER", XmlFormView1.XmlForm.NamespaceManager);
        XPathNavigator xpnDerivative =
            root.SelectSingleNode("/my:VEC_INFORMATION/my:DERIVATIVE", XmlFormView1.XmlForm.NamespaceManager);
        switch (iDepth) {
            case 0:
                xpnContractType.SetValue("MANUFACTURER GROUP");
                xpnSignatoryManufacturerGroup.SetValue(tn.Text);
                break;
            case 1:
                xpnContractType.SetValue("MANUFACTURER");
                xpnSignatoryManufacturer.SetValue(tn.Text);
                xpnSignatoryManufacturerGroup.SetValue(tn.Parent.Text);
                break;
            case 2:
                xpnContractType.SetValue("DEALER GROUP");
                xpnSignatoryDealerGroup.SetValue(tn.Text);
                xpnSignatoryManufacturer.SetValue(tn.Parent.Text);
                xpnSignatoryManufacturerGroup.SetValue(tn.Parent.Parent.Text);
                break;
            case 3:
                xpnContractType.SetValue("DEALER");
                xpnSignatoryDealer.SetValue(tn.Text);
                xpnSignatoryDealerGroup.SetValue(tn.Parent.Text);
                xpnSignatoryManufacturer.SetValue(tn.Parent.Parent.Text);
                xpnSignatoryManufacturerGroup.SetValue(tn.Parent.Parent.Parent.Text);
                break;
            case 4:
                xpnContractType.SetValue("DERIVATIVE");
                xpnDerivative.SetValue(tn.Text);   
                xpnSignatoryDealer.SetValue(tn.Parent.Text);   
                xpnSignatoryDealerGroup.SetValue(tn.Parent.Parent.Text);   
                xpnSignatoryManufacturer.SetValue(tn.Parent.Parent.Parent.Text);
                xpnSignatoryManufacturerGroup.SetValue(tn.Parent.Parent.Parent.Parent.Text);
                break;
        }
        lblErrors.Text = tn.Depth + " - " + tn.Text;
    }
Mit das wichtigste am Code ist der XmlFormView1.DataBind(),
weil ohne diesen konnte ich nicht auf die Daten im Infopath-Formular zugreifen.

Gruß JJR

Mach einen Kommentar

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2