SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Frage zu Infopath 2010 und wiederholte Abschnitte/Tabellen

Unbeantwortet Dieser Beitrag hat 6 Antworten

Ohne Rang
48 Beiträge
Lars Schwanitz erstellt 29 Sept. 2011 12:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

meine Frage ist es, ob es möglich ist, in einen Wiederholten Abschnitt eine neuen Datensatz per Regel (und oder Workflow) einzufügen. Anwendungbeispiel wäre zum Beispiel das "Protokollieren" von wem dieses Formular bearbeitet wurde. Meine Google suche hat zu diesen Thema nichts brauchbares gebracht.

Danke

Lars

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 29 Sept. 2011 13:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das müßte man per Code-Behind programmieren.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
48 Beiträge
Lars Schwanitz Als Antwort am 30 Sept. 2011 08:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Guten Morgen,

zum Thema InfoPath Code-Behind habe ich eine ganz interessante Seite gefunden: http://www.bizsupportonline.net/

Konkret habe ich diese (InfoPath 2007) Beispiele angetestet http://www.bizsupportonline.net/infopath2007/4-way-programmatically-add-row-repeating-table.htm

Bei allen kommt beim ausführen des entsprechenden Codeabschnitts (über Click Event) die Meldung "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt." und zwar immer beim Aufruf von:

 

MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:Historie", NamespaceManager).AppendChild(irgendwas));

Versuch 1:

 

 

string myNamespace = NamespaceManager.LookupNamespace("my");
using (XmlWriter writer = this.MainDataSource.CreateNavigator().SelectSingleNode(
"/my:myFields/my:Historie", NamespaceManager).AppendChild())
{
writer.WriteStartElement("Aktionsschritt", myNamespace);
writer.WriteElementString("Aktion", myNamespace, "Cell 1");
writer.WriteElementString("Benutzer", myNamespace, "Cell 2");
writer.WriteElementString("Kommentar", myNamespace, "Cell 3");
writer.WriteEndElement();
writer.Close();
}

Versuch 2:

XmlDocument doc = new XmlDocument();
XmlNode group = doc.CreateElement("Aktionsschritt", NamespaceManager.LookupNamespace("my"));

XmlNode field = doc.CreateElement("Aktion", NamespaceManager.LookupNamespace("my"));
XmlNode node = group.AppendChild(field);
node.InnerText = "Cell 1";

field = doc.CreateElement("DatumUhrzeit", NamespaceManager.LookupNamespace("my"));
node = group.AppendChild(field);
node.InnerText = "Cell 2";

field = doc.CreateElement("Benutzer", NamespaceManager.LookupNamespace("my"));
node = group.AppendChild(field);
node.InnerText = "Cell 3";

field = doc.CreateElement("Kommentar", NamespaceManager.LookupNamespace("my"));
node = group.AppendChild(field);
node.InnerText = "Cell 4";

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

Wo ist mein Denkfehler?

Danke

 

Lars

Ohne Rang
235 Beiträge
FCaprio Als Antwort am 30 Sept. 2011 08:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Steppe mal durch den Code. Irgendwo wird wahrscheinlich etwas null sein.

Ohne Rang
235 Beiträge
FCaprio Als Antwort am 30 Sept. 2011 09:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wharscheinlich an der Stelle an der du SelectSingleNode machst. Weise die selected Note mal einer variablen zu und shcaue ob diese null ist.

Ohne Rang
48 Beiträge
Lars Schwanitz Als Antwort am 30 Sept. 2011 10:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Fehler gefunden!

Englische Anleitung, auf deutsch übersetztes Programm.

/my:myFields = /my:meineFelder

Ohne Rang
235 Beiträge
FCaprio Als Antwort am 30 Sept. 2011 12:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn du sowas programmierst ist es immer gut einen Dokument auszufüllen und dies abspecihern. Die abgespeicherte InfoPath Datendatei kann man mit dem Editor öffnen und wunderbar die Struktur sehen wie etwas aufgebaut ist. Besonders bei komplexeren Formularen ist das ratsam da man sonst kaum einen Überblick hat wo was in dem xml geändert wurde/wird.