Referenz zur Formatierungssyntax

elmType

Gibt an, welcher Typ von Element erstellt werden soll. Folgende Elemente sind gültige Elemente:

Bei allen anderen Werten wird ein Fehler zurückgegeben.

filepreview

Verwenden Sie den speziellen elmType filepreview in Verbindung mit dem auf @thumbnail.<Size> festgelegten Attribut src zum Anzeigen von Miniaturansichten für Dateien in Ihrer Dokumentbibliothek. Wurde die Miniaturansicht erfolgreich geladen, ist unten links ein kleines Markentypsymbol sichtbar. Wenn die Miniaturansicht nicht geladen werden kann (oder wenn der Dateityp keine Miniaturansichten unterstützt), wird stattdessen ein Dateitypsymbol angezeigt.

"elmType": "filepreview",
"attributes": {
  "src": "@thumbnail.medium"
 }

txtContent

Eine optionale Eigenschaft, die den Textinhalt des in elmType definierten Elements festlegt. Der Wert dieser Eigenschaft kann entweder eine Zeichenfolge sein (auch eine Spezialzeichenfolge) oder ein Objekt des Typs „Expression“.

style

Eine optionale Eigenschaft, die die Formatattribute des in elmType definierten Elements festlegt. Konkret handelt es sich um ein Objekt mit Name/Wert-Paaren, die CSS-Namen und -Werten entsprechen. Die Werte der einzelnen Eigenschaften in einem Objekt des Typs „style“ können entweder eine Zeichenfolge sein (auch eine Spezialzeichenfolge) oder ein Objekt des Typs „Expression“. Folgende Attribute sind für „style“ zulässig:

'background-color'
'fill'
'background-image'
'border'
'border-bottom'
'border-bottom-color'
'border-bottom-style'
'border-bottom-width'
'border-color'
'border-left'
'border-left-color'
'border-left-style'
'border-left-width'
'border-right'
'border-right-color'
'border-right-style'
'border-right-width'
'border-style'
'border-top'
'border-top-color'
'border-top-style'
'border-top-width'
'border-width'
'outline'
'outline-color'
'outline-style'
'outline-width'
'border-bottom-left-radius'
'border-bottom-right-radius'
'border-radius'
'border-top-left-radius'
'border-top-right-radius'
'box-decoration-break'
'box-shadow'
'box-sizing'

'overflow-x'
'overflow-y'
'overflow-style'
'rotation'
'rotation-point'

'opacity'
'cursor'

'height'
'max-height'
'max-width'
'min-height'
'min-width'
'width'

'flex-grow'
'flex-shrink'
'flex-flow'
'flex-direction'
'flex-wrap'
'flex'
'justify-content'
'align-items'

'box-align'
'box-direction'
'box-flex'
'box-flex-group'
'box-lines'
'box-ordinal-group'
'box-orient'
'box-pack'

'font'
'font-family'
'font-size'
'font-style'
'font-variant'
'font-weight'
'font-size-adjust'
'font-stretch'

'grid-columns'
'grid-rows'

'margin'
'margin-bottom'
'margin-left'
'margin-right'
'margin-top'

'column-count'
'column-fill'
'column-gap'
'column-rule'
'column-rule-color'
'column-rule-style'
'column-rule-width'
'column-span'
'column-width'
'columns'

'padding'
'padding-bottom'
'padding-left'
'padding-right'
'padding-top'

'bottom'
'clear'
'clip'
'display'
'float'
'left'
'overflow'
'position'
'right'
'top'
'visibility'
'z-index'

'border-collapse'
'border-spacing'
'caption-side'
'empty-cells'
'table-layout'

'color'
'direction'
'letter-spacing'
'line-height'
'text-align'
'text-decoration'
'text-indent'
'text-transform'
'unicode-bidi'
'vertical-align'
'white-space'
'word-spacing'
'hanging-punctuation'
'punctuation-trim'
'text-align-last'
'text-justify'
'text-outline'
'text-overflow'
'text-shadow'
'text-wrap'
'word-break'
'word-wrap'

'stroke'
'fill-opacity'

'--inline-editor-border-width'
'--inline-editor-border-style'
'--inline-editor-border-radius'
'--inline-editor-border-color'

'-webkit-line-clamp'

'object-fit'
'transform' // Only translate(arg) and translate(arg, arg) are currently supported

Das Beispiel unten zeigt den Wert eines Objekts des Typs „style“. Wie Sie sehen, werden zwei Formateigenschaften angewendet (padding und background-color). Der Wert für padding ist ein hartcodierter Zeichenfolgenwert. Der Wert für background-color ist ein Objekt des Typs „Expression“, das entweder in Rot (#ff0000) oder in Grün (#00ff00) ausgewertet wird, je nachdem, ob der Wert des aktuellen Felds (@currentField) kleiner als 40 ist. Weitere Informationen finden Sie im Abschnitt zu Objekten des Typs „Expression“.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "style": {
    "padding": "4px",
    "background-color": {
      "operator": "?",
      "operands": [
        {
          "operator": "<",
          "operands": [
            "@currentField",
            40
          ]
        },
        "#ff0000",
        "#00ff00"
      ]
    }
  }
}

Hier sehen Sie das gleiche Beispiel wie oben unter Verwendung der Ausdruckssyntax im Excel-Format:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "style": {
  "padding": "4px",
  "background-color": "=if(@currentField < 40, '#ff0000', '#00ff00')"
  }
}

attributes

Eine optionale Eigenschaft, die zusätzliche Attribute für das in elmType definierte Element festlegt. Konkret handelt es sich um ein Objekt mit Name/Wert-Paaren. Gültig sind die folgenden Attributnamen:

  • href
  • rel
  • src
  • class
  • target
  • title
  • role
  • iconName
  • d
  • aria
  • Datenabfrage
  • viewBox
  • preserveAspectRatio
  • ziehbar

Bei allen anderen Attributnamen wird ein Fehler zurückgegeben. Attributwerte können entweder Objekte des Typs „Expression“ oder Zeichenfolgen sein. Das folgende Beispiel fügt dem in elmType definierten Element zwei Attribute hinzu (target und href). Das Attribut target ist eine hartcodierte Zeichenfolge. Das href-Attribut ist ein Ausdruck, der zur Laufzeit ausgewertet wird in http://finance.yahoo.com/quote/, ergänzt um den Wert des aktuellen Felds (@currentField).

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "target": "_blank",
  "href": "='http://finance.yahoo.com/quote/' + @currentField"
}

Untergeordnetes Element

Eine optionale Eigenschaft, die die untergeordneten Elemente des in elmType definierten Elements festlegt. Der Wert wird als Array von Objekten des Typs elm angegeben. Er kann beliebig geschachtelt werden. Ist für ein Element die Eigenschaft txtContent festgelegt, werden die Eigenschaften der untergeordneten Elemente ignoriert.

