Datenquellen im Griff mit SharePoints DataFormWebPart

Seite 2: Gruppieren & verbinden

Inhaltsverzeichnis

Die Option Sort & Group befindet sich im Menüband unter Data View Tools. Damit lässt sich das DataFormWebPart der SharePoint-Liste "Produkte" nach dem Feldwert "Typ" sortieren und gruppieren. Es handelt sich um ein Auswahlfeld (Choice) der SharePoint-Liste für die Produktart. Damit stehen bislang drei DataFormWebParts auf der Seite. Das obere DataFormWebPart zeigt das LinkTitle-Feld der SharePoint-Liste "Firmen", das unten links stehende jeweils einen kompletten Datensatz der gleichen Liste. Rechts unten befindet sich ein DataFormWebPart für die Liste "Produkte", das nach Produkttyp gruppiert ist und eine bedingte Formatierung besitzt (Abb. 4).

Drei DataFormWebParts mit Detailinformationen (Abb. 4)

DataFormWebParts können Informationen auch verbinden, austauschen und weiterverarbeiten. Dazu sollen nach Auswahl eines Firmennamens im oberen DataFormWebPart die Firmendetails in der Single Item View des DataFormWebPart links unten erscheinen. Das DataFormWebPart der Produktliste rechts unten soll nur noch solche Produkte darstellen, die das Unternehmen über die gewählte Firma bezieht. Über das Feld "FirmenID" werden die Datensätze der SharePoint-Liste "Firmen" eindeutig identifiziert. Es ist zudem in der Liste "Produkte" vorhanden, um diese der Lieferfirma zuzuordnen.

Das Hinzufügen einer WebPart-Verbindung erfolgt in den Optionen des DataFormWebPart für die Detailansicht der Firmendaten über die Schaltfläche Add Connection (Abb. 4, links). Über Get Filter Values from wird als Quelle das DataFormWebPart mit den Namen aller Firmen (oben) gewählt. Die Aktion Send Row of Data to ist nun festzulegen, zum Beispiel werden die in beiden DataFormWebParts übereinstimmenden Felder bestimmt. Das Feld "ID" enthält die eindeutige Identifikationskennzeichnung der Firma. Da sich Verknüpfungen über Hyperlinks verfolgen lassen, ist in der Folge das Feld zu wählen, dessen Wert der Link anzeigt. Dafür steht das Feld "Title" zur Verfügung. Entsprechend wird das DataFormWebPart der Liste "Produkte" unten rechts verbunden.

Die Optionen für das Hinzufügen, Editieren und Löschen von Elementen eines DataFormWebPart befinden sich unter dem Punkt Inline Editing im Menüband (Abb. 5). Bei aktivierter Option Show Edit Item Link lassen sich Elemente direkt über die WebPart-Seite bearbeiten. Das geht zudem mit HTML-Befehlen. SharePoint bietet in der Tabellenansicht automatisch Links für das Speichern oder Abbrechen der Bearbeitung an.

Link-Eingabe für neue Datensätze und die generierte Maske (Abb. 5)

Das Absenden des Form und das Empfangen der aktualisierten Daten ist jedoch nicht mehr zeitgemäß. Benutzer erwarten auch bei Webapplikationen, dass in der Quelle geänderte Daten sofort in der Benutzeroberfläche sichtbar werden. Das geht mit AJAX, bei dem der Client regelmäßig nachfragt, ob sich Daten auf dem Server geändert haben. Das Intervall lässt sich im Menüband auf 15, 30 oder 60 Sekunden einstellen. Bei 4500 Clients entspricht das 15-Sekunden-Intervall aber schon 300 Anforderungen pro Sekunde, die der SharePoint-Server zusätzlich zu verarbeiten hat. Alternativ kann man die Aktualisierung auch dem Benutzer überlassen. Der entsprechende Refresh-Link erscheint als Symbol mit zwei kreisenden Pfeilen rechts oben.

Das DataFormWebPart kann die Werkzeugleisten und Kontextmenüs von SharePoint erweitern, damit der Nutzer bekannte Funktionen wie Filtern und Sortieren erhält. Dazu gibt es zwei Werkzeugleisten: Mit der SharePoint Toolbar lässt sich die SharePoint-Liste bearbeiten, um zum Beispiel neue Elemente hinzuzufügen, Ansichten und Spalten zu erstellen oder die Einstellungen der Liste zu verändern. Mit der Grouping-Toolbar kann der Anwender angezeigte Daten filtern, sortieren und gruppieren (Abb. 6).

Werkzeugleisten mit typischen Bearbeitungsfunktionen (Abb. 6)

Mehr Möglichkeiten bieten Parameter, die das Verhalten der Anwendung modifizieren. Das kann bis auf Benutzerebene herunter erfolgen, um bestimmte Anforderungen ohne erneuten Aufbau einer weiteren WebPart-Seite zu erfüllen. Allerdings dürfen von außen gesendete Parameter keine sicherheitsrelevanten Funktionen steuern.

Der für das DataFormWebPart erstellte Parameter lässt sich als Filterkriterium verwenden. Dazu ist im Menüband die Funktion Filter aufzurufen und auf Basis des Parameters ein Filter zu definieren (Abb. 7). Zum Beispiel existiert in der SharePoint-Liste "Firmen" das Boolesche Feld "IstAktiv" mit dem Standardwert "False". Bei Aufruf der WebPart-Seite mit dem Query-String http://...Overview.aspx?IsActive=1 werden über "Hinzufügen" (Insert) gespeicherte Firmen nicht in der Datenausgabe aufgeführt, solange der Anwender den Wert des Felds "IstAktiv" nicht manuell auf "True" setzt. Der Aufruf der WebPart-Seite über http://...Overview.aspx?IsActive=0 erreicht das Gegenteil.

Externe Parameter, die im DFWP Filteroperation auslösen (Abb. 7)

Es lassen sich noch zahlreiche weitere Funktionen bereitstellen. Zum Beispiel kann man den Bestellprozess für solche Artikel einrichten, deren Lagerbestand kleiner als fünf ist, die also im ersten Beispiel orangefarben markiert waren. Dazu muss man eine neue Spalte für die Form Action über das Menüband hinzufügen. Damit die Funktion nicht auf jeder Zeile der Produktliste erscheint, wird im Assistenten [Custom Action] gewählt und die Auswahl über den Button Add >> übernommen. Der SharePoint Designer erstellt daraufhin einen "Form Action Workflow". Mit Browse to and open the workflow to define its behavior lassen sich der erstellte Workflow öffnen und die weiteren Aktionen festlegen. Ein Klick auf den Button Form Action legt ein neues Element in der SharePoint-Liste "Bestellungen" an. Die Details der Bestellung stammen aus den Feldern der Liste "Produkte".