In Sharepoint 2007 kann man auf Listen Berechnungen durchführen und Verweise auf andere Listen setzen. Was man aber nicht kann, sind Listen zusammenführen. In einem Projekt haben Agent Kuper und ich einen Zusammenzug von fünf Listen gebraucht die alle die gleichen Spaltenbeschreibungen hatten. Dies konnten wir sehr einfach im SharePoint Designer 2007 lösen. Was macht man aber, wenn eine Übersicht unterschiedliche Spalten und Einträge hat die in Relation zueinander stehen sollen? Auch das kann man relativ einfach im Sharepoint Designer lösen. Hier ist ein Weg dazu:
In dem Beispiel habe ich zwei Listen. Produkte und Kunden. In der Liste „Kunden“ stehen nur Namen. In der Liste „Produkte“ stehen die Produkte. Die Namen der Kunden welche das Produkt gekauft haben werden als „lookup“ aus der Tabelle „Kunden“ bezogen.
Nun wechselt man in den Sharepoint Designer und erstellt eine leere .aspx Seite oder bearbeitet eine leere Sharepoint Seite die man aber zuvor erstellen muss. Diese Seite wird gebraucht um den Inhalt der zusammengezogenen Tabelle darzustellen.
Im Sharepoint Designer erstellen wir zuerst eine Datenquelle für die Seite. Diese Datenquelle ist vom Typ eine „verknüpfte Datenquelle“. Dazu klickt man im Menü „Datensicht“ auf „Datenquellen verwalten…“. Von dort aus kann man sich unter „Verknüpfte Quellen“ eine neue Quelle erstellen.
Unter „Verknüpfte Datenquellen konfigurieren“ wählt man seine benötigten Sharepoint Listen aus. Damit sie nun in Relation zueinander stehen können, wählt man im Assistenten die zweite Option aus.
Nun noch unter „Allgemein“ einen guten Namen für die Datenquelle angeben und fertig ist dieser Schritt. Die neu erstellte Datenquelle erscheint nun unterhalb der „verknüpften Quellen“. Wenn man mit der Maus darüber fährt kann man sich ein Popup Menü mit den möglichen Optionen anzeigen lassen. Dort lässt man sich die Daten anzeigen.
Nun wählt man das erste Feld aus, dass man angezeigt haben möchte. In diesem Beispiel die Kundenspalte. Dieses Feld dient gleichzeitig als Filter. Diese Feld muss man via dem Button „Ausgewählte Felder einfügen als…“ und dort mit „Ansicht für mehrere Einträge“ auf die Seite einfügen.
Die Seite sollte nun etwa so aussehen:
Nun wird die zweite Spalte eingesetzt. In diesem Beispiel die mit den Produkten und den Kunden. Man sucht nun das entsprechende Feld aus den Datenquellendetails aus (Produkte) und fügt dieses wieder mit dem Button „Ausgewählte Felder einfügen als…“ ein. Dieses Mal wählt man aber „Verknüpfte Unteransicht“.
Nun erscheint ein Fenster in dem man seine Verknüpfung definieren kann. In unserem Beispiel also ist es der Kundenname.
Danach ist die Liste komplett. Die Produkte sind nun gefiltert durch die erste Spalte (Kundenname) dem jeweiligen Kunden zugeordnet.
Über die „allgemeinen Aufgaben“ des erstellten Elements kann man nun weitere Option bearbeiten. So etwa weiter Filterungen.
Zusammen mit den Layoutoptionen in diesem Menü und den CSS-Eigenschaften der Tabelle muss man die Tabelle schon ein bisschen „aufhübschen“.
Ok, sieht doch schon ein bisschen besser aus. Was man aus dieser Tabelle aber auch deutlich ablesen kann, ist mein produktetechnische Verbundenheit zu Apple. Aber ich hatte diesbezüglich ja bereits in einem andern Scolab Sharepoint HowTo mein „Coming out“.


Christian meinte am 14.7.2008 um 14:46:
Hallo,
Super HowTo.
Habt Ihr auch eine Lösung für folgendes Szenario?
Ich habe eine Teamsite Kunde A und eine Teamsite Kunde B. In jedem Bereich gibt es eine Liste Kundenprofile.
Nun möchte ich in einen Öffentlichen Bereich “Partner & Kunden Übersicht” die Profile aller Kunden darstellen.
Mein Gedanke ist da folgender, ich erstelle so wie in eurer Anleitung eine neue ASPX Seite und füge alle Listen in eine Liste zusammen.
Nur leider ist es so das ich die übergreifenden Listen nicht sehen kann im Designer. Es werden immer nur die Listen in der Aktuellen Seite angezeigt.
Habt Ihr eine Idee wie ich das umsetzen kann?
Gruß
Chris
Christoph Müller meinte am 27.7.2008 um 10:25:
@ Christian
Im aktuellen Artikel des SharePoint Magazin wird genau die Lösung zu Deinem Problem beschrieben:
http://sharepointmagazine.net/technical/development/populating-data-sources-in-code