debugMode

Eine optionale Eigenschaft, die zum Debuggen gedacht ist. Sie gibt Fehlermeldungen aus und protokolliert Warnungen in der Konsole.

forEach

Eine optionale Eigenschaft, die es einem Element ermöglicht, sich für jeden Member eines bestimmten Mehrwertfelds oder Arrays zu duplizieren. Der Wert der "forEach" -Eigenschaft sollte im Format "iteratorName in @currentField" oder "iteratorName in [$FieldName]" oder vorliegen "iteratorName in Expression-Returning-An-Array".

iteratorName steht für den Namen der Iteratorvariablen, die verwendet wird, um das aktuelle Element des mehrwertigen Felds darzustellen. Der Name des Iterators kann eine beliebige Kombination aus alphanumerischen Zeichen und Unterstrich (_) sein, die nicht mit einer Ziffer beginnt.

Das in der Schleife verwendete Feld muss einen unterstützten Feldtyp ("Person", "Nachschlagen" und "Auswahl") aufweisen und die Option für Mehrwertigkeit muss aktiviert sein. Ein Ausdruck, der ein Array zurückgibt, kann auch verwendet werden.

Im Element mit forEach oder seinen untergeordneten Elementen kann auf die Iteratorvariable so verwiesen werden, als wäre sie ein neues Feld. Der Zugriff auf den Index des Iterators erfolgt mit dem loopIndex-Operator.

forEach kann nicht auf das Stammelement angewendet, und gibt kein Element zurück, wenn das Feld keinen Wert enthält.

Beispiele finden Sie hier.

customRowAction

button Elemente können verwendet werden, um eine bestimmte Aktion für das übergeordnete Element zu starten. Jedes button-Element hat eine erforderliche Eigenschaft, customRowAction zur Festlegung einer action, die beim Anklicken der jeweiligen Schaltfläche ausgeführt werden soll. Die Aktion muss einer der folgenden Werte sein:

  • defaultClick: Schaltflächen mit dieser Aktion führen dieselbe Aktion aus wie das Klicken auf das Listenelement in einer nicht angepassten Ansicht. Nachfolgend finden Sie ein Beispiel für eine Schaltfläche, die, wenn sie angeklickt wird, einen Klick auf das Element simuliert, wodurch das Listenelement geöffnet wird. Das Hinzufügen dieser Beispielschaltfläche zu einer Dokumentbibliothek simuliert einen Klick auf die Datei oder den Ordner, so dass die Datei oder der Ordner geöffnet wird.

    {
      "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
      "elmType": "button",
      "txtContent": "Open this item",
      "customRowAction": {
        "action": "defaultClick"
      }
    }
    
  • teilen: Durch Klicken auf die Schaltfläche wird das Freigabedialogfeld geöffnet. Es folgt ein Beispiel für diese Art von Schaltfläche.

    {
      "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
      "elmType": "button",
      "txtContent": "Share this item",
      "customRowAction": {
        "action": "share"
      }
    }
    
  • delete: Durch Klicken auf diese Schaltfläche wird das Bestätigungsdialogfeld geöffnet.

  • editProps: Wenn Sie auf die Schaltfläche klicken, wird die Seite mit den Elementeigenschaften im Bearbeitungsmodus geöffnet.

  • openContextMenu: Durch Klicken auf die Schaltfläche wird das Standardkontextmenü des Elements geöffnet.

  • setValue: Durch Klicken auf das Element wird das Element mit den angegebenen Feldwerten aktualisiert.

    {
      "elmType": "div",
      "txtContent": "[$FieldName]",
      "customRowAction":{
        "action": "setValue",
        "actionInput": {
          "FieldInternalName_1": "FieldValue_1",
          "FieldInternalName_2": "FieldValue_2",
        }
      }
    }
    
  • executeFlow: Durch Klicken auf die Schaltfläche wird der angegebene Flow gestartet, der durch die ID im actionParams Attribut angegeben wird. Ein Beispiel dazu finden Sie unter Erstellen einer Schaltfläche zum Starten eines Flusses. Es folgt ein Beispiel für diese Art von Schaltfläche.

    {
      "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json",
      "elmType": "button",
      "txtContent": "It's Flow Time!",
      "customRowAction": {
        "action": "executeFlow",
        "actionParams": "{\"id\":\"f7ecec0b-15c5-419f-8211-302a5d4e94f1\", \"headerText\":\"It's Flow Time!\",\"runFlowButtonText\":\"Do it\"}"
      }
    }
    

Das Attribut actionParams kann bei Verwendung der Aktion executeFlow die folgenden Optionen aufweisen:

  • id: ID des zu startenden Flusses (erforderlich)
  • headerText: Legt den Text am oberen Rand des Fluss-Bereichs fest (optional)
  • runFlowButtonText: Legt den Text der primären Schaltfläche im Fluss-Bereich fest (optional)

customCardProps

Fügen Sie dem Element eine benutzerdefinierte Karte hinzu, die bei einem Hover- oder Klick-Ereignis angezeigt wird. Die folgende Anpassung ist verfügbar –

  • "formatter": JSON-Objekt, das die Formatierung für benutzerdefinierte Karten definiert.
  • "openOnEvent": Ereignis, für das die customCard geöffnet werden soll.
    • Gültige Werte: click, hover
  • "directionalHint": Geben die Richtung relativ zum Ziel an, in dem die benutzerdefinierte Karte positioniert wird. Dies ist der bevorzugte Standort, ist aber je nach Speicherplatz nicht garantiert.
    • Gültige Werte: bottomAutoEdge, bottomCenter, bottomLeftEdge, bottomRightEdge, leftBottomEdge, leftCenter, leftTopEdge, rightBottomEdge, rightCenter, rightTopEdgetopAutoEdgetopCenter, topLeftEdgetopRightEdge
  • "isBeakVisible": Geben an, ob die Spitze angezeigt wird oder nicht.
  • "beakStyle": Gibt das Stilobjekt für die Spitze der benutzerdefinierten Karte an.

defaultHoverField

Fügt die Profilkarte für die Personenfelder oder die Dateihoverkarte für Dateien in der Dokumentbibliothek hinzu.

  • "defaultHoverField": "[$Editor]" fügt eine Profilkarte für das Editorfeld hinzu.
  • "defaultHoverField": "[$FileLeafRef]" fügt eine Dateihoverkarte in „documentLibrary“ hinzu.

columnFormatterReference

Dies wird durch den Formatierer-JSON-Code der referenzierten Spalte ersetzt. Verweise mit mehreren Ebenen werden nicht unterstützt.

{
  "columnFormatterReference": "[$FieldName]"
}

inlineEditField

