No Code: Berechnete Spalte mit HTML Output in SharePoint 2013

​Von Kunden immer wieder gerne angefragt in Projekten ist "die Ampel". Gemeint ist ein kleiner Status-Indikator, der in einer Listenspalte abhängig von anderen Feldern von grün auf gelb und schließlich auf rot umspringt oder eine ähnliche bedingte Formatierung, so wie z.B. in Excel leicht umzusetzen sind.

Zu SharePoint 2010 Zeiten waren die naheliegenden Optionen, die Anpassung der Listenansicht per SharePoint Designer und XSLT. Alternativ bot sich damals schon an, in einer berechneten Spalte die Anzeigelogik zu definieren und das gewünschte HTML als Ergebnis auszugeben (im Fall der Ampel ein kleines img-Tag mit dem jeweils richtigen Bildchen). Um aus dem ausgegebenen Text auch interpretierbares HTML zu machen, bedurfte es damals noch eines Scripts, das in derselben Seite platziert wurde.

In der SharePoint 2013 Variante ist der direkte Weg nun ein JavaScript Display-Template (hier ein simples Beispiel), welches sich über die JS-Link Eigenschaft eines Listen-WebParts einbinden lässt.
Aber es geht noch einfacher und ohne Programmierung: Wenn man den Ergebnistyp der berechneten Spalte auf "Zahl" umstellt, wird der ausgegebene Text nicht „escape-t“ und stattdessen vom Browser als HTML interpretiert:

 

Ergebnis:

 

Empfehlenswert ist dieser Trick natürlich nur für unkritische Einsatzszenarien, statt für dauerhafte Lösungen, nämlich nur solange bis Microsoft diesen Bug patcht. Bis dahin auf jeden Fall ein nettes Kunststück mit dem man schnell und auf eindrucksvolle Weise beispielsweise eine Projektaufgabenliste o.ä. aufpeppen kann.

Comments