Mit Hilfe von wiederholten Tabellen lassen sich in Nintex
Formularen Felder gruppieren, und weitere Gruppen dynamisch hinzufügen bzw.
wieder entfernen. Dies ist zum Beispiel dann notwendig, wenn die Möglichkeit
gegeben sein sollte, mehrere Positionen in einer Bestellung aufzunehmen.
Abbildung 1 Beispiel: Formular mit wiederholter Tabelle
Felder innerhalb einer wiederholten Tabelle lassen sich,
dann allerdings nicht mehr mit einer SharePoint Spalte verbinden und sind somit
in der Listenansicht nicht mehr verfügbar. Die einzige Möglichkeit die Daten in
der Listenansicht anzuzeigen ist, das Steuerelement der wiederholten Tabelle an
ein mehrzeiliges Textfeld (Plain Text) zu binden. Die Daten werden allerdings
als XML gespeichert und sind nicht sonderlich gut lesbar:
Abbildung 2 Wiederholte Tabelle XML
Mit Hilfe von Client Side Rendering (CSR) lässt sich die
Anzeige der Spalte „Bestellung“ so manipulieren, dass die Daten als lesbare
Tabelle in der Listenansicht dargestellt werden.
Abbildung 3 CSR: Wiederholte Tabelle in Listenansicht
Das Prinzip dahinter ist recht einfach. Das XML wird
mittels JQuery ausgelesen, und die Darstellung des Inhaltes der Spalte
„Bestellung“ entsprechend manipuliert. Wichtig ist hier, einen Namen für die
Steuerelemente innerhalb der wiederholten Tabelle zu vergeben, um diese
einfacher auslesen zu können.
Mittels Schleife wird jedes <Item>-Element ausgelesen
und eine HTML-Tabellenzeile erzeugt. Zum Schluss wird das HTML noch um
eine Kopfzeile erweitert. Dabei können auch gleich CSS-Klassen vergeben
werden, sodass die Tabelle entsprechend formatiert werden kann.
Abbildung 4 Beispiel: CSR wiederholte Tabelle
Der Code kann einfach per Script Editor in der
Listenansicht bzw. mittels des JS-Link Properties des Listenwebparts
eingebunden werden.
Hinweis: Da JQuery verwendet wird, muss diese Bibliothek
falls nicht schon über die Masterpage geschehen, auch eingebunden werden.
Keine Kommentare:
Kommentar veröffentlichen