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.




Neue Objektinstanz in Infopath mit C#

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
118 Beiträge
Robert erstellt 5 Dez. 2012 15:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich versuche mich gerade etwas in Infopath mit C#. Ich habe eine kleines Programm gebaut was 2 Daten (Mehrzahl von Datum) ausliest und die Differenz dazu ausgeben soll.

Leider wird mir gesagt, ich muss eine neue Objektinstanz erstellen, leider weiss ich nicht was ich dort für Parameter angeben muss. Hier ein kleines Bild zu meinem Problem:

[View:http://social.technet.microsoft.com/Forums/getfile/204134:1058:600]

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Dez. 2012 15:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du hast das doch schon im Debugger, da solltest Du die Lösung eigentlich selbst viel besser finden ;-)

Deine Variable VonDatum ist jedenfalls null.und das liegt vermutlich am falschen XPath-Ausdruck, mit dem Du sie ein paar Zeilen weiter oben initialisierst. Nimm mal den allerersten Schrägstrich weg, so daß der Ausdruck nur noch mit einem beginnt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
118 Beiträge
Robert Als Antwort am 5 Dez. 2012 16:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ahh ok, lag wirklich daran. Ich habe die XPath-Pfade genauer angepasst.

Ich wollte nun mit

XPathNavigator VonDatum = xnMyForm.SelectSingleNode("/my:meineFelder/my:AntragAuf/my:VonDatum", this.NamespaceManager);

den Wert auslesen und wollte VonDatum in ein TimeDate verwandeln um die differenz mit TimeSpan berechnen lassen. Nur wird mir gesagt, dass aus XPathNavigator in kein TimeDate verwandelt werden kann. Gibt es da eine anderen Weg dafür?

Folgendes habe ich an Code:
DateTime VonDatum_DateTime = Convert.ToDateTime(VonDatum);
DateTime BisDatum_DateTime = Convert.ToDateTime(BisDatum);
TimeSpan EntsprechendeTage = BisDatum - VonDatum;
String EntsprechendeTage_String = Convert.ToString(EntsprechendeTage);
EntsprechenTage.SetValue(EntsprechendeTage_String + " Tage");

Danke im Voraus,

Robert

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Dez. 2012 16:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich weiß auch nicht auswendig, wie InfoPath den Typ Datum speichert. Schaue Dir diesen String (VonDatum) im Debugger an und verwende dann die passende Überladung von DateTime.Parse mit dem richtigen FormatProvider. Der String ist wahrscheinlich im amerikanischen oder UTC-Format.

Viele Grüße
Andi
af @ evocom de
Blog