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.




Listenelemte aus Quellliste in Zielliste kopieren

Geprüfte Antwort Dieser Beitrag hat 3 Antworten

Ohne Rang
216 Beiträge
Nachtschelm erstellt 13 Juli 2009 13:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Leute,
ich habe mal wieder ein Problem, bei dem ich Eure Hilfe gut gebrauchen könnte :-). Ich möchte mit Hilfe eines Workflows Listenelemente von einer Liste in eine oder mehrere andere Listen kopieren.

Das Szenario:
Es gibt eine Hauptwebsite, in deren Liste Probleme erfasst werden sollen. Desweiteren gibt es zwei Unterwebseiten mit jeweils einer Liste. Die Elemente der Hauptwebseitenliste sollen auf die Unterwebseitenlisten verteilt werden. Die Entscheidung, in welche Unterwebseitenliste kopiert wird, soll über Checkboxes im Element der Hauptwebseite getroffen werden. Das heißt, jedes Listenelement der Hauptseitenliste hat zwei Checkboxs. Je nachdem wie diese angehakt sind, sollen die Elemente in die entsprechenden Unterwebseitenlisten kopiert werden.

Mithilfe des SPD konnte ich das Problem nicht lösen, da ich dort nur in Listen der gleichen Webseite und nicht in Listen von Unterwebseiten verschieben kann. Ich gehe davon aus, dass ich die Lösung wohl mit Visual Studio programmieren muss. Ich hab mir auch schon ein paar Tutorials angeschaut, in denen Workflows programmiert werden. Ich verstehe zwar, was da gemacht wird, allerdings bringt mich das meiner Lösung nicht näher.

Mein Hauptproblem ist, dass ich das Objekt Modell einfach noch nicht kenne. Von daher weiß ich zum Beispiel nicht, wie ich meine Ziellisten referenzieren kann. Außerdem ist mir auch noch schleierhaft, wie ich die Checkboxes der einzelnen Elemente auslesen könnte.

Könnte mir jmd einen groben Marschplan schildern, welche Schritte (kein detaillierter Code) ich unternehmen muss? damit wäre mir sehr geholfen.

Vielen Dank schon mal!

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Juli 2009 13:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich würde das mit einem EventReceiver auf der Quelliste machen (s. SDK).

Auf die Felder eines Listenelements kannst Du so zugreifen:
SPListItem["Feldname"]

An die Ziellisten kommst Du so heran:
SPSite site = new SPSite(http://deine.domain.tld/site/untersite);
SPWeb web = site.OpenWeb();
SPList list = web.Lists["NameDerListe"];
// neues Element einfügen
SPLIstItem item = list.Items.Add();
item["Feld1"] = value1;
item["Feld2"] = value2;
item.Update();

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
216 Beiträge
Nachtschelm Als Antwort am 13 Juli 2009 16:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,
als erstes vielen Dank für Deine schnelle Antwort.
Der Kopiervorgang soll erst gestartet werden, wenn die Checkboxes gepflegt wurden. Dies geschieht nicht beim Erstellen, sondern beim Bearbeiten des Elementes. Funktioniert das trotzdem mit einem EventReceiver? Wenn ja, wo krieg ich den her?

Mit den Codeschnipseln hast Du mir sehr geholfen, da bin ich gerade noch am Basteln :-)

Viele Grüße
Nachtschelm

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Juli 2009 17:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du kannst verschiedene Events behandeln . Z.B. ItemAdded, ItemUpdated und ItemDeleted. Die EventReceiver mußt Du natürlich selbst programmieren. Schaue einfach mal im SDK unter Features/Events oder SPItemEventReceiver.

Viele Grüße
Andi
af @ evocom de
Blog