Fügt den Feld-Editor für die Spalte hinzu, auf die verwiesen wird.

{
  "elmType": "div",
  "inlineEditField": "[$FieldName]",
  "txtContent": "[$FieldName]"
}

filePreviewProps

Eine optionale Eigenschaft, die das Überschreiben der Standardformatvorlagen des Dateitypsymbols und des Markentypsymbols in filepreview elmType ermöglicht.

  • fileTypeIconClass und brandTypeIconClass können verwendet werden, um CSS-Klassennamen für das Dateitypsymbol- bzw. Markentypsymbol-Element bereitzustellen.

  • fileTypeIconStyle und brandTypeIconStyle können verwendet werden, um dem Dateitypsymbol bzw. dem Markentypsymbol Formatvorlagen bereitzustellen. Diese Formatvorlagen haben Vorrang vor denselben Formatvorlagen, die aus den CSS-Klassen stammen, die von den beiden oben genannten Eigenschaften bereitgestellt werden.

"elmType": "filepreview",
"attributes": {
  "src": "@thumbnail.medium",
 },
"filePreviewProps": {
  "fileTypeIconClass": "sp-css-borderColor-neutralLight",
  "fileTypeIconStyle": {
    "width": "100px"
  },
  "brandTypeIconClass": "sp-css-borderColor-neutralLight",
  "brandTypeIconStyle": {
    "width": "68px"
  }
}

Ausdrücke

Die Werte für txtContent sowie für Formateigenschaften und Attributeigenschaften können auch als Ausdrücke definiert werden, die zur Laufzeit auf Basis des Kontexts des aktuellen Feldes (oder der aktuellen Zeile) ausgewertet werden. Objekte des Typs „Expression“ können geschachtelt werden. Das heißt, sie dürfen andere Objekte des Typs „Expression“ enthalten.

Ausdrücke können mit Ausdrücken im Excel-Stil in SharePoint Online und SharePoint Server-Abonnementedition ab dem Featureupdate von Version 22H2 oder mithilfe von Ausdrücken der abstrakten Syntaxstruktur in SharePoint Online, SharePoint Server-Abonnementedition und geschrieben werden. SharePoint Server 2019.

Alle Felder in ViewFields können in Expresisons verwiesen werden, auch wenn sie als gekennzeichnet Explicitsind.

Excel-Formatvorlage Ausdrücke

Alle Excel-Formatvorlagen-Ausdrücke beginnen mit einem Gleichheitszeichen (=). Dieser Ausdrucksstil ist nur in SharePoint Online und SharePoint Server-Abonnementedition ab dem Featureupdate von Version 22H2 verfügbar. Dieser Ausdrucksstil ist in SharePoint Server-Abonnementedition vor dem Featureupdate von Version 22H2 oder SharePoint Server 2019 nicht verfügbar.

Dieser einfache bedingte Ausdruck berechnet none wenn @me nicht gleich [$Author.email] ist und berechnet andernfalls '':

=if(@me != [$Author.email], 'none', '')

Komplexere if/else-Anweisung können wie folgt geschrieben werden:

=if([$Sentiment] <= 0.3, 'sp-field-severity--blocked', if([$Sentiment] < 0.9,'sp-field-severity--warning','sp-field-severity--good'))

Nicht-bedingte Operatoren, die einen oder zwei Operanden ausführen, können wie folgt geschrieben werden:

=[$foo] * -7
=sin(@currentField)
=toString(60 + (sin(6.2831853 * @currentField) * 60))

Abstrakte Syntaxstruktur-Ausdrücke

Das folgende Beispiel enthält ein Objekt des Typs „Expression“, das den folgenden Ausdruck ausführt:

(@currentField > 40) ? '100%' : (((@currentField * 2.5).toString() + '%')

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "operator": "?",
  "operands": [
    {
      "operator": ">",
      "operands": [
        "@currentField",
        "40"
      ]
    },
    "100%",
    {
      "operator": "+",
      "operands": [
        {
          "operator": "toString()",
          "operands": [
            {
              "operator": "*",
              "operands": [
                "@currentField",
                2.5
              ]
            }
          ]
        },
        "%"
      ]
    }
  ]
}

Operatoren

Operatoren legen fest, welcher Typ von Operation ausgeführt werden soll. Die folgenden Operatoren sind gültige Werte:

  • +
  • -
  • /
  • *
  • <
  • >
  • %
  • ==
  • !=
  • <=
  • >=
  • ||
  • &&
  • toString()
  • Number()
  • Date()
  • cos
  • sin
  • ?
  • :
  • toLocaleString()
  • toLocaleDateString()
  • toLocaleTimeString()
  • indexOf
  • toLowerCase
  • Verknüpfung
  • length
  • abs
  • loopIndex
  • Floor
  • Ceiling
  • Pow
  • substring
  • getDate
  • getMonth
  • getYear
  • toUpperCase
  • LastIndexOf
  • startsWith
  • endsWith
  • replace
  • Replaceall
  • padStart
  • padEnd
  • getUserImage
  • addDays
  • addMinutes
  • appendTo
  • removeFrom
  • trennen

Binäre arithmetische Operatoren: Im Folgenden sind die üblichen arithmetischen Binäroperatoren aufgeführt, die zwei Operanden erwarten:

  • +
  • -
  • /
  • *
  • <
  • >
  • %
  • ==
  • !=
  • <=
  • >=

