Bestimmte Listeneinträge markieren
Moin,
wie kann man eigentlich bestimme Listeneinträge markieren im Sharepoint?
Es gab die Forderung ein Datum Farblich zu Kennzeichnen. Es gibt ein Feld Ende und 30Tage vor dem Datum soll die Spalte Farblich gekennzeichnet werden.
Wie geht das nun genau? Man benötigt den Sharepoint Designer dazu um das Webpart gescheit anpassen zu können.
Einen guten Ansatz habe ich im Sharepointdesigner Blog gefunden. Jedoch habe ich das ganze ein wenig modifiziert, damit es einfacher wird ![]()
Man geht wie folgt vor:
1: Sharepoint Seite mit der zu editierenden Liste öffnen um per Datei “im Sharepoint Designer bearbeiten” klicken.
2: Man ändert das Webpart in einen Dataview: In der Entwurfsansicht auf das Webpart klicken, dann einen Rechtklick ausführen und “Konvertieren in XSLT Datenansicht” anklicken.
3: Nun ist die Liste eine Tabelle mit Abfragen in den Feldern. Man klickt nun auf das Feld welches später gekennzeichnet sein soll.
4: Man öffnet nun oben den Reiter “Datenansicht” und klickt auf “Bedingte Formatierung”. Es wird an der rechten Bildschirmhälfte ein neuer Reiter erzeugt in dem man auf “Erstellen->Formatierung ausführen” klickt.
5: Hier wählt man die gewünschte Bedingung aus. In meinem Fall: Wenn “Ende” kleiner “aktuelles Datum” dann, hier wählt man nun unten Rechts “Ok” und ein Fenster, wo man das “dann” näher bestimmen kann, öffnet sich. Ich wählte Hintergrund Farbe Rot. Nach einem Klick auf Ok führt der SharepointDesigner die Änderungen aus.
6: Nun sieht man schon das alle Spalten welche ein Ende kleiner aktuelles Datum haben, Rot gekennzeichnet sind. Jedoch wollte ich ja das diese Felder schon 30Tage vorher gekennzeichnet sind.
7: Dies geht nun in der Code-Ansicht. Die Bedingung steht hier nun als:
<xsl:if test=”number(translate(substring-before(@Ende,’T'),’-',”))+30 <= number(translate(substring-before($Today,’T'),’-',”))”>background-color: #FF0000;</xsl:if>
Wobei nun die grüne 30 eingefügt werden muss. Somit ist das “Ende” immer 30Tage höher als es ist und es wird eher Rot gekennzeichnet.
Natürlich werden auch Listenelemente Angezeigt, welche schon abgelaufen sind und es müsste noch eine passende Abbruch Bedingungen mit einfügen werden, aber das kriegt Ihr selber hin
Viel Spass damit!
Matthias