Mittwoch, 5. Juli 2017

Nintex Forms – Anzeige einer wiederholten Tabelle in der Listenansicht

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