Unäre Operatoren: Unten sehen Sie die standardmäßigen unären Operatoren. Diese erwarten nur einen einzigen Operanden:

  • toString(): Gibt eine Zeichenfolge zur Darstellung des Objekts zurück.
    • "txtContent": "=toString(45)" ergibt 45
  • Number(): Gibt den numerischen Wert zurück; wenn der Operand keine Zahl ist, wird NaN zurückgegeben.
    • "txtContent": "=Number('365')" ergibt 365
    • "txtContent": "=Number('Wowee')" ergibt NaN
    • "txtContent": "=Number(Date('12/26/1981'))" ergibt 378190800000
  • Date(): Gibt ein dateTime-Objekt aus dem Parameter zurück (konvertiert Zeichenfolgen oder Zahlen unter Berücksichtigung des Gebietsschemas in Datumsangaben)
    • "txtContent": "=Date('12/26/1981')" ergibt 26.12.1981, 12:00:00 Uhr
  • cos: Gibt den Kosinus des angegebenen Winkels an, der als Bogenmaß angegeben werden sollte.
    • "txtContent": "=cos(5)" ergibt 0,28366218546322625
  • sin: Gibt den Sinus einer Zahl zurück.
    • "txtContent": "=sin(90)" ergibt 0,8939966636005579
  • toDateString(): gibt ein Datum in einem kurzen, benutzerfreundlichen Format zurück.
    • "txtContent": "=toDateString(@now)"Das Ergebnis variiert nicht je nach Gebietsschema des Benutzers und sieht wie folgt aus:"Mi 03. August 2022"
  • toLocaleString(): Gibt eine sprachabhängige Darstellung eines Datums zurück.
    • "txtContent":"=toLocaleString(@now)"-Ergebnisse variieren je nach dem Gebietsschema des Benutzers, „en-us“ wird aber als 2/5/2019, 1:22:24 PM dargestellt.
  • toLocaleDateString(): Gibt eine sprachabhängige Darstellung des Datumsteils einer Datumsangabe zurück.
    • "txtContent":"=toLocaleDateString(@now)"-Ergebnisse variieren je nach dem Gebietsschema des Benutzers, „en-us“ wird aber als 2/5/2019 dargestellt.
  • toLocaleDateString(): Gibt eine sprachabhängige Darstellung des Uhrzeitteils einer Datumsangabe zurück.
    • "txtContent":"=toLocaleTimeString(@now)"-Ergebnisse variieren je nach dem Gebietsschema des Benutzers, „en-us“ wird aber als 1:22:24 PM dargestellt.
  • toLowerCase: Gibt den Wert konvertiert in Kleinbuchstaben zurück (funktioniert nur in Zeichenfolgen) – Nur in SharePoint Online verfügbar
    • "txtContent":"=toLowerCase('DogFood')" ergibt "dogfood"
  • abs: Gibt den absoluten Wert für eine bestimmte Zahl zurück – Nur in SharePoint Online verfügbar
    • "txtContent":"=abs(-45)" ergibt 45
  • length: Gibt die Anzahl von Elementen in einem Array (Mehrfachauswahl für Personen oder Werte) zurück; für alle anderen Werttypen wird bei „true“ 1 und bei „false“ 0 zurückgegeben. Er gibt NICHT die Länge eines Zeichenfolgenwerts zurück (lesen Sie dazu die weiter unten erläuterte indexOf-Problemumgehung für einen solchen Vorgang). - Nur in SharePoint Online verfügbar
    • "txtContent":"=length(@currentField)" kann 2 ergeben, wenn 2 Werte ausgewählt wurden.
    • "txtContent":"=length('Some Text')" ergibt 1
    • "txtContent":"=length('')" ergibt 0
    • "txtContent":"=length(45)" ergibt 1
    • "txtContent":"=length(0)" ergibt 0
  • floor: Gibt die größte ganze Zahl zurück, die kleiner gleich einem gegebenen Zahlenwert ist. - Nur in SharePoint Online verfügbar
    • "txtContent":"=floor(45.5)" ergibt 45
  • ceiling: rundet die gegebene Zahl zur nächstgrößten ganzen Zahl auf. - Nur in SharePoint Online verfügbar
    • "txtContent":"=ceiling(45.5)" ergibt 46
  • getDate: gibt den Tag des Monats des gegebenen Datums zurück. - Nur in SharePoint Online verfügbar
    • "txtContent":"=getDate(Date('12/26/1981'))" ergibt 26
  • getMonth: Gibt den Monat am angegebenen Datum gemäß Ortszeit als nullbasierten Wert zurück (wobei null den ersten Monat des Jahres angibt). - Nur in SharePoint Online verfügbar
    • "txtContent":"=getMonth(Date('12/26/1981'))" ergibt 11
  • getYear: gibt das Jahr des angegebenen Datums zurück. - Nur in SharePoint Online verfügbar
    • "txtContent":"=getYear(Date('12/26/1981'))" ergibt 1981
  • toUpperCase: gibt den in Großbuchstaben umgewandelten Wert zurück (funktioniert nur bei Zeichenketten) – Nur in Microsoft Office SharePoint Online verfügbar
    • "txtContent":"=toUpperCase('DogFood')" wird zu "DOGFOOD"

