Filtrado de Excel en Blazor Grid

    Blazor Grid expone una función de filtrado estilo Excel que proporciona una interfaz de usuario de filtrado similar a Excel. Simplifica el proceso de trabajar con grandes conjuntos de datos. La idea principal es ayudarlos a filtrar los datos más relevantes y eliminar las entradas irrelevantes.

    Blazor Grid Excel Style Filtering Example

    Usage

    Para activar el filtrado estilo Excel del componente IgbGrid, se deben configurar dos entradas. AllowFiltering debe establecerse en verdadero y FilterMode debe establecerse en el valor ExcelStyleFilter.

    <IgbGrid AllowFiltering="true" FilterMode="FilterMode.ExcelStyleFilter" >
    </IgbGrid>
    

    Interacciones

    Para abrir el menú de filtro para una columna en particular, se debe hacer clic en el icono de filtro Blazor en el encabezado. Además, puede utilizar la combinación Ctrl + Shift + L en un encabezado seleccionado. Si la columna se puede ordenar, fijar, mover, seleccionar u ocultar junto con la función de filtrado, habrá botones disponibles para las funciones que estén activadas.

    Si no se aplica ningún filtro, se seleccionarán todos los elementos de la lista. Se pueden filtrar desde la entrada que se encuentra encima de la lista. Para filtrar los datos, puede seleccionar/deseleccionar los elementos de la lista y hacer clic en el botón Aplicar o presionar Enter. El filtrado aplicado a través de los elementos de la lista crea expresiones de filtro con operador equals y el operador lógico entre las expresiones es OR.

    Si escribe algo en el cuadro de búsqueda y aplica el filtro, solo se seleccionarán los elementos que coincidan con los criterios de búsqueda. Sin embargo, si desea agregar elementos a los actualmente filtrados, debe seleccionar la opción Agregar selección actual para filtrar.

    Si desea borrar el filtro, puede marcar la opción Seleccionar todo y luego hacer clic en el botón Aplicar.

    Para aplicar un filtro con diferentes expresiones, puede hacer clic en el filtro Texto, que abrirá un submenú con todos los operadores de filtro disponibles para la columna en particular. Al seleccionar uno de ellos, se abrirá el cuadro de diálogo de filtro personalizado, donde puede agregar tantas expresiones como desee con diferentes operadores lógicos y de filtro. También hay un botón de borrar, que puede borrar el filtro.

    Configure Menu Features

    Las funciones de clasificación, fijación y ocultación se pueden eliminar del menú de filtro utilizando las entradas correspondientes: Sortable, Selected, DisablePinning, DisableHiding.

    <IgbGrid AutoGenerate="false" Data=northwindEmployees AllowFiltering="true" FilterMode="FilterMode.ExcelStyleFilter">
        <IgbColumn Field="ProductName" Sortable="true"></IgbColumn>
        <IgbColumn Field="UnitPrice" Sortable="true" DisablePinning="true" DisableHiding="true"></IgbColumn>
        <IgbColumn Field="QuantityPerUnit" Sortable="false" DisablePinning="true" DisableHiding="true"></IgbColumn>
        <IgbColumn Field="OrderDate" Sortable="true" DisablePinning="false" DisableHiding="true"></IgbColumn>
        <IgbColumn Field="Discontinued" Sortable="true"></IgbColumn>
    </IgbGrid>
    

    En el siguiente ejemplo, las columnas Nombre del producto y Discontinuado tienen las cuatro funciones habilitadas, Cantidad por unidad tiene las tres deshabilitadas, Precio unitario solo tiene clasificación y Fecha del pedido solo tiene fijación y ocultación y todas son Selectable.

    Plantillas

    Si desea personalizar aún más el menú de filtro de estilo de Excel, puede usar la propiedad ExcelStyleHeaderIconTemplate para definir una plantilla personalizada para el icono de encabezado del menú.

    El siguiente código demuestra cómo personalizar el menú de filtro de estilo de Excel utilizando ExcelStyleHeaderIconTemplate:

    <IgbGrid
        Data="Data"    
        AllowFiltering="true"
        FilterMode="FilterMode.ExcelStyleFilter"
        ExcelStyleHeaderIconTemplateScript="WebGridFilterAltIconTemplate">
    </IgbGrid>
    
    *** In JavaScript ***
    igRegisterScript("WebGridFilterAltIconTemplate", (ctx) => {
        var html = window.igTemplating.html;
            return html`<img height="15px" width="15px" src="http://static.infragistics.com/xplatform/images/grid/propeller-logo.svg" title="Continued" alt="Continued" />`
    }, false);
    

    Styling

    Además de los temas predefinidos, la cuadrícula se puede personalizar aún más configurando algunas de las propiedades CSS disponibles. En caso de que desee cambiar algunos de los colores, primero debe establecer una clase para la cuadrícula:

    <IgbGrid class="grid"></IgbGrid>
    

    Luego establezca las propiedades CSS relacionadas con esta clase:

    .grid {
        --ig-grid-filtering-row-background: #ffcd0f;
        --ig-list-item-background: #ffcd0f;
    }
    

    Demo

    API References

    Additional Resources

    Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.