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 das Spezial elmTypefilepreview mit dem Attribut, das src auf @thumbnail.<Size> festgelegt ist, um Miniaturansichten für Dateien in Ihrer Dokumentbibliothek anzuzeigen.

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"
}

img src security

Bilder aus den folgenden Domänen sind zulässig:

  • Mandantendomäne, konfigurierte Multi-Geo-Domänen und Vanity-Domänen (company.sharepoint.com)
  • cdn.office.net, akamaihd.net, static2.sharepointonline.com CDNs

Die meisten anderen externen Bildquellen werden in benutzerdefinierten Formatierern standardmäßig blockiert. Um externe Images einzuschließen und bestimmte Domänen oder CDNs zuzulassen, muss die Domäne einer Einstellung auf Standortebene hinzugefügt werden. Weitere Informationen finden Sie unter Zulassen oder Einschränken der Möglichkeit zum Einbetten von Inhalten auf SharePoint-Seiten

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 Expression-Objekt.

{
  "$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

Die attributes optionale Eigenschaft gibt weitere Attribute an, die dem von angegebenen Element hinzugefügt werden elmTypesollen. 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

Die children optionale Eigenschaft gibt untergeordnete Elemente des durch elmTypeangegebenen Elements an. 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

Die debugMode optionale Eigenschaft ist für das Debuggen vorgesehen. Sie gibt Fehlermeldungen aus und protokolliert Warnungen in der Konsole.

forEach

Die forEach optionale Eigenschaft ermöglicht es einem Element, sich für jeden Member eines bestimmten mehrwertigen Felds 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 stellt den Namen der Iteratorvariable dar, die verwendet wird, um den aktuellen Member des Mehrwertfelds darzustellen. Der Name des Iterators kann eine beliebige Kombination aus alphanumerischen Zeichen und einem Unterstrich (_) sein, der nicht mit einer Ziffer beginnt.

Das in der Schleife verwendete Feld muss in einem unterstützten Feldtyp mit aktivierten Optionen für mehrere Werte enthalten sein: Person, Lookup und Choice. Ein Ausdruck, der ein Array zurückgibt, kann auch verwendet werden.

Im Element mit forEach oder seinen untergeordneten Elementen kann die Iteratorvariable so bezeichnet werden, als ob es sich um ein neues Feld handelt. Der Zugriff auf den Index des Iterators erfolgt mit dem loopIndex-Operator.

forEach kann nicht auf das Stammelement angewendet werden, und es wird kein Element gerendert, wenn kein Wert im Feld vorhanden ist.

Beispiele finden Sie unter Formatieren von Mehrwertfeldern .

customRowAction

button Elemente können verwendet werden, um eine bestimmte Aktion für das übergeordnete Element zu starten. Jedes button Element verfügt über die erforderliche Eigenschaft , customRowAction, die eine action angibt, die beim Auswählen der Schaltfläche verwendet wird. 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. Das folgende Beispiel zeigt eine Schaltfläche, die bei Auswahl eine Auswahl für das Element simuliert, was zum Öffnen des Listenelements führt. Durch das Hinzufügen dieser Beispielschaltfläche zu einer Dokumentbibliothek wird eine Auswahl der Datei oder des Ordners simuliert, was dazu führt, 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: Wenn Sie die Schaltfläche auswählen, 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: Wenn Sie die Schaltfläche auswählen, wird das Löschbestätigungsdialogfeld geöffnet.

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

  • openContextMenu: Wenn Sie die Schaltfläche auswählen, wird das Standardkontextmenü des Elements geöffnet.

  • setValue: Wenn Sie das Element auswählen, 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: Wenn Sie die Schaltfläche auswählen, wird der angegebene Flow gestartet, der durch die actionParams ID im Attribut angegeben wird. Ein Beispiel dazu finden Sie unter Erstellen einer Schaltfläche zum Starten eines Flusses. Im folgenden Beispiel wird diese Art von Schaltfläche veranschaulicht:

    {
      "$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\"}"
      }
    }
    
  • embed: Wenn Sie auf die Schaltfläche klicken, wird eine Legende mit darin eingebettetem Inhalt geöffnet. Der Inhalt wird durch die URL bestimmt, die src im -Attribut in actionInputangegeben wird. Sie können auch die height und width der Legende mithilfe von actionInput steuern. Muss src nur der URL-Teil eines einbettbaren Codes sein, der von einer App generiert wird.

    Weitere Informationen zu den zulassenden Domänen finden Sie unter Zulassen oder Einschränken der Möglichkeit zum Einbetten von Inhalten in SharePoint-Listen mithilfe benutzerdefinierter Formatierer.

    Hinweis

    Die embed Aktion ist nur in der neueren Version der Microsoft Listen-App verfügbar.

    {
      "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
      "elmType": "button",
      "customRowAction": {
        "action": "embed",
        "actionInput": {
          "src": "https://www.relecloud.com/embed/ll00hWQMJxQ",
          "height": "350",
          "width": "700"
        }
      },
      "txtContent": "Click here to open recipe video 👩‍🍳"
    }
    

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 beim Zeigen oder click Ereignis angezeigt wird. Die folgenden Anpassungen stehen zur Verfügung:

  • "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 Sie die Richtung relativ zum Ziel an, in der 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 das Profil Karte für die Personenfelder oder die Datei mit dem Mauszeiger Karte 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 auf 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