Binäre Operatoren: Unten sehen Sie die binären Operatoren, die zwei Operanden verwenden:

  • indexOf: Verwendet 2 Operanden. Der erste ist der Text (oder Array), in dem Sie suchen möchten, der zweite ist der Text, nach dem Sie suchen möchten. Gibt den Indexwert des ersten Vorkommens des Suchbegriffs innerhalb der Zeichenfolge (oder Arrays) zurück. Die Indizes beginnen bei 0. Wenn der Suchbegriff im Text (oder Array) nicht gefunden wird, wird -1 zurückgegeben. Bei diesem Operator wird Groß- und Kleinschreibung unterschieden. - Nur in SharePoint Online verfügbar
    • "txtContent": "=indexOf('DogFood', 'Dog')" ergibt 0
    • "txtContent": "=indexOf('DogFood', 'F')" ergibt 3
    • "txtContent": "=indexOf('DogFood', 'Cat')" ergibt -1
    • "txtContent": "=indexOf('DogFood', 'f')" ergibt -1
  • join: Verwendet 2 Operanden. Der erste ist ein Array (Mehrfachauswahl für Personen und Werte), der zweite ist die trennende Zeichenfolge. Gibt eine Zeichenfolgenverkettung der Arraywerte zurück, die durch die trennende Zeichenfolge getrennt werden. - Nur in SharePoint Online verfügbar
    • "txtContent": "=join(@currentField, ', ')" kann (je nach den ausgewählten Werten) „Apfel, Orange, Kirsche“ ergeben
    • "txtContent": "=join(@currentField.title, '|')" kann (je nach den ausgewählten Personen) „Chris Kent|Vesa Juvonen|Jeff Teper“ ergeben
  • pow: berechnet die Potenz aus zwei Werten. - Nur in SharePoint Online verfügbar
    • "txtContent":"=pow(2,3)" wird zu 8
  • lastIndexOf: gibt die Position des letzten Vorkommens eines angegebenen Wertes in einer Zeichenkette (oder Array) zurück.
    • "txtContent": "=lastIndexOf('DogFood DogFood', 'Dog')" wird zu 8
    • "txtContent": "=lastIndexOf('DogFood DogFood', 'F')" wird zu 11
    • "txtContent": "=lastIndexOf('DogFood DogFood', 'Cat')" ergibt -1
    • "txtContent": "=lastIndexOf('DogFood DogFood', 'f')" ergibt -1
  • startsWith: bestimmt, ob eine Zeichenkette mit den Zeichen einer angegebenen Zeichenkette beginnt
    • "txtContent":"=startsWith('DogFood', 'Dog')" wird zu wahr
    • "txtContent":"=startsWith('DogFood', 'Food')" wird zu falsch
  • EndsWith: bestimmt, ob eine Zeichenfolge mit den Zeichen einer angegebenen Zeichenfolge endet
    • "txtContent":"=endsWith('DogFood', 'Dog')" wird zu falsch
    • "txtContent":"=endsWith('DogFood', 'Food')" wird zu wahr
  • getUserImage: gibt eine URL zurück, die auf das Profilbild des Benutzers für eine bestimmte E-Mail und die bevorzugte Größe verweist
    • "src":"=getUserImage('kaylat@contoso.com', 'small')" gibt eine URL zurück, die auf das Profilbild des Benutzers in kleiner Auflösung verweist
    • "src":"=getUserImage('kaylat@contoso.com', 's')" gibt eine URL zurück, die auf das Profilbild des Benutzers in kleiner Auflösung verweist
    • "src":"=getUserImage('kaylat@contoso.com', 'medium')" gibt eine URL zurück, die auf das Profilbild des Benutzers in mittlerer Auflösung verweist
    • "src":"=getUserImage('kaylat@contoso.com', 'm')" gibt eine URL zurück, die auf das Profilbild des Benutzers in mittlerer Auflösung verweist
    • "src":"=getUserImage('kaylat@contoso.com', 'large')" gibt eine URL zurück, die auf das Profilbild des Benutzers in großer Auflösung verweist
    • "src":"=getUserImage('kaylat@contoso.com', 'l')" gibt eine URL zurück, die auf das Profilbild des Benutzers in großer Auflösung verweist
  • appendTo: gibt ein Array zurück, an das der angegebene Eintrag angefügt ist.
    • "txtContent": "=appendTo(@currentField, 'Choice 4')" gibt ein Array zurück, bei dem dem @currentField Array "Choice 4" hinzugefügt wurde.
    • "txtContent": "=appendTo(@currentField, 'kaylat@contoso.com')"gibt ein Array zurück, bei dem dem @currentField Array "kaylat@contoso.com" hinzugefügt wurde.
  • removeFrom: gibt ein Array zurück, dessen angegebener Eintrag aus dem angegebenen Array entfernt wurde, sofern vorhanden.
    • "txtContent": "=removeFrom(@currentField, 'Choice 4')" gibt ein Array zurück, bei dem "Choice 4" aus dem @currentField Array entfernt wurde.
    • "txtContent": "=removeFrom(@currentField, 'kaylat@contoso.com')" gibt ein Array zurück, bei dem "kaylat@contoso.com" aus dem @currentField Array entfernt wurde.
  • split: unterteilt die angegebene Zeichenfolge in eine geordnete Liste von Teilzeichenfolgen, indem nach dem angegebenen Muster gesucht wird, und gibt ein Array dieser Teilzeichenfolgen zurück.
    • "txtContent": "=split('Hello World', ' ')" gibt ein Array mit 2 Zeichenfolgen zurück: "Hello" und "World"
  • addDays: gibt ein datetime-Objekt zurück, dessen Tage vom angegebenen datetime-Wert hinzugefügt (oder abgezogen) werden.
    • "txtContent": "=addDays(Date('11/14/2021'), 3)" gibt einen 17.11.2021 um 12:00:00 Uhr zurück.
    • "txtContent": "=addDays(Date('11/14/2021'), -1)" gibt einen 13.11.2021 um 12:00:00 Uhr zurück.
  • addMinutes: gibt ein datetime-Objekt zurück, bei dem Minuten aus dem angegebenen datetime-Wert hinzugefügt (oder abgezogen) werden.
    • "txtContent": "=addMinutes(Date('11/14/2021'), 3)" gibt einen 14.11.2021 um 12:03:00 Uhr zurück.
    • "txtContent": "=addMinutes(Date('11/14/2021'), -1)" gibt einen 13.11.2021 um 11:59:00 Uhr zurück.

Ternäre Operatoren: Folgenden Operatoren benötigen drei Operanden:

  • substring: Gibt den Teil der Zeichenfolge zwischen Start- und Endindex zurück. - Nur in SharePoint Online verfügbar

    • "txtContent":"=substring('DogFood', 3, 4)" Ergebnisse in F
    • "txtContent":"=substring('DogFood', 4, 3)" Ergebnisse in F
    • "txtContent":"=substring('DogFood', 3, 6)" Ergebnisse in Foo
    • "txtContent":"=substring('DogFood', 6, 3)" Ergebnisse in Foo

    Die substring()-Methode gibt den Teil der Zeichenfolge zwischen dem Start- und dem Endindex bzw. bis zum Ende der Zeichenfolge zurück.

  • Replace: durchsucht eine Zeichenfolge (oder ein Array) nach einem angegebenen Wert und gibt eine neue Zeichenfolge (oder ein Array) zurück, wobei der angegebene Wert ersetzt wird. Im Fall einer Zeichenfolge wird nur die erste Instanz des Werts ersetzt.

    • "txtContent":"=replace('Hello world', 'world', 'everyone')" wird zu Hello everyone
    • "txtContent":"=replace([$MultiChoiceField], 'Choice 1', 'Choice 2')" gibt ein Array zurück, das Choice 1 durch Choice 2 ersetzt.
    • "txtContent":"=replace([$MultiUserField], @me, 'kaylat@contoso.com')" gibt ein Array zurück, das @me durch "kaylat@contoso.com" ersetzt wird.
  • replaceAll: Durchsucht eine Zeichenfolge nach einem angegebenen Wert und gibt eine neue Zeichenfolge (oder ein Array) zurück, in der der angegebene Wert ersetzt wird. Im Fall einer Zeichenfolge werden alle Instanzen des Werts ersetzt.

    • "txtContent":"=replaceAll('H-e-l-l-o W-o-r-l-d', '-', '')"führt zu Hallo Welt
  • padStart: füllt die aktuelle Zeichenfolge mit einer anderen Zeichenfolge auf, bis die resultierende Zeichenfolge die angegebene Länge erreicht. Die Auffüllung wird ab dem Anfang der aktuellen Zeichenfolge angewendet.

    • "txtContent":"=padStart('DogFood', 10, 'A')" wird zu AAADogFood
    • "txtContent":"=padStart('DogFood', 10, 'AB')" wird zu ABADogFood
    • "txtContent":"=padStart('DogFood', 5, 'A')" wird zu DogFood
  • padEnd: füllt die aktuelle Zeichenfolge mit einer gegebenen Zeichenfolge auf, bis die resultierende Zeichenfolge die gegebene Länge erreicht. Die Auffüllung wird vom Ende der aktuellen Zeichenfolge an angewendet.

    • "txtContent":"=padEnd('DogFood', 10, 'A')" wird zu DogFoodAAA
    • "txtContent":"=padEnd('DogFood', 10, 'AB')" wird zu DogFoodABA
    • "txtContent":"=padEnd('DogFood', 5, 'A')" wird zu DogFood
  • getThumbnailImage: Gibt eine URL zurück, die auf das Bild für ein bestimmtes Bildfeld und die bevorzugte Größe zeigt.

    • "src":"=getThumbnailImage([$ImageField], 400, 200)" resultiert in einer URL, die auf das Bild für ein bestimmtes Bildfeld mit einer Breite von 400 und einer Höhe von 200 zeigt.

