Bloques de construcción de solo lectura para páginas de registro: una insignia de estado, una dirección postal y una forma de leer el valor de una columna en código sin descifrar el formato de la transferencia.
Para hacer una ramificación en un valor (tinte un estado, mostrar una bandera, comparar una fecha), lee el valor bruto de la columna en lugar de su etiqueta, que está localizada. En React, useColumnValue(columnName) devuelve el valor de una columna del entorno RecordContext como un tipo JavaScript simple, con la cadena formateada y los metadatos de la columna junto a él. En Blazor, lee el valor tipado del registro con GetValueOrDefault<T>. En cualquier caso, una columna que está vacía o que está retenida por la seguridad de la columna se lee como null; CanReadColumn distingue ambas cosas.
function OpenMessage() {
const { raw: state } = useColumnValue<number>('statecode');
return state === 0 ? <p>Este caso sigue abierto.</p> : null;
}
<RecordContext table="incident" queryParameterName="id">
<OpenMessage />
</RecordContext><RecordContext TableName="incident" QueryParameterName="id">
<ContextTemplate>
@if (IsActive(context))
{
<p>Este caso sigue abierto.</p>
}
</ContextTemplate>
</RecordContext>
@code {
// El valor es nulo cuando la columna está vacía o retenida, por lo que nulo nunca cuenta como activo.
private static bool IsActive(TableRecord record)
=> record.GetValueOrDefault<ChoiceValue>("statecode")?.Value == 0;
}Fuera de un RecordContext, como en un renderizador de celda de cuadrícula o en una descripción introductoria de gráficos, llama readColumnRawValue(record, columnName) desde @powerportalspro/core el registro que posees.
ColumnStatusBadge muestra la razón de estado del disco (statuscode) y toma su color del estado (statecode): un tinte de marca mientras está activo, un contorno neutro en caso contrario. El color proviene del valor del estado, no de su etiqueta, por lo que se cumple en todos los idiomas. Nada se renderiza cuando la etiqueta está vacía o retenida.
Para una tabla con más de dos estados, pasa una Tone función que asigne el valor del estado a un color y apariencia de insignia. Recibe null cuando el estado está vacío o retenido.
<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 muestra una de las direcciones de una tabla (address1, address2, ...) en un <address> elemento, con la misma etiqueta que ColumnDisplayValue. Muestra la columna de _composite Dataverse cuando el usuario puede leerla. De lo contrario, compone las líneas de calles, luego ciudad, región y código postal, y después el país, que omite cuando coincide HomeCountrycon .
Nombre | Tipo | Default | Descripción |
|---|---|---|---|
IsVisible | bool | True | ¿Se ve la placa? |
LabelColumn | string | statuscode | Columna cuyo valor formateado es el texto de la insignia. Por defecto a |
Size | BadgeSize? | Tamaño de la placa. Por defecto es el de Fluent. | |
StateColumn | string | statecode | Columna cuyo valor decide el tono. Por defecto es |
Tone | Func<int?, StatusBadgeTone>? | Elige el tono del valor de la columna de estado — null cuando está vacío o retenido. Por defecto a StatusBadgeTone.Default(System.Nullable{System.Int32}): un tinte de marca para activo ( |
IsVisibleLabelColumnSizeStateColumnTonenull cuando está vacío o retenido. Por defecto a StatusBadgeTone.Default(System.Nullable{System.Int32}): un tinte de marca para activo (Nombre | Tipo | Default | Descripción |
|---|---|---|---|
Description | string? | La descripción se mostrará en la descripción introductiva. Vuelve al | |
DisplayLabelWhenAvailable | bool | True | Especifica si mostrar una etiqueta si está disponible. |
DisplayTooltipWhenAvailable | bool | True | Especifica si mostrar una descripción emergente si está disponible. |
EmptyPlaceholder | string | — | Texto mostrado cuando la dirección está vacía. Por defecto se muestra un guion em; pasa una cadena vacía a Suprimir. |
HomeCountry | string? | El país para dejar fuera una dirección compuesta, por ejemplo, 'Estados Unidos' para un portal cuyo Las direcciones son casi todas domésticas. Comparado ignorando el caso y los acentos. No se aplica cuando la dirección es el propio compuesto de Dataverse, que se muestra al formatearla. | |
IsVisible | bool | True | ¿Es visible la dirección? |
Label | string? | Texto que se mostrará como etiqueta. Vuelve a la etiqueta de la columna | |
Prefix | string | address1 | El prefijo de columna de la dirección — |
DescriptionDisplayLabelWhenAvailableDisplayTooltipWhenAvailableEmptyPlaceholderHomeCountryIsVisibleLabelPrefix