Tenga en cuenta que este control ha quedado obsoleto y reemplazado con el componente Grid y, como tal, recomendamos migrar a ese control. Esto no recibirá ninguna característica nueva, las correcciones de errores no tendrán prioridad. Para obtener ayuda o preguntas sobre la migración de su código base a Data Grid, comuníquese con el soporte.

    Web Components Column Summaries

    La tabla de datos Ignite UI for Web Components / cuadrícula de datos admite resúmenes de columnas. En algunos casos, los usuarios finales pueden sentirse abrumados por la cantidad de datos que se muestran en la cuadrícula y, a menudo, pueden estar buscando un resumen de los datos. Es posible que los usuarios finales también deseen obtener información adicional de los datos de una columna específica. Los resúmenes ayudan a los usuarios finales a conseguirlo, y puede habilitarlos estableciendo la summaryScope propiedad.

    Ejemplo de resúmenes de columnas de Web Components

    EXAMPLE
    DATA
    TS
    HTML
    CSS

    ¿Te gusta esta muestra? Obtenga acceso a nuestro kit de herramientas de Ignite UI for Web Components completo y comience a crear sus propias aplicaciones en minutos. Descárgalo gratis.

    Propiedad de alcance resumido

    La cuadrícula de datos de Web Components admite 4 opciones de resumen que puede configurar mediante la summaryScope propiedad. Estos se enumeran y describen a continuación:

    • Root: esto mostrará un total general para todas las filas de la cuadrícula de la columna a la que se aplica el resumen.
    • Groups: esto es específico de filas agrupadas y muestra el total general de todas las filas de un grupo en particular.
    • Both: Esto utilizará las opciones Groups y Root simultáneamente.
    • None: esto deshabilitará los resúmenes de la cuadrícula.
    Ignite UI for Web Components | CTA Banner

    Propiedad del modo de visualización de resumen de grupo

    La cuadrícula de datos de Web Components admite la configuración de las ubicaciones en las que se muestran los resúmenes. Puede configurarlo mediante la groupSummaryDisplayMode propiedad. Las diferentes opciones para esta propiedad se enumeran y describen a continuación:

    • Lista: esto mostrará los resúmenes del grupo en una lista plana en el encabezado del grupo que abarca.
    • Celdas: esto representará el encabezado del grupo como celdas y los valores de resumen se representarán dentro de las celdas, alineados con su columna correspondiente. La cuadrícula solo mostrará un resumen por columna usando esta opción.
    • RowTop: esto mostrará los resúmenes del grupo como filas de resumen en la parte superior del grupo.
    • RowBottom: esto mostrará los resúmenes del grupo como filas de resumen en la parte inferior del grupo.
    • Ninguno: esto deshabilitará la representación del resumen del grupo.

    Fragmentos de código

    <igc-data-grid
        summary-scope="Root"
        group-summary-display-mode="RowTop"
        auto-generate-columns="false"
        is-group-collapsable="true"
        group-header-display-mode="combined"
        default-column-min-width="100">
            <igc-text-column field="ProductName" header-text="Product"></igc-text-column>
            <igc-numeric-column positive-prefix="$" field="BundlePrice" show-grouping-separator="true" header-text="Price" ></igc-numeric-column>
            <igc-numeric-column field="OrderItems" header-text="Order Items"></igc-numeric-column>
            <igc-numeric-column field="OrderValue" show-grouping-separator="true" header-text="Order Totals" positive-prefix="$"></igc-numeric-column>
            <igc-text-column field="Countries" header-text="Ship Country"></igc-text-column>
    </igc-data-grid>
    html
    import { IgcColumnGroupDescription } from 'igniteui-webcomponents-grids';
    import { IgcColumnSummaryDescription } from 'igniteui-webcomponents-grids'
    import { SummaryOperand, SummaryCalculator, DefaultSummaryResult, IDataSource, ISummaryResult } from 'igniteui-webcomponents-core';
    
    connectedCallback() {
    
        // Count Operand
        const productCount = new IgcColumnSummaryDescription();
        productCount.field = "ProductName";
        productCount.operand = SummaryOperand.Count;
        this.grid.summaryDescriptions.add(productCount);
        // Min Operand with formatting
        const priceMin = new IgcColumnSummaryDescription();
        priceMin.field = "BundlePrice";
        priceMin.operand = SummaryOperand.Min;
        priceMin.formatOverride = new Intl.NumberFormat('en-EN', { style: 'currency', currency: 'USD', minimumFractionDigits: 0, maximumFractionDigits: 0 });
        this.grid.summaryDescriptions.add(priceMin);
        // Max Operand and formatting
        const priceMax = new IgcColumnSummaryDescription();
        priceMax.field = "BundlePrice";
        priceMax.operand = SummaryOperand.Max;
        priceMax.formatOverride = new Intl.NumberFormat('en-EN', { style: 'currency', currency: 'USD', minimumFractionDigits: 0, maximumFractionDigits: 0 });
        this.grid.summaryDescriptions.add(priceMax);
        // Sum Operand
        const orderSum = new IgcColumnSummaryDescription();
        orderSum.field = "OrderItems";
        orderSum.operand = SummaryOperand.Sum;
        this.grid.summaryDescriptions.add(orderSum);
        // Average Operand and formatting
        const orderValueAvg = new IgcColumnSummaryDescription();
        orderValueAvg.field = "OrderValue";
        orderValueAvg.operand = SummaryOperand.Average;
        orderValueAvg.formatOverride = new Intl.NumberFormat('en-EN', { style: 'currency', currency: 'USD', minimumFractionDigits: 0, maximumFractionDigits: 0 });
        this.grid.summaryDescriptions.add(orderValueAvg);
    }
    ts

    Resúmenes personalizados

    En algunas situaciones, es posible que desee ampliar el conjunto predeterminado de resúmenes. Por ejemplo, si quisiera mostrar la cantidad de veces que aparece un valor particular en una columna, sería necesario un resumen personalizado para ello.

    Los fragmentos siguientes demuestran cómo mostrar un recuento del número de valores "EE. UU." que aparecen en la columna.

    import { IgcProvideCalculatorEventArgs } from 'igniteui-webcomponents-core';
    
    onLoad() {
    
        const countries = new IgcColumnSummaryDescription();
        countries.field = "Countries";
        countries.operand = SummaryOperand.Custom;
        countries.provideCalculator = this.onProvideCalculator; //refer to class below
        this.grid.summaryDescriptions.add(countries);
    
    }
    
    onProvideCalculator(s: IgcColumnSummaryDescription, e: IgcProvideCalculatorEventArgs) {
        e.calculator = new CustomDomestic();
    }
    
    // Custom Calculator - calculates the count for all USA.
    class CustomDomestic extends SummaryCalculator
    {
        get displayName(): string {
            return "USA";
        }
        public usCountries: number;
    
        public beginCalculation(a: IDataSource, b: string): void {
            super.beginCalculation(a,b);
            this.usCountries = 0;
        }
        public endCalculation(): ISummaryResult {
           return new DefaultSummaryResult(this.propertyName, SummaryOperand.Custom, this.usCountries)
        }
        public aggregate(a: any): void {
           if (a.Countries === "USA")
           {
                this.usCountries++;
           }
        }
    }
    ts

    Referencias de API