Bedingter Operator: Unten sehen Sie den bedingten Operator:

  • ? : Bedingte Operatoren, die in der abstrakten Struktursyntax geschrieben werden, verwenden ? als Operator. Er wird zur Formulierung von Ausdrücken des Typs „a ? b : c“ verwendet. Ist der Ausdruck „a“ wahr, so lautet das Ergebnis „b“; ansonsten lautet das Ergebnis „c“. Für Excel-Formatvorlagenausdrücke schreiben Sie diese mit einer if-Anweisung. Unabhängig davon gibt es 3 Operanden. Der erste ist die auszuwertende Bedingung. Der erste ist das Ergebnis, wenn die Bedingung „true“ ist. Der zweite ist das Ergebnis, wenn die Bedingung „false“ ist.
    • "txtContent":"=if(4 < 5, 'yes', 'no')" ergibt ja
    • "txtContent":"=if(4 > 5, 'yes', 'no')" ergibt nein

Mehrwertige feldbezogene Operatoren – Die folgenden Operatoren werden nur im Kontext mit mehrwertigen Feldern vom Typ "Person", "Nachschlagen" oder "Auswahl" verwendet.

  • length
  • join
  • loopIndex

length gibt bei Angabe eines Feldnamens die Anzahl der Elemente in einem mehrwertigen Feld zurück. Wird ein einwertiges Feld angegeben, gibt length den Wert "1" zurück, sofern das Feld einen Wert enthält.

join verkettet Werte in einem mehrwertigen Feld mit einem angegebenen Trennzeichen. Der erste Operand muss auf einen Wert in einem mehrwertigen Feld zeigen, z. B. "@currentField.lookupValue", "[$AssignedTo.title]". Der zweite Operand muss ein Zeichenfolgenliteral sein, welches das Trennzeichen ist, das die Werte miteinander verkettet.

Wenn loopIndex mit einem Namen der Iteratorvariablen versehen ist, wird der aktuelle Index des Iterators (beginnend mit 0) zurückgegeben. Der Name des Iterators muss als Zeichenfolgenliteral angegeben werden. loopIndex funktioniert nur innerhalb des Elements mit aktiviertem forEach oder seinen untergeordneten Elementen.

Beispiele finden Sie hier.

Zeichenfolgebezogene Operatoren – Einige der zuvor erläuterten Operatoren können beim Arbeiten mit Zeichenfolgenwerten verwendet werden.

  • +
  • IndexOf (für Problemumgehung im Zusammenhang mit Zeichenfolgenlänge)

+ kann verwendet werden, wenn Zeichenfolgen verkettet werden müssen, z. B.: "txtContent": "=[$column1] + ' ' + [$column2] + 'some other text'"

indexOfda der Operator length nicht für Zeichenfolgenwerttypen funktioniert ( er gibt 1 oder 0 zurück), indexOf kann uns als eine schöne Problemumgehung dienen, um die Länge einer Zeichenfolge abzurufen, z. B. . indexOf([$column1] + '^', '^') Wir verwenden '^' oder ein anderes Zeichen, mit dem wir das Ende der Zeichenfolge ermitteln möchten.

Operanden

Gibt die Parameter (Operanden) eines Ausdrucks an. Konkret handelt es sich um ein Array von Objekten des Typs „Expression“ oder von Basiswerten.

Spezialzeichenfolgenwerte

Die Werte für txtContent, Formatvorlagen und Attribute können entweder Zeichenfolgen oder Objekte des Typs „Expression“ sein. Daneben werden zum Abrufen von Werten aus Listenfeldern und dem Benutzerkontext einige spezielle Zeichenfolgenmuster unterstützt.

„@currentField“

Wird ausgewertet in den Wert des aktuellen Felds.

Einige Feldtypen werden als Objekte dargestellt. Zum Abrufen eines Werts aus einem Objekt verweisen Sie auf eine Eigenschaft innerhalb des Objekts. Beispiel: Ist das aktuelle Feld ein Personen- oder Gruppenfeld, würden Sie @currentField.title angeben, um den Namen der Person abzurufen, wie er in der Regel in Listenansichten angezeigt wird. Nachfolgend sind die Feldtypen aufgeführt, die als Objekte dargestellt werden, inklusive einer Liste ihrer jeweiligen Eigenschaften.

Hinweis

@currentField.title gibt standardmäßig den Namen einer Person zurück. Wenn jedoch der Wert „Show Field“ des Personenfelds angepasst wurde, wird möglicherweise der Wert der Eigenschaft title geändert. Wird zum Beispiel der Wert „Show Field“ eines Personenfelds als „Abteilung“ konfiguriert, erhält die Eigenschaft title als Wert die Abteilung der Person.

Personenfelder

Das Objekte des Personenfelds verfügt über die folgenden Eigenschaften (es sind auch Beispiele aufgeführt):

{
  "id": "122",
  "title": "Kalya Tucker",
  "email": "kaylat@contoso.com",
  "sip": "kaylat@contoso.com",
  "picture": "https://contoso.sharepoint.com/kaylat_contoso_com_MThumb.jpg?t=63576928822",
  "department":"Human Resources",
  "jobTitle":"HR Manager"
}

Das Feld "Personen" kann Profil-Hoverkarten zusammen mit der Formatierung aufweisen:

{
  "elmType": "div",
  "txtContent": "[$Editor.title]",
  "defaultHoverField": "[$Editor]"
}

Datum/Uhrzeit-Felder

Es gibt mehrere Möglichkeiten, den Wert eines Datum/Uhrzeit-Felds abzurufen, je nachdem, welches Datumsformat angezeigt werden soll. Unterstützt werden die folgenden Methoden zur Konvertierung von Datumswerten in bestimmte Formate:

  • toLocaleString(): Gibt einen komplett erweiterten Datentyp mit Datum und Uhrzeit aus.
  • toLocaleDateString(): Gibt einen Datentyp aus, der nur das Datum anzeigt.
  • toLocaleTimeString(): Gibt einen Datentyp aus, der nur die Uhrzeit anzeigt.

Der folgende JSON-Code beispielsweise würde das aktuelle Feld als Datum/Uhrzeit-Zeichenfolge anzeigen (sofern es sich um ein Datumsfeld handelt).

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "txtContent": {
    "operator": "toLocaleString()",
    "operands" : ["@currentField"]
  }
}

Hier sehen Sie das gleiche Beispiel wie oben unter Verwendung der Ausdruckssyntax im Excel-Format:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "txtContent": "=toLocaleString(@currentField)"
}

Standortfelder

