UNPKG

@syncfusion/ej2-grids

Version:

Feature-rich JavaScript datagrid (datatable) control with built-in support for editing, filtering, grouping, paging, sorting, and exporting to Excel.

142 lines (141 loc) 4.71 kB
import { CustomSummaryType } from '../base/type'; import { AggregateType, CellType } from '../base/enum'; import { ChildProperty, NumberFormatOptions, DateFormatOptions } from '@syncfusion/ej2-base'; import { AggregateColumnModel } from './aggregate-model'; /** * Configures the Grid's aggregate column. */ export declare class AggregateColumn extends ChildProperty<AggregateColumn> { private formatFn; private templateFn; /** * Defines the aggregate type of a particular column. * To use multiple aggregates for single column, specify the `type` as array. * Types of aggregate are, * * sum * * average * * max * * min * * count * * truecount * * falsecount * * custom * > Specify the `type` value as `custom` to use custom aggregation. * * @default null * @aspType string */ type: AggregateType | AggregateType[] | string; /** * Defines the column name to perform aggregation. * * @default null */ field: string; /** * Defines the column name to display the aggregate value. If `columnName` is not defined, * then `field` name value will be assigned to the `columnName` property. * * @default null */ columnName: string; /** * Format is applied to a calculated value before it is displayed. * Gets the format from the user, which can be standard or custom * [`number`](../../common/internationalization/#number-formatting/) * and [`date`](../../common/internationalization/#number-formatting/) formats. * * @aspType string * @blazorType string * @default null */ format: string | NumberFormatOptions | DateFormatOptions; /** * Defines the footer cell template as a string for the aggregate column. * The `type` name should be used to access aggregate values inside the template. * * {% codeBlock src="grid/footer-template-api/index.ts" %}{% endcodeBlock %} * * @default null * @aspType string */ footerTemplate: string | Function; /** * Defines the group footer cell template as a string for the aggregate column. * The `type` name should be used to access aggregate values inside the template. * Additionally, the following fields can be accessed in the template. * * **field**: The current grouped field. * * **key**: The current grouped value. * * {% codeBlock src="grid/group-footer-api/index.ts" %}{% endcodeBlock %} * * @default null * @aspType string */ groupFooterTemplate: string | Function; /** * Defines the group caption cell template as a string for the aggregate column. * The `type` name should be used to access aggregate values inside the template. * Additionally, the following fields can be accessed in the template. * * **field**: The current grouped field name. * * **key**: The current grouped field value. * * {% codeBlock src="grid/group-caption-api/index.ts" %}{% endcodeBlock %} * * @default null * @aspType string */ groupCaptionTemplate: string | Function; /** * Defines a function to calculate custom aggregate value. The `type` value should be set to `custom`. * To use custom aggregate value in the template, use the key as `${custom}`. * **Total aggregation**: The custom function will be called with the whole data and the current `AggregateColumn` object. * **Group aggregation**: This will be called with the current group details and the `AggregateColumn` object. * * @default null */ customAggregate: CustomSummaryType | string; /** * @param {Function} value - specifies the value * @returns {void} * @hidden */ setFormatter(value: Function): void; /** * @returns {Function} returns the Function * @hidden */ getFormatter(): Function; /** * @param {Object} helper - specifies the helper * @returns {void} * @hidden */ setTemplate(helper?: Object): void; /** * @param {CellType} type - specifies the cell type * @returns {Object} returns the object * @hidden */ getTemplate(type: CellType): { fn: Function; property: string; }; /** * @param {Object} prop - returns the Object * @returns {void} * @hidden */ setPropertiesSilent(prop: Object): void; } /** * Configures the aggregate rows. */ export declare class AggregateRow extends ChildProperty<AggregateRow> { /** * Configures the aggregate columns. * * @default [] */ columns: AggregateColumnModel[]; }