Estilo condicional de cuadrícula Blazor
La función Ignite UI for Blazor Condicional Styling en Blazor Grid permite un estilo personalizado a nivel de fila o celda. LaIgbGrid funcionalidad de Estilizado Condicional se utiliza para enfatizar visualmente o resaltar datos que cumplen ciertos criterios, facilitando a los usuarios la identificación de información o tendencias importantes dentro de la cuadrícula.
Grid Conditional Row Styling
ElIgbGrid componente en Ignite UI for Blazor ofrece dos formas de condicionar el estilizado de las filas según reglas personalizadas.
- Estableciendo
RowClassesla entrada en elIgbGridcomponente; - Estableciendo
RowStylesla entrada en elIgbGridcomponente;
Más adelante en este tema los cubriremos ambos con más detalle.
Using Row Classes
Puedes estilizar condicionalmente lasIgbGrid filas estableciendo laRowClasses entrada y definiendo reglas personalizadas.
<IgbGrid AutoGenerate="true" Id="grid" Data="CustomersData" Name="grid" RowClassesScript="RowClassesHandler" @ref="grid">
</IgbGrid>
LaRowClasses entrada acepta un literal objeto que contiene pares clave-valor, donde la clave es el nombre de la clase CSS, mientras que el valor es una función de callback que devuelve un valor booleano o booleano.
igRegisterScript("RowClassesHandler", () => {
return {
activeRow: (row) => row.index === 0
};
}, true);
.activeRow {
border: 2px solid #fc81b8;
border-left: 3px solid #e41c77;
}
Demo
Using Row Styles
ElIgbGrid control expone laRowStyles propiedad que permite el estilizado condicional de las filas de datos. De forma similar aRowClasses acepta un literal objeto donde las claves son propiedades de estilo y los valores son expresiones para su evaluación. Además, puedes aplicar peinado normal (sin condiciones).
La firma de callback para ambos
RowStylesyRowClasseses:
(row) => boolean
Definamos nuestros estilos:
igRegisterScript("WebGridRowStylesHandler", () => {
return {
'background': (row) => (+row.data['Change'] < 0 && +row.data['AnnualChange'] < 0) ? '#FF000088' : '#00000000',
'border': (row) => (+row.data['Change'] < 0 && +row.data['AnnualChange'] < 0) ? '2px solid' : '1px solid',
'border-color': (row) => (+row.data['Change'] < 0 && +row.data['AnnualChange'] < 0) ? '#FF000099' : '#E9E9E9'
};
}, true);
<IgbGrid AutoGenerate="true" Id="grid" Data="CustomersData" Name="grid" RowStylesScript="WebGridRowStylesHandler" @ref="grid">
</IgbGrid>
Demo
Grid Conditional Cell Styling
Descripción general
ElIgbGrid componente en Ignite UI for Blazor proporciona dos formas de estilizar condicionalmente las celdas según reglas personalizadas.
- Estableciendo la
IgbColumnentradaCellClassesa un literal de objeto que contiene pares clave-valor. La clave es el nombre de la clase CSS, mientras que el valor es una función de callback que devuelve un valor booleano o booleano. El resultado es un diseño material conveniente de la célula.
Using Cell Classes
Puedes estilizar condicionalmente lasIgbGrid celdas fijando elIgbColumn CellClasses Introduzca y defina reglas personalizadas.
<IgbColumn Field="BeatsPerMinute" CellClassesScript="CellClassesHandler">
LaCellClasses entrada acepta un literal objeto que contiene pares clave-valor, donde la clave es el nombre de la clase CSS, mientras que el valor es una función de callback que devuelve un valor booleano o booleano.
igRegisterScript("CellClassesHandler", () => {
return {
downFont: (rowData, columnKey, cellValue, rowIndex) => rowData[columnKey] <= 95,
upFont: (rowData, columnKey, cellValue, rowIndex) => rowData[columnKey] > 95
};
}, true);
.upFont {
color: green !important;
}
.downFont {
color: red !important;
}
Demo
- Usando la
IgbColumnentradaCellStylesque acepta un objeto literal donde las claves son propiedades de estilo y los valores son expresiones para su evaluación.
La firma de callback para ambos
cellStylesycellClassesahora se ha cambiado a:
(rowData, columnKey, cellValue, rowIndex) => boolean
Using Cell Styles
Las columnas exponen laCellStyles propiedad que permite un estilizado condicional de las celdas de columna. De forma similar aCellClasses acepta un literal objeto donde las claves son propiedades de estilo y los valores son expresiones para su evaluación. Además, puedes aplicar peinados normales con facilidad (sin ninguna condición).
Definamos nuestros estilos:
igRegisterScript("WebGridCellStylesHandler", () => {
return {
background: (rowData, columnKey, cellValue, rowIndex) => rowIndex % 2 === 0 ? "#EFF4FD" : null,
color: (rowData, columnKey, cellValue, rowIndex) => {
if (columnKey === "Position") {
switch (cellValue) {
case "up": return "#28a745";
case "down": return "#dc3545";
case "current": return "#17a2b8"
}
}
}
};
}, true);
<IgbColumn CellStylesScript="WebGridCellStylesHandler">
</IgbColumn>
Demo
Known issues and limitations
- Si hay celdas vinculadas a la misma condición (de diferentes columnas) y una celda se actualiza, las otras celdas no se actualizarán según el nuevo valor, si se cumple la condición.
API References
Additional Resources
- Virtualización y rendimiento
- Edición
- Paginación
- Filtración
- Clasificación
- resúmenes
- Columna en movimiento
- Fijación de columnas
- Cambio de tamaño de columna
- Ocultación de columnas
- Selección
- buscando
Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.