Schreibgeschützte Bausteine für Datensatzseiten: ein Statusausweis, eine Postadresse und eine Möglichkeit, den Wert einer Spalte im Code zu lesen, ohne das Drahtformat zu dekodieren.
Um auf einen Wert zu verzweigen (einen Status zu färben, eine Flagge anzuzeigen, ein Datum zu vergleichen), liest man den Rohwert der Spalte statt des Labels, das lokalisiert ist. In React wird useColumnValue(columnName) der Wert einer Spalte der Umgebung RecordContext als einfacher JavaScript-Typ zurückgegeben, mit der formatierten Zeichenkette und den Metadaten der Spalte daneben. In Blazor liest man den getippten Wert aus dem Datensatz mit GetValueOrDefault<T>. In jedem Fall liest sich eine Spalte, die leer ist oder durch die Spaltensicherheit zurückgehalten wird, als null; CanReadColumn unterscheidet die beiden.
function OpenMessage() {
const { raw: state } = useColumnValue<number>('statecode');
return state === 0 ? <p>Dieser Fall ist noch offen.</p> : null;
}
<RecordContext table="incident" queryParameterName="id">
<OpenMessage />
</RecordContext><RecordContext TableName="incident" QueryParameterName="id">
<ContextTemplate>
@if (IsActive(context))
{
<p>Dieser Fall ist noch offen.</p>
}
</ContextTemplate>
</RecordContext>
@code {
// Der Wert ist null, wenn die Spalte leer oder zurückgehalten wird, sodass null nie als aktiv zählt.
private static bool IsActive(TableRecord record)
=> record.GetValueOrDefault<ChoiceValue>("statecode")?.Value == 0;
}Außerhalb eines RecordContext, zum Beispiel in einem Rasterzellen-Renderer oder einem Diagramm-Tooltip, rufe von @powerportalspro/core auf dem Datensatz auf, readColumnRawValue(record, columnName) den du hältst.
ColumnStatusBadge zeigt den Status des Datensatzes (statuscode) und erhält seine Farbe vom Zustand (statecode): eine Markenfarbe während der aktiven Zeit, ansonsten eine neutrale Umrissung. Die Farbe stammt vom Wert des Zustands, nicht vom Etikett, sodass sie in jeder Sprache gilt. Nichts wird gerendert, wenn das Etikett leer oder zurückgehalten wird.
Für eine Tabelle mit mehr als zwei Zuständen übergebe man eine Tone Funktion, die den Wert des Zustands auf die Farbe und das Aussehen des Abzeichens abbildet. Sie erhält null , wenn der Zustand leer oder zurückgehalten ist.
<ColumnStatusBadge
tone={(state) =>
state === 0 ? { color: 'success', appearance: 'tint' }
: state === 1 ? { color: 'informative', appearance: 'outline' }
: { color: 'danger', appearance: 'tint' }}
/><ColumnStatusBadge Tone="@(state => state switch
{
0 => new StatusBadgeTone(BadgeColor.Success, BadgeAppearance.Tint),
1 => new StatusBadgeTone(BadgeColor.Informative, BadgeAppearance.Outline),
_ => new StatusBadgeTone(BadgeColor.Danger, BadgeAppearance.Tint),
})" />AddressDisplayValue rendert eine der Adressen einer Tabelle (address1, address2, ...) in einem <address> Element, mit demselben Label wie ColumnDisplayValue. Es zeigt die Spalte _composite von Dataverse an, wenn der Benutzer sie lesen kann. Ansonsten setzt es die Straßenlinien, dann Stadt, Region und Postleitzahl sowie das Land, das es weglässt, wenn es übereinstimmt HomeCountry.
Name | Typ | Default | Beschreibung |
|---|---|---|---|
IsVisible | bool | True | Ist das Abzeichen sichtbar? |
LabelColumn | string | statuscode | Spalte, deren formatierter Wert der Text des Abzeichens ist. Standardmäßig steht der Status auf |
Size | BadgeSize? | Badge-Größe. Standardmäßig Fluents eigene. | |
StateColumn | string | statecode | Spalte, deren Wert den Ton bestimmt. Standardmäßig ist |
Tone | Func<int?, StatusBadgeTone>? | Wählt den Ton aus dem Wert der Zustandsspalte – null wenn er leer ist oder Zurückgehalten. Standardeinstellung lautet StatusBadgeTone.Default(System.Nullable{System.Int32}): eine Markentönung für aktiv ( |
IsVisibleLabelColumnSizeStateColumnTonenull wenn er leer ist oder Zurückgehalten. Standardeinstellung lautet StatusBadgeTone.Default(System.Nullable{System.Int32}): eine Markentönung für aktiv (Name | Typ | Default | Beschreibung |
|---|---|---|---|
Description | string? | Beschreibung, die im Tooltip angezeigt wird. Greift auf das | |
DisplayLabelWhenAvailable | bool | True | Spezifiziert, ob ein Etikett angezeigt werden soll, falls verfügbar. |
DisplayTooltipWhenAvailable | bool | True | Gibt an, ob ein Tooltip angezeigt werden soll, falls verfügbar. |
EmptyPlaceholder | string | — | Text, der angezeigt wird, wenn die Adresse leer ist. Standardmäßig wird ein Bindestrich verwendet; übergebe eine leere Zeichenkette an Unterdrücken. |
HomeCountry | string? | Das Land, das eine komponierte Adresse weglässt, z. B. 'United States' für ein Portal, dessen Portal Die Adressen sind fast alle häuslich. Verglichen, ohne Kasus und Akzente zu berücksichtigen. Trifft nicht zu, wenn die Adresse ist die eigene Zusammensetzung von Dataverse, die als Dataverse-Format angezeigt wird. | |
IsVisible | bool | True | Ist die Adresse sichtbar? |
Label | string? | Text wird als Etikett angezeigt. Greift auf das | |
Prefix | string | address1 | Das Spaltenpräfix der Adresse — |
DescriptionDisplayLabelWhenAvailableDisplayTooltipWhenAvailableEmptyPlaceholderHomeCountryIsVisibleLabelPrefix