ist filePreviewProps eine optionale Eigenschaft, die das Überschreiben der Standardstile des Dateitypsymbols und des Markentypsymbols in filepreview.elmType ermöglicht.

Und fileTypeIconClassbrandTypeIconClass können verwendet werden, um CSS-Klassennamen für das Dateitypsymbol bzw. die Markentypsymbolelemente bereitzustellen.

Und fileTypeIconStylebrandTypeIconStyle können verwendet werden, um Stile für das Dateitypsymbol bzw. das Markentypsymbol bereitzustellen. Diese Formatvorlagen haben Vorrang vor den gleichen 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

Werte für txtContent, Stileigenschaften und Attributeigenschaften können als Ausdrücke ausgedrückt werden, sodass sie zur Laufzeit basierend auf dem Kontext des aktuellen Felds (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 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 Ausdrücken referenziert werden, auch wenn sie markiert 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 22H2 verfügbar. Dieser Ausdrucksstil ist in SharePoint Server 2019 oder SharePoint Server-Abonnementedition vor dem Featureupdate 22H2 nicht verfügbar.

Dieser einfache bedingte Ausdruck ergibt none , wenn @me ungleich [$Author.email]ist, und ergibt andernfalls '' :

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

Komplexere if/else-Anweisungen 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 annehmen, 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 Expression-Objekt, das den 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. Gültige Operatorwerte sind:

  • +
  • -
  • /
  • *
  • <
  • >
  • %
  • ==
  • !=
  • <=
  • >=
  • ||
  • &&
  • toString()
  • Number()
  • Date()
  • cos
  • sin
  • ?
  • :
  • toLocaleString()
  • toLocaleDateString()
  • toLocaleTimeString()
  • indexOf
  • toLowerCase
  • join
  • length
  • abs
  • loopIndex
  • floor
  • ceiling
  • pow
  • substring
  • getDate
  • getMonth
  • getYear
  • toUpperCase
  • lastIndexOf
  • startsWith
  • endsWith
  • replace
  • replaceAll
  • padStart
  • padEnd
  • getThumbnailImage
  • getUserImage
  • addDays
  • addMinutes
  • appendTo
  • removeFrom
  • split

Binäre arithmetische Operatoren : Die standardmäßigen arithmetischen binären Operatoren, die zwei Operanden erwarten, sind:

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

Unäre Operatoren : Die unären Standardoperatoren, die nur einen Operanden erwarten, sind:

  • toString(): gibt eine Zeichenfolge zurück, die das Objekt darstellt.
    • "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 in Datumsangaben, empfindlich auf das Gebietsschema)
    • "txtContent": "=Date('12/26/1981')" ergibt 26.12.1981, 12:00:00 Uhr
  • cos: gibt den Kosinus des angegebenen Winkels zurück, der im Bogenmaß angegeben werden soll.
    • "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 kurzfreundlichen 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 nur des Datumsteils eines Datums zurück.
    • "txtContent":"=toLocaleDateString(@now)"-Ergebnisse variieren je nach dem Gebietsschema des Benutzers, „en-us“ wird aber als 2/5/2019 dargestellt.
  • toLocaleTimeString(): Gibt eine sprachabhängige Darstellung nur des Zeitteils eines Datums 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 in Kleinbuchstaben konvertierten Wert zurück (funktioniert nur für Zeichenfolgen) – nur in SharePoint Online verfügbar
    • "txtContent":"=toLowerCase('DogFood')" ergibt "dogfood"
  • abs: gibt den absoluten Wert für eine angegebene Zahl zurück – nur in SharePoint Online verfügbar
    • "txtContent":"=abs(-45)" ergibt 45
  • length: gibt die Anzahl der Elemente in einem Array (Mehrfachauswahl von Personen oder Auswahlfeldern) zurück, für alle anderen Werttypen gibt es 1 zurück, wenn true und 0 bei false. 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 zu 2 führen, wenn zwei Werte ausgewählt sind
    • "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 oder gleich einer angegebenen Zahl ist. - Nur in SharePoint Online verfügbar
    • "txtContent":"=floor(45.5)" ergibt 45
  • ceiling: Rundet die angegebene Zahl auf die nächstgrößeste ganze Zahl oder ganze Zahl auf. - Nur in SharePoint Online verfügbar
    • "txtContent":"=ceiling(45.5)" ergibt 46
  • getDate: gibt den Tag des Monats des angegebenen 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 konvertierten Wert zurück (funktioniert nur bei Zeichenfolgen) – nur in 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: nimmt zwei Operanden an. 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 nicht innerhalb des Texts (oder Arrays) 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: nimmt zwei Operanden an. 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, '|')" könnte zu "Megan Bowen|Alex Wilber" (je nach ausgewählten Personen)
  • pow: gibt die Basis an die Exponentenleistung zurück. - Nur in SharePoint Online verfügbar
    • "txtContent":"=pow(2,3)" wird zu 8
  • lastIndexOf: gibt die Position des letzten Vorkommens eines angegebenen Werts in einer Zeichenfolge (oder einem 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 Zeichenfolge mit den Zeichen einer angegebenen Zeichenfolge 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 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 mit dem angegebenen Eintrag zurück, der an das angegebene Array 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, bei dem der angegebene 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 zwei Zeichenfolgen zurück: "Hello" und "World"
  • addDays: gibt ein datetime-Objekt mit Tagen zurück, die vom angegebenen datetime-Wert hinzugefügt (oder abgezogen wurden)
    • "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, dessen Minuten vom 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 den Start- und Endindizes 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, in der der angegebene Wert ersetzt wird. Bei Zeichenfolgen wird nur der erste instance 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. Bei Zeichenfolgen 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, 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 angegebenen Zeichenfolge auf, bis die resultierende Zeichenfolge die angegebene 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 ein Bild für ein bestimmtes Bildfeld und die bevorzugte Größe verweist.

    • "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. Dies ist, um einen Ausdruck zu a ? b : cerreichen, der entspricht, wobei, wenn der Ausdruck a als true ausgewertet wird, das Ergebnis ist b, andernfalls ist cdas Ergebnis . Für Excel-Formatvorlagenausdrücke schreiben Sie diese mit einer if-Anweisung. Unabhängig davon gibt es drei 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. Wenn ein Feld mit nur einem Wert bereitgestellt wird, gibt 1 zurück, length wenn ein Wert in diesem Feld vorhanden ist.

join verkettet Werte in einem mehrwertigen Feld mit einem angegebenen Trennzeichen. Der erste Operand zeigt auf einen Wert in einem mehrwertigen Feld, 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 unter Formatieren von Mehrwertfeldern.

Zeichenfolgenbezogene Operatoren : Einige der zuvor detaillierten Operatoren können beim Arbeiten mit Zeichenfolgenwerten verwendet werden:

  • +
  • indexOf (für Problemumgehung der Länge von Zeichenfolgen)

+kann verwendet werden, wenn Zeichenfolgen verkettet werden müssen, für instance:

"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 gute Problemumgehung dienen, um die Länge einer Zeichenfolge für instance abzurufen: indexOf([$column1] + '^', '^'). Wir verwenden '^' oder ein beliebiges anderes Zeichen, um das Ende der Zeichenfolge zu ermitteln.

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: Genehmigt
  • 1: Verweigert
  • 2: Ausstehend
  • 3: Entwurf
  • 4: Geplant

[$_ModerationStatus] -Feld unterstützt Vergleiche sowohl 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 eine Genehmigung status Feld 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 der Spalten- und Ansichtsformatierung können Sie auf die Metadaten eines beliebigen Felds verweisen, indem Sie den internen Namen des Felds angeben, das von eckigen Klammern umgeben ist und vor dem ein Ausrufezeichen steht: [!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. Im Folgenden finden Sie ein Beispiel für das Festlegen der Farbe für ein Personenfeld auf Rot, wenn es dem aktuell angemeldeten Benutzer entspricht, andernfalls blau:

{
  "$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 Dokumentbibliothek gibt es eine Reihe von Token, die verwendet werden können, um die URL zur Miniaturansicht einer Datei abzurufen, einschließlich:

  • @thumbnail.small, @thumbnail.mediumund @thumbnail.large werten die Miniaturansichts-URL in drei verschiedenen vordefinierten Größen aus.
  • @thumbnail.<bounding size> ergibt die URL der größten Miniaturansichten, die nicht größer als die Begrenzungsgröße in Breite und Höhe ist. @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> ergibt die URL für die größte Miniaturansicht, die nicht größer als die begrenzungsende Breite und begrenzungshöhe ist. @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 verwenden displayValue , um den standardmäßig gerenderten Wert basierend auf der Spalteneinstellung abzurufen:

  • 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 true ausgewertet und false andernfalls.

"@lcid"

Dadurch wird die LCID der aktuellen Kultur ausgewertet. Dies kann zum Formatieren von Datum, Uhrzeit und Zahlen verwendet werden.

"@UIlcid"

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