devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
1,597 lines (1,579 loc) • 106 kB
TypeScript
/**
* DevExtreme (ui/data_grid.d.ts)
* Version: 19.2.6
* Build date: Thu Jan 30 2020
*
* Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import '../jquery_augmentation';
import {
dxElement
} from '../core/element';
import {
template
} from '../core/templates/template';
import Store from '../data/abstract_store';
import DataSource, {
DataSourceOptions
} from '../data/data_source';
import {
event
} from '../events';
import {
ExcelDataGridCell,
ExcelFont
} from '../exporter/excel/excel.doc_comments';
import dxDraggable from './draggable';
import {
dxFilterBuilderOptions
} from './filter_builder';
import {
dxFormOptions,
dxFormSimpleItem
} from './form';
import {
dxPopupOptions
} from './popup';
import dxScrollable from './scroll_view/ui.scrollable';
import dxSortable from './sortable';
import {
dxToolbarOptions
} from './toolbar';
import {
AsyncRule,
CompareRule,
CustomRule,
EmailRule,
NumericRule,
PatternRule,
RangeRule,
RequiredRule,
StringLengthRule
} from './validation_engine';
import Widget, {
format,
WidgetOptions
} from './widget/ui.widget';
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBaseOptions<T = GridBase> extends WidgetOptions<T> {
/**
* @docid GridBaseOptions.allowColumnReordering
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
allowColumnReordering?: boolean;
/**
* @docid GridBaseOptions.allowColumnResizing
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
allowColumnResizing?: boolean;
/**
* @docid GridBaseOptions.autoNavigateToFocusedRow
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
autoNavigateToFocusedRow?: boolean;
/**
* @docid GridBaseOptions.cacheEnabled
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
cacheEnabled?: boolean;
/**
* @docid GridBaseOptions.cellHintEnabled
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
cellHintEnabled?: boolean;
/**
* @docid GridBaseOptions.columnAutoWidth
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
columnAutoWidth?: boolean;
/**
* @docid GridBaseOptions.columnChooser
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
columnChooser?: { allowSearch?: boolean, emptyPanelText?: string, enabled?: boolean, height?: number, mode?: 'dragAndDrop' | 'select', searchTimeout?: number, title?: string, width?: number };
/**
* @docid GridBaseOptions.columnFixing
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
columnFixing?: { enabled?: boolean, texts?: { fix?: string, leftPosition?: string, rightPosition?: string, unfix?: string } };
/**
* @docid GridBaseOptions.columnHidingEnabled
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
columnHidingEnabled?: boolean;
/**
* @docid GridBaseOptions.columnMinWidth
* @type number
* @default undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
columnMinWidth?: number;
/**
* @docid GridBaseOptions.columnResizingMode
* @type Enums.ColumnResizingMode
* @default "nextColumn"
* @prevFileNamespace DevExpress.ui
* @public
*/
columnResizingMode?: 'nextColumn' | 'widget';
/**
* @docid GridBaseOptions.columnWidth
* @type number
* @default undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
columnWidth?: number;
/**
* @docid GridBaseOptions.columns
* @type Array<GridBaseColumn, string>
* @fires GridBaseOptions.onOptionChanged
* @default undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
columns?: Array<GridBaseColumn | string>;
/**
* @docid GridBaseOptions.dataSource
* @type string|Array<Object>|DataSource|DataSourceOptions
* @default null
* @prevFileNamespace DevExpress.ui
* @public
*/
dataSource?: string | Array<any> | DataSource | DataSourceOptions;
/**
* @docid GridBaseOptions.dateSerializationFormat
* @type string
* @prevFileNamespace DevExpress.ui
* @public
*/
dateSerializationFormat?: string;
/**
* @docid GridBaseOptions.editing
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
editing?: GridBaseEditing;
/**
* @docid GridBaseOptions.errorRowEnabled
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
errorRowEnabled?: boolean;
/**
* @docid GridBaseOptions.filterBuilder
* @type dxFilterBuilderOptions
* @default {}
* @prevFileNamespace DevExpress.ui
* @public
*/
filterBuilder?: dxFilterBuilderOptions;
/**
* @docid GridBaseOptions.filterBuilderPopup
* @type dxPopupOptions
* @default {}
* @prevFileNamespace DevExpress.ui
* @public
*/
filterBuilderPopup?: dxPopupOptions;
/**
* @docid GridBaseOptions.filterPanel
* @type object
* @default {}
* @prevFileNamespace DevExpress.ui
* @public
*/
filterPanel?: { customizeText?: ((e: { component?: T, filterValue?: any, text?: string }) => string), filterEnabled?: boolean, texts?: { clearFilter?: string, createFilter?: string, filterEnabledHint?: string }, visible?: boolean };
/**
* @docid GridBaseOptions.filterRow
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
filterRow?: { applyFilter?: 'auto' | 'onClick', applyFilterText?: string, betweenEndText?: string, betweenStartText?: string, operationDescriptions?: { between?: string, contains?: string, endsWith?: string, equal?: string, greaterThan?: string, greaterThanOrEqual?: string, lessThan?: string, lessThanOrEqual?: string, notContains?: string, notEqual?: string, startsWith?: string }, resetOperationText?: string, showAllText?: string, showOperationChooser?: boolean, visible?: boolean };
/**
* @docid GridBaseOptions.filterSyncEnabled
* @type boolean|Enums.Mode
* @default "auto"
* @prevFileNamespace DevExpress.ui
* @public
*/
filterSyncEnabled?: boolean | 'auto';
/**
* @docid GridBaseOptions.filterValue
* @type Filter expression
* @default null
* @fires GridBase.onOptionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
filterValue?: string | Array<any> | Function;
/**
* @docid GridBaseOptions.focusedColumnIndex
* @type number
* @default -1
* @fires GridBaseOptions.onFocusedCellChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
focusedColumnIndex?: number;
/**
* @docid GridBaseOptions.focusedRowEnabled
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
focusedRowEnabled?: boolean;
/**
* @docid GridBaseOptions.focusedRowIndex
* @type number
* @default -1
* @fires GridBaseOptions.onFocusedRowChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
focusedRowIndex?: number;
/**
* @docid GridBaseOptions.focusedRowKey
* @type any
* @default undefined
* @fires GridBaseOptions.onFocusedRowChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
focusedRowKey?: any;
/**
* @docid GridBaseOptions.headerFilter
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
headerFilter?: { allowSearch?: boolean, height?: number, searchTimeout?: number, texts?: { cancel?: string, emptyValue?: string, ok?: string }, visible?: boolean, width?: number };
/**
* @docid GridBaseOptions.highlightChanges
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
highlightChanges?: boolean;
/**
* @docid GridBaseOptions.keyboardNavigation
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
keyboardNavigation?: { editOnKeyPress?: boolean, enabled?: boolean, enterKeyAction?: 'startEdit' | 'moveFocus', enterKeyDirection?: 'none' | 'column' | 'row' };
/**
* @docid GridBaseOptions.loadPanel
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
loadPanel?: { enabled?: boolean | 'auto', height?: number, indicatorSrc?: string, shading?: boolean, shadingColor?: string, showIndicator?: boolean, showPane?: boolean, text?: string, width?: number };
/**
* @docid GridBaseOptions.noDataText
* @type string
* @default "No data"
* @prevFileNamespace DevExpress.ui
* @public
*/
noDataText?: string;
/**
* @docid GridBaseOptions.onAdaptiveDetailRowPreparing
* @extends Action
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 formOptions:object
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onAdaptiveDetailRowPreparing?: ((e: { component?: T, element?: dxElement, model?: any, formOptions?: any }) => any);
/**
* @docid GridBaseOptions.onDataErrorOccurred
* @extends Action
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 error:Error
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onDataErrorOccurred?: ((e: { component?: T, element?: dxElement, model?: any, error?: Error }) => any);
/**
* @docid GridBaseOptions.onInitNewRow
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 promise:Promise<void>
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onInitNewRow?: ((e: { component?: T, element?: dxElement, model?: any, data?: any, promise?: Promise<void> | JQueryPromise<void> }) => any);
/**
* @docid GridBaseOptions.onKeyDown
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 jQueryEvent:jQuery.Event:deprecated(event)
* @type_function_param1_field5 event:event
* @type_function_param1_field6 handled:boolean
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onKeyDown?: ((e: { component?: T, element?: dxElement, model?: any, jQueryEvent?: JQueryEventObject, event?: event, handled?: boolean }) => any);
/**
* @docid GridBaseOptions.onRowCollapsed
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 key:any
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowCollapsed?: ((e: { component?: T, element?: dxElement, model?: any, key?: any }) => any);
/**
* @docid GridBaseOptions.onRowCollapsing
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 key:any
* @type_function_param1_field5 cancel:boolean
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowCollapsing?: ((e: { component?: T, element?: dxElement, model?: any, key?: any, cancel?: boolean }) => any);
/**
* @docid GridBaseOptions.onRowExpanded
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 key:any
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowExpanded?: ((e: { component?: T, element?: dxElement, model?: any, key?: any }) => any);
/**
* @docid GridBaseOptions.onRowExpanding
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 key:any
* @type_function_param1_field5 cancel:boolean
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowExpanding?: ((e: { component?: T, element?: dxElement, model?: any, key?: any, cancel?: boolean }) => any);
/**
* @docid GridBaseOptions.onRowInserted
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 key:any
* @type_function_param1_field6 error:Error
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowInserted?: ((e: { component?: T, element?: dxElement, model?: any, data?: any, key?: any, error?: Error }) => any);
/**
* @docid GridBaseOptions.onRowInserting
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 cancel:boolean|Promise<void>
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowInserting?: ((e: { component?: T, element?: dxElement, model?: any, data?: any, cancel?: boolean | Promise<void> | JQueryPromise<void> }) => any);
/**
* @docid GridBaseOptions.onRowRemoved
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 key:any
* @type_function_param1_field6 error:Error
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowRemoved?: ((e: { component?: T, element?: dxElement, model?: any, data?: any, key?: any, error?: Error }) => any);
/**
* @docid GridBaseOptions.onRowRemoving
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 key:any
* @type_function_param1_field6 cancel:boolean|Promise<void>
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowRemoving?: ((e: { component?: T, element?: dxElement, model?: any, data?: any, key?: any, cancel?: boolean | Promise<void> | JQueryPromise<void> }) => any);
/**
* @docid GridBaseOptions.onRowUpdated
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 data:object
* @type_function_param1_field5 key:any
* @type_function_param1_field6 error:Error
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowUpdated?: ((e: { component?: T, element?: dxElement, model?: any, data?: any, key?: any, error?: Error }) => any);
/**
* @docid GridBaseOptions.onRowUpdating
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 oldData:object
* @type_function_param1_field5 newData:object
* @type_function_param1_field6 key:any
* @type_function_param1_field7 cancel:boolean|Promise<void>
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowUpdating?: ((e: { component?: T, element?: dxElement, model?: any, oldData?: any, newData?: any, key?: any, cancel?: boolean | Promise<void> | JQueryPromise<void> }) => any);
/**
* @docid GridBaseOptions.onRowValidating
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 brokenRules:Array<RequiredRule,NumericRule,RangeRule,StringLengthRule,CustomRule,CompareRule,PatternRule,EmailRule,AsyncRule>
* @type_function_param1_field5 isValid:boolean
* @type_function_param1_field6 key:any
* @type_function_param1_field7 newData:object
* @type_function_param1_field8 oldData:object
* @type_function_param1_field9 errorText:string
* @type_function_param1_field10 promise:Promise<void>
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onRowValidating?: ((e: { component?: T, element?: dxElement, model?: any, brokenRules?: Array<RequiredRule | NumericRule | RangeRule | StringLengthRule | CustomRule | CompareRule | PatternRule | EmailRule | AsyncRule>, isValid?: boolean, key?: any, newData?: any, oldData?: any, errorText?: string, promise?: Promise<void> | JQueryPromise<void> }) => any);
/**
* @docid GridBaseOptions.onSelectionChanged
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 currentSelectedRowKeys:Array<any>
* @type_function_param1_field5 currentDeselectedRowKeys:Array<any>
* @type_function_param1_field6 selectedRowKeys:Array<any>
* @type_function_param1_field7 selectedRowsData:Array<Object>
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onSelectionChanged?: ((e: { component?: T, element?: dxElement, model?: any, currentSelectedRowKeys?: Array<any>, currentDeselectedRowKeys?: Array<any>, selectedRowKeys?: Array<any>, selectedRowsData?: Array<any> }) => any);
/**
* @docid GridBaseOptions.onToolbarPreparing
* @type function(e)
* @type_function_param1 e:object
* @type_function_param1_field4 toolbarOptions:dxToolbarOptions
* @extends Action
* @action
* @prevFileNamespace DevExpress.ui
* @public
*/
onToolbarPreparing?: ((e: { component?: T, element?: dxElement, model?: any, toolbarOptions?: dxToolbarOptions }) => any);
/**
* @docid GridBaseOptions.pager
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
pager?: { allowedPageSizes?: Array<number> | 'auto', infoText?: string, showInfo?: boolean, showNavigationButtons?: boolean, showPageSizeSelector?: boolean, visible?: boolean | 'auto' };
/**
* @docid GridBaseOptions.paging
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
paging?: GridBasePaging;
/**
* @docid GridBaseOptions.renderAsync
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
renderAsync?: boolean;
/**
* @docid GridBaseOptions.repaintChangesOnly
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
repaintChangesOnly?: boolean;
/**
* @docid GridBaseOptions.rowAlternationEnabled
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
rowAlternationEnabled?: boolean;
/**
* @docid GridBaseOptions.rowDragging
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
rowDragging?: { allowDropInsideItem?: boolean, allowReordering?: boolean, autoScroll?: boolean, boundary?: string | Element | JQuery, container?: string | Element | JQuery, cursorOffset?: string | { x?: number, y?: number }, data?: any, dragDirection?: 'both' | 'horizontal' | 'vertical', dragTemplate?: template | ((dragInfo: { itemData?: any, itemElement?: dxElement }, containerElement: dxElement) => string | Element | JQuery), dropFeedbackMode?: 'push' | 'indicate', filter?: string, group?: string, handle?: string, onAdd?: ((e: { event?: event, itemData?: any, itemElement?: dxElement, fromIndex?: number, toIndex?: number, fromComponent?: dxSortable | dxDraggable, toComponent?: dxSortable | dxDraggable, fromData?: any, toData?: any, dropInsideItem?: boolean }) => any), onDragChange?: ((e: { event?: event, cancel?: boolean, itemData?: any, itemElement?: dxElement, fromIndex?: number, toIndex?: number, fromComponent?: dxSortable | dxDraggable, toComponent?: dxSortable | dxDraggable, fromData?: any, toData?: any, dropInsideItem?: boolean }) => any), onDragEnd?: ((e: { event?: event, cancel?: boolean, itemData?: any, itemElement?: dxElement, fromIndex?: number, toIndex?: number, fromComponent?: dxSortable | dxDraggable, toComponent?: dxSortable | dxDraggable, fromData?: any, toData?: any, dropInsideItem?: boolean }) => any), onDragMove?: ((e: { event?: event, cancel?: boolean, itemData?: any, itemElement?: dxElement, fromIndex?: number, toIndex?: number, fromComponent?: dxSortable | dxDraggable, toComponent?: dxSortable | dxDraggable, fromData?: any, toData?: any, dropInsideItem?: boolean }) => any), onDragStart?: ((e: { event?: event, cancel?: boolean, itemData?: any, itemElement?: dxElement, fromIndex?: number, fromData?: any }) => any), onRemove?: ((e: { event?: event, itemData?: any, itemElement?: dxElement, fromIndex?: number, toIndex?: number, fromComponent?: dxSortable | dxDraggable, toComponent?: dxSortable | dxDraggable, fromData?: any, toData?: any }) => any), onReorder?: ((e: { event?: event, itemData?: any, itemElement?: dxElement, fromIndex?: number, toIndex?: number, fromComponent?: dxSortable | dxDraggable, toComponent?: dxSortable | dxDraggable, fromData?: any, toData?: any, dropInsideItem?: boolean }) => any), scrollSensitivity?: number, scrollSpeed?: number, showDragIcons?: boolean };
/**
* @docid GridBaseOptions.scrolling
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
scrolling?: GridBaseScrolling;
/**
* @docid GridBaseOptions.searchPanel
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
searchPanel?: { highlightCaseSensitive?: boolean, highlightSearchText?: boolean, placeholder?: string, searchVisibleColumnsOnly?: boolean, text?: string, visible?: boolean, width?: number };
/**
* @docid GridBaseOptions.selectedRowKeys
* @type Array<any>
* @fires GridBaseOptions.onSelectionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
selectedRowKeys?: Array<any>;
/**
* @docid GridBaseOptions.selection
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
selection?: GridBaseSelection;
/**
* @docid GridBaseOptions.showBorders
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
showBorders?: boolean;
/**
* @docid GridBaseOptions.showColumnHeaders
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
showColumnHeaders?: boolean;
/**
* @docid GridBaseOptions.showColumnLines
* @type boolean
* @default false [for](Material)
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
showColumnLines?: boolean;
/**
* @docid GridBaseOptions.showRowLines
* @type boolean
* @default true [for](iOS)
* @default true [for](Material)
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
showRowLines?: boolean;
/**
* @docid GridBaseOptions.sorting
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
sorting?: { ascendingText?: string, clearText?: string, descendingText?: string, mode?: 'multiple' | 'none' | 'single', showSortIndexes?: boolean };
/**
* @docid GridBaseOptions.stateStoring
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
stateStoring?: { customLoad?: (() => Promise<any> | JQueryPromise<any>), customSave?: ((gridState: any) => any), enabled?: boolean, savingTimeout?: number, storageKey?: string, type?: 'custom' | 'localStorage' | 'sessionStorage' };
/**
* @docid GridBaseOptions.twoWayBindingEnabled
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
twoWayBindingEnabled?: boolean;
/**
* @docid GridBaseOptions.wordWrapEnabled
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
wordWrapEnabled?: boolean;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBaseEditing {
/**
* @docid GridBaseOptions.editing.form
* @type dxFormOptions
* @prevFileNamespace DevExpress.ui
* @public
*/
form?: dxFormOptions;
/**
* @docid GridBaseOptions.editing.mode
* @type Enums.GridEditMode
* @default "row"
* @prevFileNamespace DevExpress.ui
* @public
*/
mode?: 'batch' | 'cell' | 'row' | 'form' | 'popup';
/**
* @docid GridBaseOptions.editing.popup
* @type dxPopupOptions
* @prevFileNamespace DevExpress.ui
* @public
*/
popup?: dxPopupOptions;
/**
* @docid GridBaseOptions.editing.refreshMode
* @type Enums.GridEditRefreshMode
* @default "full"
* @prevFileNamespace DevExpress.ui
* @public
*/
refreshMode?: 'full' | 'reshape' | 'repaint';
/**
* @docid GridBaseOptions.editing.selectTextOnEditStart
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
selectTextOnEditStart?: boolean;
/**
* @docid GridBaseOptions.editing.startEditAction
* @type Enums.GridStartEditAction
* @default "click"
* @prevFileNamespace DevExpress.ui
* @public
*/
startEditAction?: 'click' | 'dblClick';
/**
* @docid GridBaseOptions.editing.texts
* @type object
* @prevFileNamespace DevExpress.ui
* @public
*/
texts?: GridBaseEditingTexts;
/**
* @docid GridBaseOptions.editing.useIcons
* @type boolean
* @default true [for](Material)
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
useIcons?: boolean;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBaseEditingTexts {
/**
* @docid GridBaseOptions.editing.texts.addRow
* @type string
* @default "Add a row"
* @prevFileNamespace DevExpress.ui
* @public
*/
addRow?: string;
/**
* @docid GridBaseOptions.editing.texts.cancelAllChanges
* @type string
* @default "Discard changes"
* @prevFileNamespace DevExpress.ui
* @public
*/
cancelAllChanges?: string;
/**
* @docid GridBaseOptions.editing.texts.cancelRowChanges
* @type string
* @default "Cancel"
* @prevFileNamespace DevExpress.ui
* @public
*/
cancelRowChanges?: string;
/**
* @docid GridBaseOptions.editing.texts.confirmDeleteMessage
* @type string
* @default "Are you sure you want to delete this record?"
* @prevFileNamespace DevExpress.ui
* @public
*/
confirmDeleteMessage?: string;
/**
* @docid GridBaseOptions.editing.texts.confirmDeleteTitle
* @type string
* @default ""
* @prevFileNamespace DevExpress.ui
* @public
*/
confirmDeleteTitle?: string;
/**
* @docid GridBaseOptions.editing.texts.deleteRow
* @type string
* @default "Delete"
* @prevFileNamespace DevExpress.ui
* @public
*/
deleteRow?: string;
/**
* @docid GridBaseOptions.editing.texts.editRow
* @type string
* @default "Edit"
* @prevFileNamespace DevExpress.ui
* @public
*/
editRow?: string;
/**
* @docid GridBaseOptions.editing.texts.saveAllChanges
* @type string
* @default "Save changes"
* @prevFileNamespace DevExpress.ui
* @public
*/
saveAllChanges?: string;
/**
* @docid GridBaseOptions.editing.texts.saveRowChanges
* @type string
* @default "Save"
* @prevFileNamespace DevExpress.ui
* @public
*/
saveRowChanges?: string;
/**
* @docid GridBaseOptions.editing.texts.undeleteRow
* @type string
* @default "Undelete"
* @prevFileNamespace DevExpress.ui
* @public
*/
undeleteRow?: string;
/**
* @docid GridBaseOptions.editing.texts.validationCancelChanges
* @type string
* @default "Cancel changes"
* @prevFileNamespace DevExpress.ui
* @public
*/
validationCancelChanges?: string;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBasePaging {
/**
* @docid GridBaseOptions.paging.enabled
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
enabled?: boolean;
/**
* @docid GridBaseOptions.paging.pageIndex
* @type number
* @default 0
* @fires GridBaseOptions.onOptionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
pageIndex?: number;
/**
* @docid GridBaseOptions.paging.pageSize
* @type number
* @default 20
* @fires GridBaseOptions.onOptionChanged
* @prevFileNamespace DevExpress.ui
* @public
*/
pageSize?: number;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBaseScrolling {
/**
* @docid GridBaseOptions.scrolling.columnRenderingMode
* @type Enums.GridColumnRenderingMode
* @default "standard"
* @prevFileNamespace DevExpress.ui
* @public
*/
columnRenderingMode?: 'standard' | 'virtual';
/**
* @docid GridBaseOptions.scrolling.preloadEnabled
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
preloadEnabled?: boolean;
/**
* @docid GridBaseOptions.scrolling.rowRenderingMode
* @type Enums.GridRowRenderingMode
* @default "standard"
* @prevFileNamespace DevExpress.ui
* @public
*/
rowRenderingMode?: 'standard' | 'virtual';
/**
* @docid GridBaseOptions.scrolling.scrollByContent
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
scrollByContent?: boolean;
/**
* @docid GridBaseOptions.scrolling.scrollByThumb
* @type boolean
* @default false
* @prevFileNamespace DevExpress.ui
* @public
*/
scrollByThumb?: boolean;
/**
* @docid GridBaseOptions.scrolling.showScrollbar
* @type Enums.ShowScrollbarMode
* @default 'onScroll'
* @prevFileNamespace DevExpress.ui
* @public
*/
showScrollbar?: 'always' | 'never' | 'onHover' | 'onScroll';
/**
* @docid GridBaseOptions.scrolling.useNative
* @type boolean|Enums.Mode
* @default "auto"
* @prevFileNamespace DevExpress.ui
* @public
*/
useNative?: boolean | 'auto';
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBaseSelection {
/**
* @docid GridBaseOptions.selection.allowSelectAll
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowSelectAll?: boolean;
/**
* @docid GridBaseOptions.selection.mode
* @type Enums.SelectionMode
* @default "none"
* @prevFileNamespace DevExpress.ui
* @public
*/
mode?: 'multiple' | 'none' | 'single';
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBase {
/**
* @docid GridBaseMethods.beginCustomLoading
* @publicName beginCustomLoading(messageText)
* @param1 messageText:string
* @prevFileNamespace DevExpress.ui
* @public
*/
beginCustomLoading(messageText: string): void;
/**
* @docid GridBaseMethods.byKey
* @publicName byKey(key)
* @param1 key:object|string|number
* @return Promise<Object>
* @prevFileNamespace DevExpress.ui
* @public
*/
byKey(key: any | string | number): Promise<any> & JQueryPromise<any>;
/**
* @docid GridBaseMethods.cancelEditData
* @publicName cancelEditData()
* @prevFileNamespace DevExpress.ui
* @public
*/
cancelEditData(): void;
/**
* @docid GridBaseMethods.cellValue
* @publicName cellValue(rowIndex, dataField)
* @param1 rowIndex:number
* @param2 dataField:string
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
cellValue(rowIndex: number, dataField: string): any;
/**
* @docid GridBaseMethods.cellValue
* @publicName cellValue(rowIndex, dataField, value)
* @param1 rowIndex:number
* @param2 dataField:string
* @param3 value:any
* @prevFileNamespace DevExpress.ui
* @public
*/
cellValue(rowIndex: number, dataField: string, value: any): void;
/**
* @docid GridBaseMethods.cellValue
* @publicName cellValue(rowIndex, visibleColumnIndex)
* @param1 rowIndex:number
* @param2 visibleColumnIndex:number
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
cellValue(rowIndex: number, visibleColumnIndex: number): any;
/**
* @docid GridBaseMethods.cellValue
* @publicName cellValue(rowIndex, visibleColumnIndex, value)
* @param1 rowIndex:number
* @param2 visibleColumnIndex:number
* @param3 value:any
* @prevFileNamespace DevExpress.ui
* @public
*/
cellValue(rowIndex: number, visibleColumnIndex: number, value: any): void;
/**
* @docid GridBaseMethods.clearFilter
* @publicName clearFilter()
* @prevFileNamespace DevExpress.ui
* @public
*/
clearFilter(): void;
/**
* @docid GridBaseMethods.clearFilter
* @publicName clearFilter(filterName)
* @param1 filterName:string
* @prevFileNamespace DevExpress.ui
* @public
*/
clearFilter(filterName: string): void;
/**
* @docid GridBaseMethods.clearSelection
* @publicName clearSelection()
* @prevFileNamespace DevExpress.ui
* @public
*/
clearSelection(): void;
/**
* @docid GridBaseMethods.clearSorting
* @publicName clearSorting()
* @prevFileNamespace DevExpress.ui
* @public
*/
clearSorting(): void;
/**
* @docid GridBaseMethods.closeEditCell
* @publicName closeEditCell()
* @prevFileNamespace DevExpress.ui
* @public
*/
closeEditCell(): void;
/**
* @docid GridBaseMethods.collapseAdaptiveDetailRow
* @publicName collapseAdaptiveDetailRow()
* @prevFileNamespace DevExpress.ui
* @public
*/
collapseAdaptiveDetailRow(): void;
/**
* @docid GridBaseMethods.columnCount
* @publicName columnCount()
* @return number
* @prevFileNamespace DevExpress.ui
* @public
*/
columnCount(): number;
/**
* @docid GridBaseMethods.columnOption
* @publicName columnOption(id)
* @param1 id:number|string
* @return object
* @prevFileNamespace DevExpress.ui
* @public
*/
columnOption(id: number | string): any;
/**
* @docid GridBaseMethods.columnOption
* @publicName columnOption(id, optionName)
* @param1 id:number|string
* @param2 optionName:string
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
columnOption(id: number | string, optionName: string): any;
/**
* @docid GridBaseMethods.columnOption
* @publicName columnOption(id, optionName, optionValue)
* @param1 id:number|string
* @param2 optionName:string
* @param3 optionValue:any
* @prevFileNamespace DevExpress.ui
* @public
*/
columnOption(id: number | string, optionName: string, optionValue: any): void;
/**
* @docid GridBaseMethods.columnOption
* @publicName columnOption(id, options)
* @param1 id:number|string
* @param2 options:object
* @prevFileNamespace DevExpress.ui
* @public
*/
columnOption(id: number | string, options: any): void;
/**
* @docid GridBaseMethods.deleteColumn
* @publicName deleteColumn(id)
* @param1 id:number|string
* @prevFileNamespace DevExpress.ui
* @public
*/
deleteColumn(id: number | string): void;
/**
* @docid GridBaseMethods.deleteRow
* @publicName deleteRow(rowIndex)
* @param1 rowIndex:number
* @prevFileNamespace DevExpress.ui
* @public
*/
deleteRow(rowIndex: number): void;
/**
* @docid GridBaseMethods.deselectAll
* @publicName deselectAll()
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
deselectAll(): Promise<void> & JQueryPromise<void>;
/**
* @docid GridBaseMethods.deselectRows
* @publicName deselectRows(keys)
* @param1 keys:Array<any>
* @return Promise<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
deselectRows(keys: Array<any>): Promise<any> & JQueryPromise<any>;
/**
* @docid GridBaseMethods.editCell
* @publicName editCell(rowIndex, dataField)
* @param1 rowIndex:number
* @param2 dataField:string
* @prevFileNamespace DevExpress.ui
* @public
*/
editCell(rowIndex: number, dataField: string): void;
/**
* @docid GridBaseMethods.editCell
* @publicName editCell(rowIndex, visibleColumnIndex)
* @param1 rowIndex:number
* @param2 visibleColumnIndex:number
* @prevFileNamespace DevExpress.ui
* @public
*/
editCell(rowIndex: number, visibleColumnIndex: number): void;
/**
* @docid GridBaseMethods.editRow
* @publicName editRow(rowIndex)
* @param1 rowIndex:number
* @prevFileNamespace DevExpress.ui
* @public
*/
editRow(rowIndex: number): void;
/**
* @docid GridBaseMethods.endCustomLoading
* @publicName endCustomLoading()
* @prevFileNamespace DevExpress.ui
* @public
*/
endCustomLoading(): void;
/**
* @docid GridBaseMethods.expandAdaptiveDetailRow
* @publicName expandAdaptiveDetailRow(key)
* @param1 key:any
* @prevFileNamespace DevExpress.ui
* @public
*/
expandAdaptiveDetailRow(key: any): void;
/**
* @docid GridBaseMethods.filter
* @publicName filter()
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
filter(): any;
/**
* @docid GridBaseMethods.filter
* @publicName filter(filterExpr)
* @param1 filterExpr:any
* @prevFileNamespace DevExpress.ui
* @public
*/
filter(filterExpr: any): void;
focus(): void;
/**
* @docid GridBaseMethods.focus
* @publicName focus(element)
* @param1 element:Node|jQuery
* @prevFileNamespace DevExpress.ui
* @public
*/
focus(element: Element | JQuery): void;
/**
* @docid GridBaseMethods.getCellElement
* @publicName getCellElement(rowIndex, dataField)
* @param1 rowIndex:number
* @param2 dataField:string
* @return dxElement|undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
getCellElement(rowIndex: number, dataField: string): dxElement | undefined;
/**
* @docid GridBaseMethods.getCellElement
* @publicName getCellElement(rowIndex, visibleColumnIndex)
* @param1 rowIndex:number
* @param2 visibleColumnIndex:number
* @return dxElement|undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
getCellElement(rowIndex: number, visibleColumnIndex: number): dxElement | undefined;
/**
* @docid GridBaseMethods.getCombinedFilter
* @publicName getCombinedFilter()
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
getCombinedFilter(): any;
/**
* @docid GridBaseMethods.getCombinedFilter
* @publicName getCombinedFilter(returnDataField)
* @param1 returnDataField:boolean
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
getCombinedFilter(returnDataField: boolean): any;
getDataSource(): DataSource;
/**
* @docid GridBaseMethods.getKeyByRowIndex
* @publicName getKeyByRowIndex(rowIndex)
* @param1 rowIndex:numeric
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
getKeyByRowIndex(rowIndex: number): any;
/**
* @docid GridBaseMethods.getRowElement
* @publicName getRowElement(rowIndex)
* @param1 rowIndex:number
* @return Array<Node>|jQuery|undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
getRowElement(rowIndex: number): Array<Element> & JQuery | undefined;
/**
* @docid GridBaseMethods.getRowIndexByKey
* @publicName getRowIndexByKey(key)
* @param1 key:object|string|number
* @return numeric
* @prevFileNamespace DevExpress.ui
* @public
*/
getRowIndexByKey(key: any | string | number): number;
/**
* @docid GridBaseMethods.getScrollable
* @publicName getScrollable()
* @return dxScrollable
* @prevFileNamespace DevExpress.ui
* @public
*/
getScrollable(): dxScrollable;
/**
* @docid GridBaseMethods.getVisibleColumnIndex
* @publicName getVisibleColumnIndex(id)
* @param1 id:number|string
* @return number
* @prevFileNamespace DevExpress.ui
* @public
*/
getVisibleColumnIndex(id: number | string): number;
/**
* @docid GridBaseMethods.hasEditData
* @publicName hasEditData()
* @return boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
hasEditData(): boolean;
/**
* @docid GridBaseMethods.hideColumnChooser
* @publicName hideColumnChooser()
* @prevFileNamespace DevExpress.ui
* @public
*/
hideColumnChooser(): void;
/**
* @docid GridBaseMethods.isAdaptiveDetailRowExpanded
* @publicName isAdaptiveDetailRowExpanded(key)
* @param1 key:any
* @return boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isAdaptiveDetailRowExpanded(key: any): boolean;
/**
* @docid GridBaseMethods.isRowFocused
* @publicName isRowFocused(key)
* @param1 key:any
* @return boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isRowFocused(key: any): boolean;
/**
* @docid GridBaseMethods.isRowSelected(key)
* @publicName isRowSelected(key)
* @param1 key:any
* @return boolean
* @prevFileNamespace DevExpress.ui
* @public
*/
isRowSelected(key: any): boolean;
/**
* @docid GridBaseMethods.keyOf
* @publicName keyOf(obj)
* @param1 obj:object
* @return any
* @prevFileNamespace DevExpress.ui
* @public
*/
keyOf(obj: any): any;
/**
* @docid GridBaseMethods.navigateToRow
* @publicName navigateToRow(key)
* @param1 key:any
* @prevFileNamespace DevExpress.ui
* @public
*/
navigateToRow(key: any): void;
/**
* @docid GridBaseMethods.pageCount
* @publicName pageCount()
* @return numeric
* @prevFileNamespace DevExpress.ui
* @public
*/
pageCount(): number;
/**
* @docid GridBaseMethods.pageIndex
* @publicName pageIndex()
* @return numeric
* @prevFileNamespace DevExpress.ui
* @public
*/
pageIndex(): number;
/**
* @docid GridBaseMethods.pageIndex
* @publicName pageIndex(newIndex)
* @param1 newIndex:numeric
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
pageIndex(newIndex: number): Promise<void> & JQueryPromise<void>;
/**
* @docid GridBaseMethods.pageSize
* @publicName pageSize()
* @return numeric
* @prevFileNamespace DevExpress.ui
* @public
*/
pageSize(): number;
/**
* @docid GridBaseMethods.pageSize
* @publicName pageSize(value)
* @param1 value:numeric
* @prevFileNamespace DevExpress.ui
* @public
*/
pageSize(value: number): void;
/**
* @docid GridBaseMethods.refresh
* @publicName refresh()
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
refresh(): Promise<void> & JQueryPromise<void>;
/**
* @docid GridBaseMethods.refresh
* @publicName refresh(changesOnly)
* @param1 changesOnly:boolean
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
refresh(changesOnly: boolean): Promise<void> & JQueryPromise<void>;
/**
* @docid GridBaseMethods.repaintRows
* @publicName repaintRows(rowIndexes)
* @param1 rowIndexes:Array<number>
* @prevFileNamespace DevExpress.ui
* @public
*/
repaintRows(rowIndexes: Array<number>): void;
/**
* @docid GridBaseMethods.saveEditData
* @publicName saveEditData()
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
saveEditData(): Promise<void> & JQueryPromise<void>;
/**
* @docid GridBaseMethods.searchByText
* @publicName searchByText(text)
* @param1 text:string
* @prevFileNamespace DevExpress.ui
* @public
*/
searchByText(text: string): void;
/**
* @docid GridBaseMethods.selectAll
* @publicName selectAll()
* @return Promise<void>
* @prevFileNamespace DevExpress.ui
* @public
*/
selectAll(): Promise<void> & JQueryPromise<void>;
/**
* @docid GridBaseMethods.selectRows
* @publicName selectRows(keys, preserve)
* @param1 keys:Array<any>
* @param2 preserve:boolean
* @return Promise<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
selectRows(keys: Array<any>, preserve: boolean): Promise<any> & JQueryPromise<any>;
/**
* @docid GridBaseMethods.selectRowsByIndexes
* @publicName selectRowsByIndexes(indexes)
* @param1 indexes:Array<number>
* @return Promise<any>
* @prevFileNamespace DevExpress.ui
* @public
*/
selectRowsByIndexes(indexes: Array<number>): Promise<any> & JQueryPromise<any>;
/**
* @docid GridBaseMethods.showColumnChooser
* @publicName showColumnChooser()
* @prevFileNamespace DevExpress.ui
* @public
*/
showColumnChooser(): void;
/**
* @docid GridBaseMethods.state
* @publicName state()
* @return object
* @prevFileNamespace DevExpress.ui
* @public
*/
state(): any;
/**
* @docid GridBaseMethods.state
* @publicName state(state)
* @param1 state:object
* @prevFileNamespace DevExpress.ui
* @public
*/
state(state: any): void;
/**
* @docid GridBaseMethods.undeleteRow
* @publicName undeleteRow(rowIndex)
* @param1 rowIndex:number
* @prevFileNamespace DevExpress.ui
* @public
*/
undeleteRow(rowIndex: number): void;
/**
* @docid GridBaseMethods.updateDimensions
* @publicName updateDimensions()
* @prevFileNamespace DevExpress.ui
* @public
*/
updateDimensions(): void;
}
/** Warning! This type is used for internal purposes. Do not import it directly. */
export interface GridBaseColumn {
/**
* @docid GridBaseColumn.alignment
* @type Enums.HorizontalAlignment
* @default undefined
* @acceptValues undefined
* @prevFileNamespace DevExpress.ui
* @public
*/
alignment?: 'center' | 'left' | 'right' | undefined;
/**
* @docid GridBaseColumn.allowEditing
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowEditing?: boolean;
/**
* @docid GridBaseColumn.allowFiltering
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowFiltering?: boolean;
/**
* @docid GridBaseColumn.allowFixing
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowFixing?: boolean;
/**
* @docid GridBaseColumn.allowHeaderFiltering
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowHeaderFiltering?: boolean;
/**
* @docid GridBaseColumn.allowHiding
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowHiding?: boolean;
/**
* @docid GridBaseColumn.allowReordering
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowReordering?: boolean;
/**
* @docid GridBaseColumn.allowResizing
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowResizing?: boolean;
/**
* @docid GridBaseColumn.allowSearch
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowSearch?: boolean;
/**
* @docid GridBaseColumn.allowSorting
* @type boolean
* @default true
* @prevFileNamespace DevExpress.ui
* @public
*/
allowSorting?: boolean;
/**
* @docid GridBaseColumn.calculateCellValue
* @type function(rowData)
* @type_function_param1 rowData:object
* @type_function_return any
* @prevFileNamespace DevExpress.ui
* @public
*/
calculateCellValue?: ((rowData: any) => any);
/**
* @docid GridBaseColumn.calculateDisplayValue
* @type string|function(rowData)
* @type_function_param1 rowData:object
* @type_function_return any
* @prevFileNamespace DevExpress.ui
* @public
*/
calculateDisplayValue?: string | ((rowData: any) => any);
/**
* @docid GridBaseColumn.calculateFilterExpression
* @type function(filterValue, selectedFilterOperation, target)
* @type_function_param1 filterValue:any
* @type_function_param2 selectedFilterOperation:string
* @type_function_param3 target:string
* @type_function_return F