Das Standortfeld-Objekt verfügt über die folgenden Eigenschaften (es sind auch Beispiele aufgeführt):

{
  "Address": {
    "City": "Knoxville",
    "CountryOrRegion": "United States",
    "State": "TN",
    "Street": "963 Worlds Fair Park Dr"
  },
  "Coordinates": {
    "Latitude": "35.961673736572266",
    "Longitude": "-83.92420959472656"
  },
  "DisplayName": "World's Fair Park",
  "LocationUri": "https://www.bingapis.com/api/v6/localentities/8346bf26-6da4-104c-6ba5-2334b83f6ac8?setLang=en"
}

Das folgende Beispiel demonstriert die Anwendung eines Standortfelds auf ein aktuelles Feld.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json",
  "elmType": "div",
  "style": {
    "display": "block"
  },
  "children": [
    {
      "elmType": "a",
      "txtContent": "@currentField.DisplayName",
      "attributes": {
        "href": "='https://www.bing.com/maps?cp=' + @currentField.Coordinates.Latitude + '~' + @currentField.Coordinates.Longitude + '&lvl=17&sV=2'",
        "target": "_blank",
        "title": "=@currentField.Coordinates.Latitude + ', ' + @currentField.Coordinates.Longitude"
      },
      "style": {
        "display": "block"
      }
    },
    {
      "elmType": "div",
      "txtContent": "@currentField.Address.Street"
    },
    {
      "elmType": "div",
      "txtContent": "=@currentField.Address.City + ', ' + @currentField.Address.State"
    },
    {
      "elmType": "div",
      "txtContent": "@currentField.Address.CountryOrRegion"
    }
  ]
}

Nachschlagefelder

Das Objekte des Nachschlagefelds verfügt über die folgenden Eigenschaften (es sind auch Beispiele aufgeführt):

{
  "lookupId": "100",
  "lookupValue": "North America",
}

Das folgende Beispiel demonstriert die Anwendung eines Nachschlagefelds auf ein aktuelles Feld.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "a",
  "txtContent": "@currentField.lookupValue",
  "attributes": {
    "href": {
      "operator": "+",
      "operands": [
        "https://contoso.sharepoint.com/teams/Discovery/Lists/Regions/DispForm.aspx?ID=",
        "@currentField.lookupId"
      ]
    },
    "target": "_blank"
  }
}

Linkfelder

Das Objekte des Linkfelds verfügt über die folgende Eigenschaft (es ist auch ein Beispiel aufgeführt):

{
  "desc": "SharePoint Patterns and Practices",
}

Um auf den URL-Wert zu verweisen, verwenden Sie @currentField.

Das folgende Beispiel demonstriert die Anwendung eines Linkfelds auf ein aktuelles Feld.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "a",
  "txtContent": "@currentField.desc",
  "attributes": {
    "href": "@currentField",
    "target": "_blank"
  }
}

Bildfelder

Das Objekte des Bildfelds verfügt über die folgenden Eigenschaften (es sind auch Beispiele aufgeführt):

{
  "fileName": "image.png",
  "id": "6bb1d843-0633-4c9a-9a16-90bc5abd1d8e",
  "serverRelativeUrl": "/teams/Discovery/SiteAssets/Lists/ad6ed939-0db2-4d85-8a39-8f3497f41eee/image.png",
  "serverUrl": "https://contoso.sharepoint.com",
  "thumbnailRenderer": {
        "spItemUrl": "https://contoso.sharepoint.com:443/_api/v2.1/drives/b!7196759210defdc0/items/2303b15bfa48c74a74758135a0df1201",
        "fileVersion": 3,
        "sponsorToken": "3u+UR6n8AgABAAAAHxxdXKmiOmUoqKnZlf8lTOhlPYy93EAkbPfs5+49YLFd/B1+omSKbW7DoqNM40/EeVnwJ8kYoXv9zy9D5C5m5A=="
      }
}

Das folgende Beispiel zeigt, wie ein Bildfeld auf ein aktuelles Feld angewendet werden kann.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "img",
  "attributes": {
    "src": "=getThumbnailImage(@currentField, 400, 300)",
    "alt": "@currentField.fileName"
  },
  "style": {
    "width": "100%",
    "max-width": "100%"
  }
}

Genehmigungsstatusfelder

Das Feldobjekt "Genehmigungsstatus" weist die folgende Eigenschaft auf (mit Beispielwert):

{
  "displayValue": "Approved",
  "numeric": 0
}

displayValue ist eine lokalisierte Zeichenfolge des Genehmigungsstatus.

@currentField oder [$__ModerationStatus]werden auch intern dem folgenden internen numerischen Wert zugeordnet:

- 0 : Approved
- 1 : Denied
- 2 : Pending
- 3 : Draft
- 4 : Scheduled

[$_ModerationStatus] Feld unterstützt sowohl Vergleiche mit Zeichenfolgen als auch mit dem numerischen Wert. Die numerischen Vergleiche funktionieren gebietsschema- und sprachübergreifend. Dies ist die empfohlene Methode für dieses Feld.

Die folgenden Ausdrücke werden in die Ausgabe auf der rechten Seite ausgewertet, wenn der Status Pending ist:

// reading field value
"[$_ModerationStatus]" => "Pending"

// obtaining the internal numeric value:
"=Number([$_ModerationStatus])" => 2
"=[$_ModerationStatus.numeric]" => 2

// addition results in string concatenation:
"='status:'+[$_ModerationStatus]" => 'status:Pending'

// numeric comparisons
"=([$_ModerationStatus] == 2)" => true
"=([$_ModerationStatus] != 1)" => true

// other comparators are rarely useful, for cases where you want might want to exclude Draft & Scheduled
"=([$_ModerationStatus] < 3)" => true

// localized string comparison, works only with one locale (en-us here)
"=if([$_ModerationStatus]=='Pending','This Works too!', 'Nope!')" => 'This Works too!'

Das folgende Beispiel zeigt, wie ein Genehmigungsstatusfeld für ein aktuelles Feld verwendet werden kann.

{
  "elmType": "div",
  "txtContent": "@currentField.displayValue",
  "style": {
    "color": "=if(@currentField == 2, 'red', '')"
  }
}

„[$FieldName]“

Die Spalte wird im Kontext der gesamten Zeile formatiert. Sie können diesen Kontext verwenden, um auf die Werte der anderen Felder in derselben Zeile verweisen, durch Angeben der internen Namen des Felds, umgeben von eckigen Klammern und mit einem vorangestellten Dollarzeichen: [$InternalName]. Beispiel: Zum Abrufen des Werts eines Felds mit dem internen Namen „MarchSales“ würden Sie [$MarchSales] verwenden.

Hinweis

Verweise auf andere Felder funktionieren nur, wenn sie in derselben Ansicht enthalten sind.

