Blocs de construction en lecture seule pour les pages d’enregistrement : un badge de statut, une adresse postale, et un moyen de lire la valeur d’une colonne dans le code sans décoder le format du câble.
Pour faire une branche sur une valeur (colorer un statut, afficher un drapeau, comparer une date), lisez la valeur brute de la colonne au lieu de son étiquette, qui est localisée. Dans React, useColumnValue(columnName) il retourne la valeur d’une colonne de l’environnant RecordContext comme un type JavaScript simple, avec la chaîne formatée et les métadonnées de la colonne à côté. Dans Blazor, lisez la valeur tapée de l’enregistrement avec GetValueOrDefault<T>. Dans tous les cas, une colonne vide ou retenue par la sécurité de la colonne se lit comme null; CanReadColumn distingue les deux.
function OpenMessage() {
const { raw: state } = useColumnValue<number>('statecode');
return state === 0 ? <p>Cette affaire est toujours ouverte.</p> : null;
}
<RecordContext table="incident" queryParameterName="id">
<OpenMessage />
</RecordContext><RecordContext TableName="incident" QueryParameterName="id">
<ContextTemplate>
@if (IsActive(context))
{
<p>Cette affaire est toujours ouverte.</p>
}
</ContextTemplate>
</RecordContext>
@code {
// La valeur est nulle lorsque la colonne est vide ou retenue, donc nulle ne compte jamais comme active.
private static bool IsActive(TableRecord record)
=> record.GetValueOrDefault<ChoiceValue>("statecode")?.Value == 0;
}En dehors d’un RecordContext, comme dans un moteur de rendu de cellules de grille ou une infobulle de graphique, appelez readColumnRawValue(record, columnName) depuis @powerportalspro/core sur l’enregistrement que vous détenez.
ColumnStatusBadge indique la raison de statut du disque (statuscode) et prend sa couleur de l’état (statecode) : une teinte de marque pendant qu’elle est active, sinon un contour neutre. La couleur provient de la valeur de l’État, pas de son étiquette, donc elle tient dans toutes les langues. Rien ne s’affiche lorsque l’étiquette est vide ou retenue.
Pour une table avec plus de deux états, passez une Tone fonction qui associe la valeur de l’état à une couleur et une apparence d’insigne. Elle reçoit null lorsque l’état est vide ou retenu.
<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 rend l’une des adresses d’une table (address1, address2, ...) dans un <address> élément, portant la même étiquette que ColumnDisplayValue. Il affiche la colonne Dataverse _composite lorsque l’utilisateur peut la lire. Sinon, il compose les lignes de rues, puis la ville, la région et le code postal, puis le pays, qu’il omet lorsqu’il correspond HomeCountryà .
Nom | Type | Par défaut | Description |
|---|---|---|---|
IsVisible | bool | True | Le badge est-il visible ? |
LabelColumn | string | statuscode | Colonne dont la valeur formatée est le texte du badge. Par défaut le |
Size | BadgeSize? | Taille du badge. Par défaut, c’est celui de Fluent. | |
StateColumn | string | statecode | Colonne dont la valeur détermine le tonalité. Par défaut, le |
Tone | Func<int?, StatusBadgeTone>? | Choisit le ton à partir de la valeur de la colonne d’état — null lorsqu’elle est vide ou retenu. Par défaut : Nullable{System.Int32})une teinte de marque pour actif ( |
IsVisibleLabelColumnSizeStateColumnTonenull lorsqu’elle est vide ou retenu. Par défaut : Nullable{System.Int32})une teinte de marque pour actif (Nom | Type | Par défaut | Description |
|---|---|---|---|
Description | string? | Description affichée dans l’infobulle. Revient au | |
DisplayLabelWhenAvailable | bool | True | Précise s’il faut afficher une étiquette si disponible. |
DisplayTooltipWhenAvailable | bool | True | Précise s’il faut afficher une infobulle si disponible. |
EmptyPlaceholder | string | — | Texte affiché lorsque l’adresse est vide. Par défaut un tiret em ; passer une chaîne vide à Réprimer. |
HomeCountry | string? | Le pays à omettre une adresse composée, par exemple « États-Unis » pour un portail dont Les adresses sont presque toutes domestiques. Comparé à l’ignorance des cases et des accents. Cela ne s’applique pas quand l’adresse est le composite propre à Dataverse, qui est affiché au formatage Dataverse. | |
IsVisible | bool | True | L’adresse est-elle visible ? |
Label | string? | Le texte doit être affiché sous forme d’étiquette. Revient à l’étiquette de la | |
Prefix | string | address1 | Le préfixe de colonne de l’adresse — |
DescriptionDisplayLabelWhenAvailableDisplayTooltipWhenAvailableEmptyPlaceholderHomeCountryIsVisibleLabelPrefix