Ist der Wert eines Felds ein Objekt, können Sie auf die Eigenschaften dieses Objekts zugreifen. Wenn Sie z. B. auf die Eigenschaft „Titel“ eines Personenfelds mit dem Namen „SalesLead“ zugreifen möchten, verwenden Sie „[$SalesLead.title]“.

"[!FieldName]"

In Spalten- und Anzeigeformatierungen können Sie auf die Metadaten eines beliebigen Felds verweisen, indem Sie den internen Namen des Felds in eckigen Klammern mit einem vorangestellten Ausrufezeichen angeben: [!InternalName].

Aktuell ist der Anzeigename des Felds in diesen Metadaten verfügbar und kann über die Eigenschaft "DisplayName" aufgerufen werden: [!SalesLead.DisplayName].

„@currentWeb“

Dadurch wird die absolute URL für die Website ausgewertet. Dies entspricht dem Wert webAbsoluteUrl im Kontext der Seite. Dieser Wert ist nur in SharePoint Online verfügbar.

„@me“

Wird ausgewertet in die E-Mail-Adresse des aktuell angemeldeten Benutzers.

Dieses Feld kann verwendet werden, um die aktuelle E-Mail-Adresse des Benutzers anzuzeigen, aber viel wahrscheinlicher wird es unter Bedingungen verwendet. Nachfolgend finden Sie ein Beispiel für das Festlegen einer Farbe für ein Personenfeld auf Rot, wenn es dem aktuell angemeldeten Benutzer entspricht, und auf Blau, wenn dies nicht der Fall ist:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "txtContent": "@currentField.title",
  "style": {
    "color": {
      "operator": "?",
      "operands": [
        {
            "operator": "==",
            "operands": [
              "@me",
              "@currentField.email"
            ]
        },
          "red",
          "blue"
      ]
    }
  }
}

Hier sehen Sie das gleiche Beispiel wie oben unter Verwendung der Ausdruckssyntax im Excel-Format:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "txtContent": "@currentField.title",
  "style": {
    "color": "=if(@me == @currentField.email, 'red', 'blue')"
  }
}

„@now“

Wird ausgewertet in das aktuelle Datum und die aktuelle Uhrzeit.

"@rowIndex"

Wird ausgewertet in den gerenderten Index einer Zeile innerhalb einer Ansicht. Dieser Wert basiert auf der Renderposition und bleibt auch bei sortierten und gefilterten Ansichten basierend auf der Position konsistent. Die Indizes beginnen bei 0. Dieser Wert ist nur in SharePoint Online verfügbar.

Hier ist ein Beispiel für die Verwendung des Werts innerhalb eines Ansichtsformats, um abwechselnde Formatvorlagen auf Zeilen anzuwenden:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/view-formatting.schema.json",
  "additionalRowClass": "=if(@rowIndex % 2 == 0,'ms-bgColor-themeLighter ms-bgColor-themeLight--hover','')"
}

„@window.innerHeight“

So wird eine Zahl berechnet, die der Hohe des Browserfensters (in Pixel) entspricht, als die Liste erstellt wurde.

„@window.innerWidth“

So wird eine Zahl berechnet, die der Breite des Browserfensters (in Pixel) entspricht, als die Liste erstellt wurde.

Miniaturbilder

In einer Dokumentenbibliothek gibt es eine Reihe von Token, mit denen die URL zum Miniaturbild einer Datei abgerufen werden kann, einschließlich:

  • @thumbnail.small, @thumbnail.medium und @thumbnail.large werden zur Miniaturbild-URL in 3 verschiedenen vordefinierten Größen ausgewertet.
  • @thumbnail.<bounding size> wird zur URL zu den größten Miniaturbildern ausgewertet, die den Begrenzungsrahmen in Breite und Höhe nicht überschreiten. @thumbnail.150 wird z. B. zur URL zu einem Miniaturbild ausgewertet, das nicht größer als 150 × 150 Pixel ist.
  • @thumbnail.<bounding width>x<bounding height> wird zur URL zum größten Miniaturbild ausgewertet, das die Breite und Höhe des Begrenzungsrahmens nicht überschreitet. @thumbnail.100x200 wird z. B. zur URL zu einem Miniaturbild ausgewertet, das nicht breiter als 100 Pixel und nicht höher als 200 Pixel ist.

Diese Token liefern keinen Wert für Elemente, die keine Dateien sind (z. B. Ordner).

Hinweis

Das Seitenverhältnis des erzeugten Miniaturbilds ist das gleiche wie bei der Darstellung der Datei, eine Änderung der Größen des Begrenzungsrahmens hat keinen Einfluss auf das Seitenverhältnis des Miniaturbilds.

Tipp

Miniaturbilder sind nur für eine Liste der unterstützten Dateiformate verfügbar. Das bedeutet, dass die generierte URL manchmal aufgrund mangelnder Unterstützung für bestimmte Formate nicht zugänglich ist. Wenn jedoch ein gültiges Miniaturansichtstoken als einzigessrc Attribut eines img Tags festgelegt ist, kümmern wir uns darum und blenden das Bild aus, wenn es nicht verfügbar ist.

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "img",
  "attributes": {
    "src": "@thumbnail.200x150",
    "alt": "='Thumbnail of file ' + [$FileLeafRef]"
  },
  "style": {
    "width": "100%",
    "max-width": "100%"
  }
}

Standard-Dateihoverkarte mit „FileLeafRef“

{
  "elmType": "img",
  "style": {
    "width": "100%",
    "height": "100%",
    "display": "=if([$File_x0020_Type] == '', 'none', '')"
  },
  "attributes": {
    "src": "@thumbnail.300x300"
  },
  "defaultHoverField": "[$FileLeafRef]"
}

displayValue

Die folgenden Spaltentypen können die Eigenschaft displayValue verwenden, um den standardmäßig gerenderten Wert basierend auf der Spalteneinstellung zu erhalten

  • Datum/Uhrzeit
  • Zahl
  • Ja/Nein
  • Währung
  • Genehmigungsstatus
{
  "elmType": "div",
  "txtContent": "@currentField.displayValue"
}

Dies funktioniert auch mit dem Feldnamen

{
  "elmType": "div",
  "txtContent": "[$FieldName.displayValue]"
}

"@isSelected"

Dies wird für ausgewählte Elemente in einer Ansicht zu ausgewertet true und false andernfalls.

"@lcid"

Dadurch wird die LCID der aktuellen Kultur ausgewertet. Dies kann verwendet werden, um Datum, Uhrzeit und Zahlen zu formatieren.

"@UIlcid"

Dadurch wird die LCID der aktuellen Benutzeroberflächenkultur ausgewertet. Dies kann verwendet werden, um lokalisierte Anzeigezeichenfolgen anzuzeigen.