{/* Do not edit this file. It is automatically generated by API Documenter. */}


## realgrid package

## Classes

| Class | Description |
| --- | --- |
| [GridView](/refs/Class/GridView) | GridView class, a child class of [GridBase](/refs/Class/GridBase). |
| [LocalDataProvider](/refs/Class/LocalDataProvider) | LocalDataProvider class. Inherits [DataProviderBase](/refs/Class/DataProviderBase). |
| [LocalTreeDataProvider](/refs/Class/LocalTreeDataProvider) | LocalTreeDataProvider class. Inherits [DataProviderBase](/refs/Class/DataProviderBase). |
| [RealGrid](/refs/Class/RealGrid) | RealGrid main class |
| [TreeView](/refs/Class/TreeView) | It is a child class of the TreeView class, [GridBase](/refs/Class/GridBase). |

## Abstract Classes

| Abstract Class | Description |
| --- | --- |
| [CustomCellRendererImpl](/refs/Class/CustomCellRendererImpl) | It is a parent class of user-defined renderer. |
| [DataProviderBase](/refs/Class/DataProviderBase) | Base class for [LocalDataProvider](/refs/Class/LocalDataProvider) and [LocalTreeDataProvider](/refs/Class/LocalTreeDataProvider) |
| [GridBase](/refs/Class/GridBase) | GridBase is the base class of [GridView](/refs/Class/GridView){/* */} and [TreeView](/refs/Class/TreeView){/* */}. |

## Enumerations

| Enumeration | Description |
| --- | --- |
| [BarOrigin](/refs/realgrid#barorigin) | Bar position in [BarCellRenderer](/refs/Interface/BarCellRenderer) |
| [ButtonVisibility](/refs/realgrid#buttonvisibility) | How to display the column button and edit button in the data cell when a button is set in the column |
| [CalendarMode](/refs/realgrid#calendarmode) | Set limits on the year, month, and day selection screen. |
| [CellButton](/refs/realgrid#cellbutton) | Type of button to display on the right side of data cell |
| [CellLayoutType](/refs/realgrid#celllayouttype) | Specifies the type of layout. |
| [ColumnHeaderItemLocation](/refs/realgrid#columnheaderitemlocation) | Position type of image or check box in column header |
| [ColumnLayoutDirection](/refs/realgrid#columnlayoutdirection) | Placement direction when setting Cell Layout |
| [DataDropMode](/refs/realgrid#datadropmode) | Mode when data drop |
| [DataFillMode](/refs/realgrid#datafillmode) | How to populate data |
| [DefaultShowDate](/refs/realgrid#defaultshowdate) | When using the calendar editor, the date types displayed on the calendar |
| [DragFeedbackStyle](/refs/realgrid#dragfeedbackstyle) | Style of feedback that shows the drop position when the mouse is over |
| [DropDownPosition](/refs/realgrid#dropdownposition) | A list of [DropDownCellEditor](/refs/Interface/DropDownCellEditor#dropdownposition) or a calendar of [DateCellEditor](/refs/Interface/DateCellEditor#dropdownposition){/* */}, [BTDateCellEditor](/refs/Interface/BTDateCellEditor#dropdownposition) Position of selection box |
| [DropDownSortStyle](/refs/realgrid#dropdownsortstyle) | [DropDownCellEditor](/refs/Interface/DropDownCellEditor) How to sort the list |
| [DropDownValueLabel](/refs/realgrid#dropdownvaluelabel) | How to show the list of [DropDownCellEditor](/refs/Interface/DropDownCellEditor) |
| [EdgeMark](/refs/realgrid#edgemark) | edgeMark |
| [ExitGridWhenTab](/refs/realgrid#exitgridwhentab) | <p>Conditions for leaving the grid when entering a tab</p><p>Can be set in [EditOptions.exitGridWhenTab](/refs/Interface/EditOptions#exitgridwhentab).</p> |
| [ExpanderVisibility](/refs/realgrid#expandervisibility) | Whether to display Expander when grouping rows |
| [ExpandWhenSetData](/refs/realgrid#expandwhensetdata) | Sets whether to maintain the existing expansion after setting data. |
| [ExportCompression](/refs/realgrid#exportcompression) | Whether to compress when creating a file |
| [ExportLayoutExpand](/refs/realgrid#exportlayoutexpand) | When exporting a layout with layout Expandable set to true to Excel |
| [ExportTarget](/refs/realgrid#exporttarget) | Destination when exporting grid to external document |
| [ExportType](/refs/realgrid#exporttype) | Types of exporting grids to external documents |
| [FilterMode](/refs/realgrid#filtermode) | Filter operation mode after data modification |
| [FilterSelectorDataOrder](/refs/realgrid#filterselectordataorder) | Specifies the ordering rule used when calculating the data to be displayed in the filter selector. |
| [FocusMoveStep](/refs/realgrid#focusmovestep) | How to move focus when inputting the left or right arrow when there is a columnGroup |
| [FocusType](/refs/realgrid#focustype) | <p>Display focus in layer form or display only borders.</p><p>Can be set in [DisplayOptions.focusType](/refs/Interface/DisplayOptions#focustype).</p> |
| [GridCellType](/refs/realgrid#gridcelltype) | Grid cell types |
| [GridFitStyle](/refs/realgrid#gridfitstyle) | Constants that control how columns are displayed |
| [GroupShowMode](/refs/realgrid#groupshowmode) | <p>Determines whether the group column will be displayed when collapsed or expanded.</p><p>Set in [CellLayoutItem.groupShowMode](/refs/Interface/CellLayoutItem#groupshowmode){/* */}.</p> |
| [HandleVisibility](/refs/realgrid#handlevisibility) | How to display handles |
| [IconLocation](/refs/realgrid#iconlocation) | Location of icons, checkboxes, shapes, etc. to be rendered |
| [IndicatorValue](/refs/realgrid#indicatorvalue) | Type of content to be displayed on indicator |
| [InlineFilterOperator](/refs/realgrid#inlinefilteroperator) | This is the type of operator that can be used in [FilterPanel](/refs/Interface/FilterPanel){/* */}. |
| [ItemState](/refs/realgrid#itemstate) | Condition of item |
| [ItemType](/refs/realgrid#itemtype) | Types of items in grid |
| [LayoutDirection](/refs/realgrid#layoutdirection) | Item placement direction |
| [MenuItemType](/refs/realgrid#menuitemtype) | Types of menu items displayed in PopupMenu, etc. |
| [NullsOrder](/refs/realgrid#nullsorder) | <p>When sorting, place undefined, null `''`{/* */} at the top or bottom regardless of ascending or descending order.</p><p>[SortingOptions.nullsOrder](/refs/Interface Set in /SortingOptions#nullsorder){/* */}.</p> |
| [PolygonShape](/refs/realgrid#polygonshape) | List of shapes available in [ShapeCellRenderer](/refs/Interface/ShapeCellRenderer) |
| [RefreshMode](/refs/realgrid#refreshmode) | Constants needed when redrawing the grid |
| [RestoreMode](/refs/realgrid#restoremode) | Restoration Mode Type |
| [RowGroupAdornments](/refs/realgrid#rowgroupadornments) | row groupHow to display header or footer when in state |
| [RowMaskType](/refs/realgrid#rowmasktype) | Display type of selected row (row mask type) |
| [RowState](/refs/realgrid#rowstate) | status of row |
| [ScrollOnEditing](/refs/realgrid#scrollonediting) | Processing status when scrolling while editing |
| [SelectionDisplay](/refs/realgrid#selectiondisplay) | Cell Selection Display |
| [SelectionMode](/refs/realgrid#selectionmode) | Mode for cell selection |
| [SelectionStyle](/refs/realgrid#selectionstyle) | Styles for cell selection |
| [SortCase](/refs/realgrid#sortcase) | case sensitive type |
| [SortDirection](/refs/realgrid#sortdirection) | Sort by |
| [SortMode](/refs/realgrid#sortmode) | Sort operation mode after data modification |
| [SortStyle](/refs/realgrid#sortstyle) | Sort type when clicking on grid column header |
| [StateMark](/refs/realgrid#statemark) | How to display status in status bar |
| [SummaryMode](/refs/realgrid#summarymode) | How to calculate the sum of each column in a grid |
| [SummaryType](/refs/realgrid#summarytype) | Type for calculating the total value of a field |
| [SyncGridHeight](/refs/realgrid#syncgridheight) | Change the height of the grid so that all searched data can be seen. |
| [TextInputCase](/refs/realgrid#textinputcase) | uppercase and lowercase letters |
| [TimeSelectType](/refs/realgrid#timeselecttype) | |
| [TreeExpanderIconStyle](/refs/realgrid#treeexpandericonstyle) | Specifies the style of the default icon displayed in Tree Expander. |
| [UserFilterPosition](/refs/realgrid#userfilterposition) | Position of user filter when showing autoFilter and user filter at the same time |
| [ValidationLevel](/refs/realgrid#validationlevel) | Data verification result level |
| [ValidationMode](/refs/realgrid#validationmode) | Verification method |
| [ValueType](/refs/realgrid#valuetype) | Data type of data field |
| [VerticalMoveStep](/refs/realgrid#verticalmovestep) | How to move focus when an up or down arrow is entered in a subcolumn of a ColumnGruop whose direction is `vertical`{/* */}. |

## Interfaces

| Interface | Description |
| --- | --- |
| [ActualTargetBulletRenderer](/refs/Interface/ActualTargetBulletRenderer) | <p>Series renderer that compares and displays the target value (or expected value) stored in two data fields and the execution value.</p><p>The Bullet renderer displays the target value as a vertical bar and the execution value as a horizontal bar. </p><p>Available only in [SeriesColumn](/refs/Interface/SeriesColumn).</p><p>\[Superclass\]</p><p>[CellRenderer](/refs/ Interface/CellRenderer)</p> |
| [ActualTargetTextRenderer](/refs/Interface/ActualTargetTextRenderer) | <p>Renderer to compare and display the target value (or expected value) stored in two data fields and the actual value.</p><p>The ActualTarget text renderer displays in the format of 'execution value / target value'. .</p><p>Available only in [SeriesColumn](/refs/Interface/SeriesColumn).</p><p>\[Superclass\]</p><p>[CellRenderer](/refs /Interface/CellRenderer)</p> |
| [BarCellRenderer](/refs/Interface/BarCellRenderer) | Renderer that displays the value of a numeric column cell as a bar |
| [BTDateCellEditor](/refs/Interface/BTDateCellEditor) | Editor using BootStrap DatePicker |
| [ButtonCellRenderer](/refs/Interface/ButtonCellRenderer) | Renderer that displays a button |
| [CellEditor](/refs/Interface/CellEditor) | Model on which cell editors are based |
| [CellIndex](/refs/Interface/CellIndex) | Cell location information model |
| [CellLayoutColumnItem](/refs/Interface/CellLayoutColumnItem) | Column Layout Information Model |
| [CellLayoutGroupHeader](/refs/Interface/CellLayoutGroupHeader) | <p>Configuration information model for [CellLayoutGroupItem.header](/refs/Interface/CellLayoutGroupItem#header){/* */}</p><p>\[Parent class\] [CellLayoutHeader](/refs/Interface/ CellLayoutHeader)</p> |
| [CellLayoutGroupItem](/refs/Interface/CellLayoutGroupItem) | Group Layout Information Model |
| [CellLayoutHeader](/refs/Interface/CellLayoutHeader) | Setting information model of cell layout header |
| [CellLayoutItem](/refs/Interface/CellLayoutItem) | Base model for setting up layout |
| [CellMemo](/refs/Interface/CellMemo) | Memo information model for cells |
| [CellProtectProperties](/refs/Interface/CellProtectProperties) | Set cell lock or cell hiding. |
| [CellRenderer](/refs/Interface/CellRenderer) | Base model for cell renderers |
| [CheckBar](/refs/Interface/CheckBar) | Configuration model related to checkbar |
| [CheckCellRenderer](/refs/Interface/CheckCellRenderer) | A renderer that indicates whether a value is true or false |
| [ClickData](/refs/Interface/ClickData) | Information model of clicked item |
| [Code128CellRenderer](/refs/Interface/Code128CellRenderer) | Renderer displaying Code128 Barcode |
| [Code39CellRenderer](/refs/Interface/Code39CellRenderer) | Renderer displaying Code39 Barcode |
| [ColumnFilter](/refs/Interface/ColumnFilter) | Setting information related to column filtering |
| [ColumnFilterCollection](/refs/Interface/ColumnFilterCollection) | Collection model of [ColumnFilter](/refs/Interface/ColumnFilter) |
| [ColumnFooter](/refs/Interface/ColumnFooter) | Setting information for column footers displayed in the grid footer area |
| [ColumnFooterCollection](/refs/Interface/ColumnFooterCollection) | Collection of [ColumnFooter](/refs/Interface/ColumnFooter) |
| [ColumnHeader](/refs/Interface/ColumnHeader) | Setting information model for column headers displayed in the grid header area |
| [ColumnHeaderSummary](/refs/Interface/ColumnHeaderSummary) | Setting information of ColumnSummary displayed in grid header area |
| [ColumnHeaderSummaryCollection](/refs/Interface/ColumnHeaderSummaryCollection) | Collection of [ColumnHeaderSummary](/refs/Interface/ColumnHeaderSummary){/* */} |
| [ColumnLayoutInfo](/refs/Interface/ColumnLayoutInfo) | If the set layout is the [CellLayoutColumnItem](/refs/Interface/CellLayoutColumnItem) model, the object returned by [GridBase.saveColumnLayout()](/refs/Class/GridBase#savecolumnlayout) |
| [ColumnObject](/refs/Interface/ColumnObject) | Base class for column-related classes |
| [ColumnStyleObject](/refs/Interface/ColumnStyleObject) | One of the style models that must be returned when changing the cell style with [CellStyleCallback](/refs/realgrid#cellstylecallback) |
| [ColumnSummary](/refs/Interface/ColumnSummary) | Base classes such as [ColumnFooter](/refs/Interface/ColumnFooter){/* */}, [ColumnHeaderSummary](/refs/Interface/ColumnHeaderSummary) |
| [ColumnSummaryStyleObject](/refs/Interface/ColumnSummaryStyleObject) | One of the style models that should be returned when changing the cell style with [CellStyleCallback](/refs/realgrid#cellstylecallback) |
| [CopyOptions](/refs/Interface/CopyOptions) | Configuration model for copying grid contents to clipboard |
| [CustomCellRenderer](/refs/Interface/CustomCellRenderer) | Object used when setting up a custom cell renderer |
| [DataCell](/refs/Interface/DataCell) | Cell information in grid data area |
| [DataColumn](/refs/Interface/DataColumn) | Column information model that inherits [ValueColumn](/refs/Interface/ValueColumn) |
| [DataDropOptions](/refs/Interface/DataDropOptions) | d in another gridSetup model for how ragged data is handled |
| [DataExportOptions](/refs/Interface/DataExportOptions) | Setup model for export |
| [DataField](/refs/Interface/DataField) | data field model object |
| [DataFieldObject](/refs/Interface/DataFieldObject) | Object with the same structure as [DataField](/refs/Interface/DataField) used when setting |
| [DataFillOptions](/refs/Interface/DataFillOptions) | Setting model for data retrieval |
| [DataFilter](/refs/Interface/DataFilter) | Object with data filter conditions |
| [DataOptions](/refs/Interface/DataOptions) | [DataProviderBase](/refs/Class/DataProviderBase) overall configuration information |
| [DataOutputOptions](/refs/Interface/DataOutputOptions) | Setup model for how data is returned when output |
| [DataProviderConfig](/refs/Interface/DataProviderConfig) |  |
| [DateCellEditor](/refs/Interface/DateCellEditor) | date editor |
| [DateHoliday](/refs/Interface/DateHoliday) | Holidays specified by date |
| [DayHoliday](/refs/Interface/DayHoliday) | Public holidays designated on days of the week |
| [DisplayOptions](/refs/Interface/DisplayOptions) | Setting model for display information managed at grid level |
| [DocumentTitle](/refs/Interface/DocumentTitle) | When exporting a grid using the [GridExportOptions](/refs/Interface/GridExportOptions) model and [GridBase.exportGrid()](/refs/Class/GridBase#exportgrid), set the title, subtitle, and footer of the Excel document. model for |
| [DropDownCellEditor](/refs/Interface/DropDownCellEditor) | Editor that allows editing with lists (dropdown editor) |
| [EditingItemInfo](/refs/Interface/EditingItemInfo) | Object type returned by [GridBase.getEditingItem()](/refs/Class/GridBase#geteditingitem) |
| [EditMaskObject](/refs/Interface/EditMaskObject) | Object type display format in the editor that can be applied to text or date fields |
| [EditOptions](/refs/Interface/EditOptions) | Setup model for data editing in grid |
| [EditorOptions](/refs/Interface/EditorOptions) | Setting model for editor information managed at grid level |
| [EditResult](/refs/Interface/EditResult) | Output information after editing a cell used in [GridBase.onGetEditValue](/refs/Class/GridBase#ongeteditvalue) |
| [EditValidation](/refs/Interface/EditValidation) | Model for verification conditions and methods for column- or row-level data editing |
| [EditValidationCollection](/refs/Interface/EditValidationCollection) | Collection model of [EditValidation](/refs/Interface/EditValidation) |
| [ExportBaseOptions](/refs/Interface/ExportBaseOptions) | Model based settings for grid and data export |
| [ExportCoreProperties](/refs/Interface/ExportCoreProperties) | [Grid Export Settings](/refs/Interface/ExportBaseOptions){/* */} Properties that can specify the properties of the Excel file |
| [ExportMemo](/refs/Interface/ExportMemo) | A model containing settings related to validation results for a cell |
| [ExportOptions](/refs/Interface/ExportOptions) | Common model for grid and data export settings |
| [FieldMap](/refs/Interface/FieldMap) | Field name of the grid to be moved used in [DataDropOptions.fieldMap](/refs/Interface/DataDropOptions#fieldmap) - field name of the grid to be moved pair format |
| [FilterAutomatingOptions](/refs/Interface/FilterAutomatingOptions) | Setting information for automatic filtering |
| [FilterCategory](/refs/Interface/FilterCategory) | Category classification model when creating custom automatic filtering |
| [FilteringOptions](/refs/Interface/FilteringOptions) | Setting model related to column filtering |
| [FilterPanel](/refs/Interface/FilterPanel) | Displays an input window for filtering using the value entered by the user under the [GridHeader](/refs/Interface/GridHeader){/* */} area. |
| [FilterSelectorOptions](/refs/Interface/FilterSelectorOptions) | Setting model for selection box in column filter |
| [FixedOptions](/refs/Interface/FixedOptions) | Setting model for fixed row and column areas in grid |
| [FormatOptions](/refs/Interface/FormatOptions) | Setting model for conversion format of data field values |
| [GridBaseConfig](/refs/Interface/GridBaseConfig) |  |
| [GridCell](/refs/Interface/GridCell) | |
| [GridColumn](/refs/Interface/GridColumn) | Column Information Model |
| [GridExportOptions](/refs/Interface/GridExportOptions) | Configuration model for grid export |
| [GridFooter](/refs/Interface/GridFooter) | Single setup model for footer area |
| [GridFooterCollection](/refs/Interface/GridFooterCollection) | Collection model for grid footer area |
| [GridHeader](/refs/Interface/GridHeader) | Setting model for header area |
| [GridItem](/refs/Interface/GridItem) | Information model of the item |
| [GridOptions](/refs/Interface/GridOptions) | Grid's overall settings information |
| [GridViewConfig](/refs/Interface/GridViewConfig) | Grid configuration information is used when creating a grid using [RealGrid.createGrid()](/refs/Class/RealGrid#creategrid){/* */}. |
| [GroupingOptions](/refs/Interface/GroupingOptions) | Settings model related to row grouping |
| [GroupItem](/refs/Interface/GroupItem) | <p>Information model of group item</p><p>\[Parent class\]</p><p>[GridItem](/refs/Interface/GridItem)</p><p>As a parameter of callback Used only when delivered.</p> |
| [GroupLayoutInfo](/refs/Interface/GroupLayoutInfo) | If the set layout is the [CellLayoutGroupItem](/refs/Interface/CellLayoutGroupItem) model, the object returned by [GridBase.saveColumnLayout()](/refs/Class/GridBase#savecolumnlayout) |
| [GroupPanel](/refs/Interface/GroupPanel) | Setting information for grid Group Panel display information |
| [GroupSummary](/refs/Interface/GroupSummary) | Object type returned by [GridBase.getGroupSummary()](/refs/Class/GridBase#getgroupsummary) |
| [HeaderSummary](/refs/Interface/HeaderSummary) | Header Summary Single configuration model for areas |
| [HeaderSummaryCollection](/refs/Interface/HeaderSummaryCollection) | Header summary Collection model object for area |
| [HeaderTemplateEvent](/refs/Interface/HeaderTemplateEvent) | Template event setting information for [ColumnHeader](/refs/Interface/ColumnHeader) or [CellLayoutGroupHeader](/refs/Interface/CellLayoutGroupHeader){/* */} |
| [IconCellRenderer](/refs/Interface/IconCellRenderer) | Icon Renderer |
| [ImageCellRenderer](/refs/Interface/ImageCellRenderer) | image renderer |
| [InvalidCell](/refs/Interface/InvalidCell) | Object type returned by [GridBase.getInvalidCells()](/refs/Class/GridBase#getinvalidcells) |
| [LineCellEditor](/refs/Interface/LineCellEditor) | Text editor that accepts single-line input |
| [LinkCellRenderer](/refs/Interface/LinkCellRenderer) | Renderer that displays hyperlinks |
| [LiteralColumn](/refs/Interface/LiteralColumn) | Column that displays fixed values on the screen |
| [LocalDataProviderConfig](/refs/Interface/LocalDataProviderConfig) |  |
| [LocalTreeDataProviderConfig](/refs/Interface/LocalTreeDataProviderConfig) |  |
| [LookupDataKeyValues](/refs/Interface/LookupDataKeyValues) | A type of [LookupData](/refs/realgrid#lookupdata) |
| [LookupDataRows](/refs/Interface/LookupDataRows) | A type of [LookupData](/refs/realgrid#lookupdata) |
| [LookupSource](/refs/Interface/LookupSource) | Setting information for displaying in cells a different value associated with the data field associated with the column instead of the actual value |
| [MenuItem](/refs/Interface/MenuItem) | Menu Item Related Setting Information Model |
| [MobileOptions](/refs/Interface/MobileOptions) | Mobile-specific settings model |
| [MultiCheckCellEditor](/refs/Interface/MultiCheckCellEditor) | Editor that allows multiple selections from drop-down lists |
| [MultiCheckCellRenderer](/refs/Interface/MultiCheckCellRenderer) | A renderer that selects one or more than one value |
| [MultiLineCellEditor](/refs/Interface/MultiLineCellEditor) | <p>An editor that can receive multi-line input.</p><p>Inherits [CellEditor](/refs/Interface/CellEditor).</p><p>\[Super class\]</p> <p>[CellEditor](/refs/Interface/CellEditor)</p> |
| [NumberCellEditor](/refs/Interface/NumberCellEditor) | Editor that allows only numbers, punctuation, and symbols to be entered |
| [NumberFormatOptions](/refs/Interface/NumberFormatOptions) | formatOption for displaying numbers, currency, and accounting expressed differently in each language |
| [PasswordCellEditor](/refs/Interface/PasswordCellEditor) | Editor for entering passwords |
| [PasteOptions](/refs/Interface/PasteOptions) | Configuration model for pasting data from clipboard into grid |
| [PopupMenu](/refs/Interface/PopupMenu) | <p>Setting model for a popup menu or submenu registered in the grid</p><p>\[Parent class\]</p><p>[PopupMenuBase](/refs/Interface/PopupMenuBase)</p> |
| [PopupMenuBase](/refs/Interface/PopupMenuBase) | This is the base class for [PopupMenu](/refs/Interface/PopupMenu){/* */} and [PopupMenuItem](/refs/Interface/PopupMenuItem). |
| [PopupMenuItem](/refs/Interface/PopupMenuItem) | <p>Configuration model for popup menu items displayed by right-clicking</p><p>See [PopupMenu](/refs/Interface/PopupMenu)</p><p>\[Superclass\]</ p><p>[PopupMenuBase](/refs/Interface/PopupMenuBase)</p> |
| [RealGridLocale](/refs/Interface/RealGridLocale) | <p>Set the locale and currency for grid reference.</p><p>numberFormats: [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Register numberFormat using Reference/Global_Objects/Intl/NumberFormat/NumberFormat){/* */}.</p><p>messages: Change the grid message to suit the user environment.</p> |
| [RealGridMessages](/refs/Interface/RealGridMessages) | Specifies the text output from the grid. |
| [Rectangle](/refs/Interface/Rectangle) | Rectangle coordinate information |
| [RendererEditResult](/refs/Interface/RendererEditResult) | Edited result model of custom renderer |
| [RowGroup](/refs/Interface/RowGroup) | Setting model for how to display areas related to row grouping, etc. |
| [RowGroupFooter](/refs/Interface/RowGroupFooter) | grid groupfooter model |
| [RowGroupFooterCollection](/refs/Interface/RowGroupFooterCollection) | Collection model for grid group footer area |
| [RowIndicator](/refs/Interface/RowIndicator) | Configuration model for grid indicators |
| [RowStateList](/refs/Interface/RowStateList) | List of rows according to row status |
| [RowStyleObject](/refs/Interface/RowStyleObject) | Style model returned when changing the style of a row with [RowStyleCallback](/refs/realgrid#rowstylecallback) |
| [SearchCellEditor](/refs/Interface/SearchCellEditor) | [DropDownCellEditor](/refs/Interface/DropDownCellEditor) with added search function |
| [SearchCellOptions](/refs/Interface/SearchCellOptions) | Flexible configuration model for cell search |
| [SearchCellResult](/refs/Interface/SearchCellResult) | Location information of searched cell |
| [SearchOptions](/refs/Interface/SearchOptions) | Flexible configuration information model for row retrieval |
| [Selection](/refs/Interface/Selection) | Grid Selection Area Information Model |
| [SeriesColumn](/refs/Interface/SeriesColumn) | Column that displays one or more data values simultaneously |
| [SeriesTextCellRenderer](/refs/Interface/SeriesTextCellRenderer) | Renderer for displaying a Series column that displays one or more data values simultaneously as text |
| [ShapeCellRenderer](/refs/Interface/ShapeCellRenderer) | A renderer that displays shapes contained in a grid |
| [SheetProtectProperties](/refs/Interface/SheetProtectProperties) | Specifies the properties to be allowed when applying Excel sheet protection. |
| [SignalBarCellRenderer](/refs/Interface/SignalBarCellRenderer) | Renderer that displays cell values as signal strength |
| [SortedFields](/refs/Interface/SortedFields) | return format of gridView.getSortedFields |
| [SortingOptions](/refs/Interface/SortingOptions) | Set model for data sorting |
| [SparkChartRenderer](/refs/Interface/SparkChartRenderer) | A base model for renderers to display Spark Chart graphs |
| [SparkColumnRenderer](/refs/Interface/SparkColumnRenderer) | Renderer for displaying a Series column that displays one or more data values simultaneously as a Spark Column |
| [SparkLineRenderer](/refs/Interface/SparkLineRenderer) | Renderer for displaying a Series column that displays one or more data values simultaneously as a Spark Line |
| [SparkWinLossRenderer](/refs/Interface/SparkWinLossRenderer) | Renderer for displaying Series columns that display one or more data values simultaneously with Spark WinLoss |
| [StateBar](/refs/Interface/StateBar) | <p>Setting model related to the status bar that displays the status of rows</p><p>When using [GridBase.setStateBar()](/refs/Class/GridBase#setstatebar), you only need to enter the necessary information.</p> |
| [StateTexts](/refs/Interface/StateTexts) | Types of status texts to be displayed on the status bar |
| [StyledCell](/refs/Interface/StyledCell) | Cell model used to fill space among grid components |
| [SummaryTemplateEvent](/refs/Interface/SummaryTemplateEvent) | [ColumnSummary](/refs/Interface/ColumnSummary){/* */} template event setting information |
| [TemplateCellRenderer](/refs/Interface/TemplateCellRenderer) | A renderer that displays templates in HTML format |
| [TemplateEvent](/refs/Interface/TemplateEvent) | The format used when adding an event to an element generated by [TemplateCellRenderer](/refs/Interface/TemplateCellRenderer) or [ColumnObject.template](/refs/Interface/ColumnObject#template){/* */} |
| [TextCellEditor](/refs/Interface/TextCellEditor) | Base model for editors that can accept text input |
| [TextCellRenderer](/refs/Interface/TextCellRenderer) | Default Text Renderer |
| [TooltipOptions](/refs/Interface/TooltipOptions) | A configuration model for displaying messages on the screen. |
| [ToastOptions](/refs/Interface/ToastOptions) | Settings model that allows you to specify whether to display Toast View and a message |
| [TreeOptions](/refs/Interface/TreeOptions) | [TreeView](/refs/Class/TreeView) Setup model for display |
| [TreeTemplateEvent](/refs/Interface/TreeTemplateEvent) | [TreeTemplateOptions](/refs/Interface/TreeTemplateOptions){/* */} template event configuration information |
| [TreeTemplateOptions](/refs/Interface/TreeTemplateOptions) | Configuration information for displaying html in the data area of ​​the first column of treeView |
| [TreeViewConfig](/refs/Interface/TreeViewConfig) | |
| [TreeViewOptions](/refs/Interface/TreeViewOptions) | Full configuration information of [TreeView](/refs/Class/TreeView) |
| [UpdatedCell](/refs/Interface/UpdatedCell) | Changed cell information |
| [UpdatedRow](/refs/Interface/UpdatedRow) | Changed row information |
| [UserExportCell](/refs/Interface/UserExportCell) | When exporting to Excel, specify additional content to be output in addition to the content output by the grid. |
| [ValidationError](/refs/Interface/ValidationError) | Setting information model related to verification results |
| [ValueCell](/refs/Interface/ValueCell) | It is a superclass of DataCell. |
| [ValueColumn](/refs/Interface/ValueColumn) | Column information model that inherits [GridColumn](/refs/Interface/GridColumn) |
| [ViewOptions](/refs/Interface/ViewOptions) | Full configuration information of [GridView](/refs/Class/GridView) |
| [WaiOptions](/refs/Interface/WaiOptions) | Setting model for Shadow Dom |

## Type Aliases

| Type Alias | Description |
| --- | --- |
| [BooleanOutputCallback](/refs/realgrid#booleanoutputcallback) | Callback function format to be performed when converting a boolean field |
| [CategoryCallback](/refs/realgrid#categorycallback) | Callback format for custom classification during automatic filtering |
| [CellSpanCallback](/refs/realgrid#cellspancallback) | Callback to set custom cell spanning |
| [CellStyleCallback](/refs/realgrid#cellstylecallback) | Callbacks for dynamic cell style changes |
| [CheckableCallback](/refs/realgrid#checkablecallback) | A callback that determines whether a check is possible in [CheckBar](/refs/Interface/CheckBar) |
| [ColumnObjectCallback](/refs/realgrid#columnobjectcallback) | Callback used when displaying data whose `dataType`{/* */} is `object`{/* */} on the screen |
| [ColumnSummaryCallback](/refs/realgrid#columnsummarycallback) | Callback format used when the user specifies the value displayed in the column's footer or summary |
| [CompareCallback](/refs/realgrid#comparecallback) | Value comparison callback format for user-specified conditions when searching |
| [CompareFunction](/refs/realgrid#comparefunction) | Comparison function format |
| [ConfigObject](/refs/realgrid#configobject) | |
| [CopyTextCallback](/refs/realgrid#copytextcallback) | Callback format that returns text saved to the clipboard when copying the grid |
| [CreateFooterCallback](/refs/realgrid#createfootercallback) | Callback format for specifying whether to display a specific group footer |
| [DataDragCallback](/refs/realgrid#datadragcallback) | Callback format that occurs when starting drag and drop between grids |
| [DataDragLabelCallback](/refs/realgrid#datadraglabelcallback) | Format of the callback to determine the label text of the item being dragged |
| [DataDropCallback](/refs/realgrid#datadropcallback) | Callback format that occurs when dragging and dropping between grids |
| [DataFieldInput](/refs/realgrid#datafieldinput) | Input format for data fields |
| [DataFilters](/refs/realgrid#datafilters) | Array and collection objects in filter conditions |
| [DataValues](/refs/realgrid#datavalues) | Row Objects and Row Arrays |
| [DatetimeOutputCallback](/refs/realgrid#datetimeoutputcallback) | Callback function format to be performed when converting a datetime field |
| [DisplayCallback](/refs/realgrid#displaycallback) | Callback used when the user specifies the data to be displayed on the screen |
| [DropFieldMapCallback](/refs/realgrid#dropfieldmapcallback) | A callback format that returns the rules applied when moving/copying by dragging and dropping between grids |
| [EditMask](/refs/realgrid#editmask) | The editor's display format, applicable to text or date fields |
| [EventHandlers](/refs/realgrid#eventhandlers) |  |
| [ExpanderVisibleCallback](/refs/realgrid#expandervisiblecallback) | A callback that returns whether the group expander is visible |
| [ExportSimpleCallback](/refs/realgrid#exportsimplecallback) | [done](/refs/Interface/ExportBaseOptions#done) Type of callback to be performed when completing export to set |
| [ExportValueCallback](/refs/realgrid#exportvaluecallback) | Format for specifying callbacks to be performed when outputting each field in [Grid Export Settings](/refs/Interface/ExportBaseOptions){/* */} |
| [FieldValueCallback](/refs/realgrid#fieldvaluecallback) | If it is a calculated field, type of callback to be calculated by specifying a formula |
| [FilterCallback](/refs/realgrid#filtercallback) | filter callback |
| [FilterPanelCallback](/refs/realgrid#filterpanelcallback) | This is a callback called when you enter text in the input window of [FilterPanel](/refs/Interface/FilterPanel){/* */} and then type `enter`{/* */} or after filterDelay. |
| [GetAriaLabelCallback](/refs/realgrid#getarialabelcallback) | Callback format used in [CellRenderer.ariaLabelCallback](/refs/Interface/CellRenderer#arialabelcallback) |
| [GetCellTitleCallback](/refs/realgrid#getcelltitlecallback) | Callback format for setting the alt text of an image when rendering an image or setting the title text of an HTML Anchor Element when rendering a link cell |
| [GetCheckedCallback](/refs/realgrid#getcheckedcallback) | Callback type that determines check value when rendering |
| [GetClassCallback](/refs/realgrid#getclasscallback) | Add class to a tag of linkRenderer |
| [GetImageCallback](/refs/realgrid#getimagecallback) | A callback format that specifies the path to the image for rendering the image |
| [GetLinkUrlCallback](/refs/realgrid#getlinkurlcallback) | Callback format used in [LinkCellRenderer.urlCallback](/refs/Interface/LinkCellRenderer#urlcallback) |
| [GetShapeCallback](/refs/realgrid#getshapecallback) | Callback format used in [ShapeCellRenderer.shapeCallback](/refs/Interface/ShapeCellRenderer#shapecallback) to specify the type of shape in the shape renderer |
| [GetTemplateCallback](/refs/realgrid#gettemplatecallback) | Callback format used in [TemplateCellRenderer.callback](/refs/Interface/TemplateCellRenderer#callback) |
| [GroupFooterCellSpanCallback](/refs/realgrid#groupfootercellspancallback) | Callback to set custom groupFooter spanning |
| [GroupFooterStyleCallback](/refs/realgrid#groupfooterstylecallback) | Callback to style grid group footer row |
| [GroupFooterUserSpanCallback](/refs/realgrid#groupfooteruserspancallback) | Callback to set custom groupFooterUser span |
| [HeaderCallback](/refs/realgrid#headercallback) | Callback that returns the text displayed in the row group header |
| [Holidays](/refs/realgrid#holidays) | Setting model for specifying public holidays |
| [LayoutInfo](/refs/realgrid#layoutinfo) | Information model of the layout returned by [GridBase.saveColumnLayout()](/refs/Class/GridBase#savecolumnlayout) |
| [LayoutItem](/refs/realgrid#layoutitem) | A type of layout item model that allows you to create columns of the desired type |
| [ListCallback](/refs/realgrid#listcallback) | [DropDownCellEditor](/refs/Interface/DropDownCellEditor){/* */} Used to retrieve items that change according to callback conditions used when creating a list. |
| [ListResult](/refs/realgrid#listresult) | return type of [ListCallback](/refs/realgrid#listcallback) or [GridBase.onSearchCellButtonClick](/refs/Class/GridBase#onsearchcellbuttonclick) |
| [ListTemplateCallback](/refs/realgrid#listtemplatecallback) | Callback used when the user writes an item displayed in the list in [DropDownCellEditor](/refs/Interface/DropDownCellEditor) or [SearchCellEditor](/refs/Interface/SearchCellEditor){/* */} |
| [LookupData](/refs/realgrid#lookupdata) | Model information to populate [LookupSource](/refs/Interface/LookupSource) |
| [MemoCallback](/refs/realgrid#memocallback) | Format for specifying a callback to be executed when printing notes for each cell in [Export Excel Note](/refs/Interface/ExportMemo){/* */} |
| [MenuItemClick](/refs/realgrid#menuitemclick) | Callback called when a menu item is clicked |
| [MergeCallback](/refs/realgrid#mergecallback) | Callback format used in [DataColumn.mergeCallback](/refs/Interface/DataColumn#mergecallback){/* */} |
| [MultiCheckDisabledCallback](/refs/realgrid#multicheckdisabledcallback) | Callback format that determines whether an item is disabled when rendering |
| [MultiCheckKeydownCallback](/refs/realgrid#multicheckkeydowncallback) | Callback format that determines which value to select or clear on keydown in MultiCheckCellRenderer |
| [NumberOutputCallback](/refs/realgrid#numberoutputcallback) | Callback function format to be performed when converting the number field |
| [ObjectToValuesCallback](/refs/realgrid#objecttovaluescallback) | Callback called for each row when data in json format is entered into the data provider |
| [OuterSortCallback](/refs/realgrid#outersortcallback) | Callback format specified by the user when performing sorting |
| [ProgressCallback](/refs/realgrid#progresscallback) | A format for specifying a callback to be performed when showProgress is true in [Grid Export Settings](/refs/Interface/ExportBaseOptions){/* */} |
| [RealizeHeaderCallback](/refs/realgrid#realizeheadercallback) | Callback format used in [ColumnHeader.templateCallback](/refs/Interface/ColumnHeader#templatecallback) or [CellLayoutGroupHeader.templateCallback](/refs/Interface/CellLayoutGroupHeader#templatecallback){/* */} |
| [RealizeSummaryCallback](/refs/realgrid#realizesummarycallback) | Callback format used in [ColumnSummary.templateCallback](/refs/Interface/ColumnSummary#templatecallback){/* */} |
| [RealizeValueCallback](/refs/realgrid#realizevaluecallback) | Callback format used in [TemplateCellRenderer.valueCallback](/refs/Interface/TemplateCellRenderer#valuecallback) |
| [RowBarCellStyleCallback](/refs/realgrid#rowbarcellstylecallback) | Callback to specify cell style in RowBar area |
| [RowBlockCallback](/refs/realgrid#rowblockcallback) | Callback to set row block mask |
| [RowHeightCallback](/refs/realgrid#rowheightcallback) | Callback format that returns the height of the row |
| [RowObject](/refs/realgrid#rowobject) | row object |
| [RowStyleCallback](/refs/realgrid#rowstylecallback) | Callback for changing row style |
| [RowValues](/refs/realgrid#rowvalues) | row data |
| [ScrollMessageCallback](/refs/realgrid#scrollmessagecallback) | A callback type that returns a message displayed on the screen indicating the scroll position when livescroll is not applied |
| [SetCheckedCallback](/refs/realgrid#setcheckedcallback) | Callback format that determines the check result value when editing |
| [SummaryCellSpanCallback](/refs/realgrid#summarycellspancallback) | Callback to set custom headerSummary and footer spanning |
| [TreeIconCallback](/refs/realgrid#treeiconcallback) | <p>Callback that specifies the icon displayed next to the tree expander</p><p>\[Parameter list\]</p><p>`TreeView` - tree view object</p><p>` itemIndex` - index of row</p><p>`dataRow` - dataRow of row</p><p>`iconIndex` - value of original iconIndex</p><p>\[return value\] - icon `url` or sequence number of [TreeOptions.iconImages](/refs/Interface/TreeOptions#iconimages){/* */}</p> |
| [TreeTemplateEventCallback](/refs/realgrid#treetemplateeventcallback) | Callback format used in [TreeTemplateEventCallback](/refs/realgrid#treetemplateeventcallback)
| [UserCellsCallback](/refs/realgrid#usercellscallback) | If there is a callback [GridExportOptions.userCells](/refs/Interface/GridExportOptions#usercells){/* */} that is used when the user adds output cells, it is not performed. |
| [ValueForGroupCallback](/refs/realgrid#valueforgroupcallback) | Although it is not the same value, it is used when the developer specifies a standard value when grouping it into one group. It must be returned with the same dataType as the dataType of the field. |

## Enumeration Desc

<hr/>

### BarOrigin

The position of the bar in [BarCellRenderer](/refs/Interface/BarCellRenderer)

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BOTTOM | `bottom` | bottom |
| DEFAULT | `default` | default |
| LEFT | `left` | left |
| RIGHT | `right` | right |
| TOP | `top` | top |

**Example:**


```js
column.renderer = {
      "type": "bar",
      "origin":"right"
}
```

<hr/>

### ButtonVisibility

How to display the column button and edit button in the data cell when a button is set in the column

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ALWAYS | `always` | always visible |
| DEFAULT | `default` | Only visible when the mouse is over a cell or a cell is selected |
| HIDDEN | `hidden` | Do not display |
| ROWFOCUSED | `rowfocused` | With row selected, Show |
| VISIBLE | `visible` | With cells selected, select Show |

**Remarks:**

Used in the [buttonVisibility](/refs/Interface/ValueColumn#buttonvisibility) and [editButtonVisibility](/refs/Interface/ValueColumn#editbuttonvisibility) properties of ValueColumn.

**Example:**


```js
// column button
column.buttonVisibility = false;

// Buttons in editor
column.editButtonVisibility = false;
```

<hr/>

### CalendarMode

Set limits on the year, month, and day selection screen.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| DAY | `day` | You can select `day`{/* */}. |
| MONTH | `month` | You can only select up to `month`{/* */}. |
| YEAR | `year` | Only `Year`{/* */} can be selected. |

**Remarks:**

Used to select year-month or only year.

<hr/>

### CellButton

Type of button to display on the right side of data cell

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ACTION | `action` | Run button (calls [onCellButtonClicked](/refs/Class/GridBase#oncellbuttonclicked) callback when clicked) |
| NONE | `none` | No button |
| POPUP | `popup` | Pop-up menu button |

**Remarks:**

Used in [ValueColumn.button](/refs/Interface/ValueColumn#button).

**Example:**


```js
column.button = 'popup';
```

<hr/>

### CellLayoutType

Specifies the type of layout.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| COLUMN | `column` | Create a layout connected to the column. |
| GROUP | `group` | Used when adding groupLayout. |

**Remarks:**

[GridBase.addLayout()](/refs/Class/GridBase#addlayout) or [CellLayoutGroupItem.addLayout()](/refsWhen adding a layout using /Interface/CellLayoutGroupItem#addlayout), specify the layout type.

<hr/>

### ColumnHeaderItemLocation

Position type of image or check box in column header

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BOTTOM | `bottom` | bottom |
| BOTTOM\_EDGE | `bottomEdge` | bottom corner |
| CENTER | `center` | middle |
| LEFT | `left` | left |
| LEFT\_EDGE | `leftEdge` | Left corner |
| NONE | `none` | None |
| RIGHT | `right` | right |
| RIGHT\_EDGE | `rightEdge` | Right corner |
| TOP | `top` | top |
| TOP\_EDGE | `topEdge` | top corner |

**Remarks:**

Used in [ColumnHeader.checkLocation](/refs/Interface/ColumnHeader#checklocation).

**Example:**


```js
let col = grid.columnByName('col1')
col.header.checkLocation = 'leftEdge';
```

<hr/>

### ColumnLayoutDirection

Placement direction when setting Cell Layout

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| HORIZONTAL | `horizontal` | placed horizontally |
| VERTICAL | `vertical` | placed vertically |

**Remarks:**

Used in [CellLayoutGroupItem.direction](/refs/Interface/CellLayoutGroupItem#direction).

<hr/>

### DataDropMode

Mode when dropping data

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| COPY | `copy` | Copy |
| MOVE | `move` | Go |

<hr/>

### DataFillMode

How to populate data

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| APPEND | `append` | Append data after last row |
| INSERT | `insert` | Insert |
| SET | `set` | Ignore existing data and fill as many data rows starting from row 0 |
| UPDATE | `update` | Replace existing data. Any remaining data after reaching the last row is ignored. |

**Remarks:**

Used in [DataFillOptions.fillMode](/refs/Interface/DataFillOptions#fillmode).

<hr/>

### DefaultShowDate

When using the calendar editor, the type of dates displayed on the calendar

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| DEFAULT | `default` | specified date |
| DEFAULT\_WHEN\_NULL | `defaultWhenNull` | If there is data in the cell, the relevant date is selected and if there is no data, the specified date is selected and displayed. |
| NORMAL | `normal` | General |
| TODAY | `today` | today |
| TODAY\_WHEN\_NULL | `todayWhenNull` | Same behavior as normal, but the current date is selected and displayed only if there is no date.

**Remarks:**

Used in [DateCellEditor](/refs/Interface/DateCellEditor).

**Example:**


```js
column.editor = { type: "date", maxLength: 6, yearNavigation: true, defaultShowDate: 'today' }
```

<hr/>

### DragFeedbackStyle

Feedback style that shows the drop location when the mouse is over

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CELL | `cell` | |
| GROUP | `group` | Displayed in block form overlaid on the dropped column group cell. |
| LINE | `line` | <p>Line</p><p>Displayed in line form above or below the dropped row</p> |
| ROW | `row` | <p>Block or Row</p><p>Displayed in block form overlaid on the dropped row</p> |

<hr/>

### DropDownPosition

A list of [DropDownCellEditor](/refs/Interface/DropDownCellEditor#dropdownposition) or a calendar of [DateCellEditor](/refs/Interface/DateCellEditor#dropdownposition){/* */}, [BTDateCellEditor](/refs/Interface/BTDateCellEditor#dropdownposition) Position of selection box

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BUTTON | `button` | Align to button |
| EDITOR | `editor` | Align to editor |

**Example:**


```js
column.editor = {
type: 'list',
values: ['value1', 'value2'],
dropDownPosition: 'editor'
}
```

<hr/>

### DropDownSortStyle

[DropDownCellEditor](/refs/Interface/DropDownCellEditor) How to sort the list

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ASCENDING | `ascending` | Ascending |
| DESCENDING | `descending` | Descending |
| NONE | `none` | Not specified |

**Example:**


```js
column.editor = {
type: 'list',
values: ['value1', 'value2'],
itemSortStyle: 'descending'
}
```

<hr/>

### DropDownValueLabel

How to show the list of [DropDownCellEditor](/refs/Interface/DropDownCellEditor)

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| LABEL | `label` | label value only |
| LABEL\_VALUE | `labelValue` | label - value ordered pair |
| VALUE | `value` | value only |
| VALUE\_LABEL | `valueLabel` | value - label ordered pair |

**Example:**


```js
column.editor = {
type: 'list',
values: ['value1', 'value2'],
labels: ['label1', 'label2'],
displayLabels: 'valueLabel'
}
```

<hr/>

### EdgeMark

edgeMark

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| LEFT\_BOTTOM | `leftBottom` | bottom left |
| LEFT\_TOP | `leftTop` | top left |
| RIGHT\_BOTTOM | `rightBottom` | Bottom right |
| RIGHT\_TOP | `rightTop` | top right |

**Remarks:**

Used in [ValueColumn.edgeMark](/refs/Interface/ValueColumn#edgemark){/* */}.

**Example:**


```js
column.edgeMark = "leftTop"
```

<hr/>

### ExitGridWhenTab

Conditions for leaving the grid when entering a tab

It can be set in [EditOptions.exitGridWhenTab](/refs/Interface/EditOptions#exitgridwhentab).

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| GRID | `grid` | If it is the last cell of the grid, it goes out. |
| NONE | `none` | When I press the tab key, I don't leave the grid. |
| ROW | `row` | If it is the last cell in a row, it is left out. |

**Example:**


```js
grid.editOptions.exitGridWhenTab = 'grid';
```

<hr/>

### ExpanderVisibility

Whether to display Expander when grouping rows

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ALWAYS | `always` | Expander is always displayed when grouping rows. |
| DEFAULT | `default` | Default value: Displays if multiple grouped rows are visible, otherwise does not display. |
| NONE | `none` | Expander when grouping rowsdo not display |

**Remarks:**

Used in [RowGroup.mergeExpanderVisibility](/refs/Interface/RowGroup#mergeexpandervisibility).

**Example:**


```js
gridView.rowGroup.mergeExpanderVisibility = 'always';
```
<hr/>

### ExpandWhenSetData

Sets whether to keep the existing expansion after set data.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| COLLAPSE | `collapse` | Collapsed state |
| EXPAND | `expand` | Expanded state |
| REMAIN\_AND\_COLLAPSE | `remainAndCollapse` | Keep expanded state and collapse all new rows. |
| REMAIN\_AND\_EXPAND | `remainAndExpand` | Keep expanded state and expand all new rows. |

**Remarks:**

Used in [TreeOptions.expandWhenSetData](/refs/Interface/TreeOptions#expandwhensetdata).

<hr/>

### ExportCompression

Whether to compress files when creating them

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| DEFLATE | `DEFLATE` | Compresses files. |
| STORE | `STORE` | Does not compress files. |

<hr/>

### ExportLayoutExpand

When exporting a layout with layout Expandable set to true to Excel

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| COLLAPSE | `collapse` | Printed in a folded state. |
| CURRENT | `current` | current current shape |
| EXPAND | `expand` | Print out in an unfolded state. |
| IGNORE | `ignore` | Ignores expandable and outputs as set layout shape. |

<hr/>

### ExportTarget

Destination when exporting a grid to an external document

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| LOCAL | `local` | Save directly to local |
| REMOTE | `remote` | Save via server |
| STREAM | `stream` | Export to Console |

<hr/>

### ExportType

Types of when to export a grid to an external document

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CSV | `csv` | CSV |
| EXCEL | `excel` | Excel |

**Remarks:**

Used in [ExportBaseOptions.type](/refs/Interface/ExportBaseOptions#type).

<hr/>

### FilterMode

Filter operation mode after data modification

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| AUTO | `auto` | automatic |
| EXPLICIT | `explicit` | After modifying the data, you must explicitly filter it to be filtered |

**Remarks:**

Used in [GridView.filterMode](/refs/Class/GridView#filtermode).

**Example:**


```js
gridView.filterMode = 'explicit';
```
<hr/>

### FilterSelectorDataOrder

Specifies the ordering rule used when calculating the data to be displayed in the filter selector.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| NONE | `none` | Creates a list by referencing filtered data. |
| ORDER | `order` | Creates a list of selectors by referencing filters in the order they appear on the screen. |
| SELECTION | `selection` | Creates a list of selectors by referencing filters in the order they are selected by the user. |
| SELECTION\_PERSISTENT | `selectionPersistent` | Creates a list of selectors by referencing filters in the order they are selected by the user, and maintains the order of the selected filters until explicitly reset. |

<hr/>

### FocusMoveStep

How to move focus when inputting the left or right arrow when there is a columnGroup

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CELL | `cell` | Move by cell. |
| GROUP | `group` | Move to the highest group level. |

<hr/>

### FocusType

Display focus in layer form or display only the border.

It can be set in [DisplayOptions.focusType](/refs/Interface/DisplayOptions#focustype).

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| LAYER | `layer` | Displayed in the form of a layer covering the selected cell. |
| LINE | `line` | Only the borders of selected cells are displayed as lines. |

<hr/>

### GridCellType

Grid cell types

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CHECK | `check` | check bar |
| DATA | `data` | data |
| FILTER | `filter` | filter rowIndicator area |
| FIXED\_BAR | `fixedbar` | fixed bar |
| FOOT | `foot` | foot |
| FOOTER | `footer` | Footer |
| GRID\_EMPTY | `gridEmpty` | empty grid |
| GROUP\_BAR | `groupBar` | group bar |
| GROUP\_COLUMN | `groupColumn` | group column |
| GROUP\_FOOT | `groupFoot` | group foot |
| GROUP\_FOOTER | `groupFooter` | Group Footer |
| GROUP\_HEAD | `groupHead` | group head |
| GROUP\_HEADER | `groupHeader` | group header |
| GROUP\_PANEL | `groupPanel` | Group panel |
| HEAD | `head` | head |
| HEADER | `header` | header |
| INDICATOR | `indicator` | indicator |
| INLINE\_FILTER | `inlineFilter` | inline-filter body area |
| LAYOUT\_HEADER | `layoutHeader` | Header of Column Group |
| SCROLL\_BAR | `scrollBar` | Scrollbar area |
| SCROLL\_BUTTON | `scrollButton` | Scrollbar button |
| SCROLL\_EDGE | `scrollEdge` | Scrollbar bottom right |
| SCROLL\_THUMB | `scrollThumb` | Scrollbar thumb area |
| SCROLL\_TRACK | `scrollTrack` | Scrollbar track area |
| STATE | `state` | status bar |
| SUM | `sum` | sum |
| SUMMARY | `summary` | Summary |

**Remarks:**

Used in [ClickData](/refs/Interface/ClickData), etc.

**Example:**


```js
gridView.onMenuItemClicked = function (grid, item, clickData) {
      console.log(item.label + "was clicked.");
      console.log("cellType is: " + clickData.cellType);
};
```

<hr/>

### GridFitStyle

Constants that control how columns are displayed

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| EVEN | `even` | If the total width of the displayed columns is smaller than the grid width, distribute the remaining size proportionally |
| EVEN\_FILL | `evenFill` | Always expand or contract to fit the grid width (using the column width) |
| FILL | `fill` | If fillWidth is set, fill the grid using it, otherwise fill the grid in the same way as even |
| NONE | `none` | Display as column width without adjustment |

**Remarks:**

Used in [DisplayOptions.fitStyle](/refs/Interface/DisplayOptions#fitstyle), etc.

**Example:**


```js
grid.displayOptions.fitStyle = 'even'
```

<hr/>

### GroupShowMode

Determines whether the group column will be displayed when collapsed or expanded.

Set in [CellLayoutItem.groupShowMode](/refs/Interface/CellLayoutItem#groupshowmode){/* */}.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ALWAYS | `always` | It is always visible. |
| COLLAPSE | `collapse` | It is displayed when the group is closed. |
| EXPAND | `expand` | It is displayed when the group is expanded. |

**Remarks:**

It is visible or hidden depending on the expansion state of the parent layout.

<hr/>

### HandleVisibility

How to display handles

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ACTIVE\_OR\_HOVERED | `activeOrHovered` | Displays when active or hovered |
| ALWAYS | `always` | always visible |
| HIDDEN | `hidden` | Hidden |
| HOVERED | `hovered` | Show only when hovered |
| VISIBLE | `visible` | display |

**Remarks:**

The function icon displayed in the column header during sorting or filtering is called a handle.

HandleVisiblity is implemented as the handleVisibility property of [SortingOptions](/refs/Interface/SortingOptions){/* */}, [FilteringOptions](/refs/Interface/FilteringOptions).

**Example:**


```js
grid.sortingOptions.handleVisibility = 'visible';
```

<hr/>

### IconLocation

Location of icons, checkboxes, shapes, etc. to be rendered

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BOTTOM | `bottom` | Show below text |
| BOTTOM\_EDGE | `bottomEdge` | Show in bottom corner of cell |
| CENTER | `center` | Show in center of cell |
| LEFT | `left` | Show left of text |
| LEFT\_EDGE | `leftEdge` | Show in left corner of cell |
| RIGHT | `right` | Show right of text |
| RIGHT\_EDGE | `rightEdge` | Show in right corner of cell |
| TOP | `top` | Show above text |
| TOP\_EDGE | `topEdge` | Show in top corner of cell |

**Remarks:**

[IconCellRenderer](/refs/Interface/IconCellRenderer)Used in {/* */}, [CheckCellRenderer](/refs/Interface/CheckCellRenderer){/* */}, [ShapeCellRenderer](/refs/Interface/ShapeCellRenderer).

**Example:**


```js
...
"renderer": {
          "type": "check",
          "checkLocation": "right"
      },
...
```

<hr/>

### IndicatorValue

Type of content to be displayed on the indicator

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| INDEX | `index` | row order |
| NONE | `none` | None |
| REVERSE | `reverse` | Reverse row order |
| ROW | `row` | row unique number |

<hr/>

### InlineFilterOperator

This is the type of operator that can be used in [FilterPanel](/refs/Interface/FilterPanel){/* */}.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BETWEEN | `between` | Specify the range. |
| CONTAINS | `contains` | Data containing the entered value |
| EMPTY | `empty` | Search for data without value |
| ENDS\_WITH | `endsWith` | Data ending with the entered value |
| EQUAL | `equal` | Data identical to the entered value |
| GREATER | `greater` | Data greater than the entered value |
| GREATER\_EQUAL | `greaterEqual` | Data greater than or equal to the entered value |
| LOWER | `lower` | Data smaller than the entered value |
| LOWER\_EQUAL | `lowerEqual` | Data less than or equal to the entered value |
| NOT\_CONTAINS | `notContains` | Data that does not contain the entered value |
| NOT\_EQUAL | `notEqual` | Data different from the entered value |
| RESET | `reset` | Clears the entered value and deactivates the filter. |
| STARTS\_WITH | `startsWith` | Data starting with the entered value |

**Remarks:**

There are restrictions on the operators that can be used depending on [DataColumn.valueType](/refs/Interface/DataColumn#valuetype){/* */}.

<hr/>

### ItemState

Condition of the item

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| APPENDING | `appending` | If adding |
| DUMMY | `dummy` | dummy |
| FOCUSED | `focused` | If the entered index is the index of the item currently being edited |
| INSERTING | `inserting` | If inserting |
| NORMAL | `normal` | If you are not editing, adding, or typing |
| UPDATING | `updating` | If you are editing |

<hr/>

### ItemType

Types of items in the grid

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| FOOTER | `footer` | Group Footer |
| GROUP | `group` | group item |
| ROW | `row` | row |
| TREE | `tree` | tree items |

**Remarks:**

Used in [getModelAs()](/refs/Class/GridBase#getmodelas), etc.

**Example:**


```js
let model = gridView.getModelAs(3, 'row');
```

<hr/>

### LayoutDirection

Direction of item placement

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| HORIZONTAL | `horizontal` | Arrange items horizontally. |
| VERTICAL | `vertical` | Arrange items vertically. |

<hr/>

### MenuItemType

Types of menu items displayed in PopupMenu, etc.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CHECK | `check` | checkbox and text |
| NORMAL | `normal` | plain text |
| RADIO | `radio` | radio button and text |
| SEPARATOR | `separator` | Separation between menu items |

**Remarks:**

Used in [PopupMenuItem.type](/refs/Interface/PopupMenuItem#type) and [MenuItem.type](/refs/Interface/MenuItem#type).

**Example:**


```js
let menu = [{
      label: "This is menu3",
      type: "check",
      checked: true,
  }]
```

<hr/>

### NullsOrder

When sorting, place undefined, null `''`{/* */} at the top or bottom regardless of ascending or descending order.

Set in [SortingOptions.nullsOrder](/refs/Interface/SortingOptions#nullsorder){/* */}.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| DEFAULT | `default` | When in ascending order, place it at the top, and when in descending order, place it at the bottom. |
| FIRST | `first` | Place it at the top. |
| LAST | `last` | Place it at the bottom. |

<hr/>

### PolygonShape

List of shapes available in [ShapeCellRenderer](/refs/Interface/ShapeCellRenderer)

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| DIAMOND | `diamond` | diamond |
| DOWN\_ARROW | `downarrow` | arrow pointing down |
| EQUAL | `equal` | equal sign |
| INVERTED\_TRIANLGE | `itriangle` | inverted triangle |
| LEFT\_ARROW | `leftarrow` | Arrow pointing left |
| MINUS | `minus` | minus sign |
| PLUS | `plus` | plus sign |
| RECTANGLE | `rectangle` | rectangle |
| RIGHT\_ARROW | `rightarrow` | arrow pointing right |
| STAR | `star` | star shape |
| TRIANLGE | `triangle` | triangle |
| UP\_ARROW | `uparrow` | arrow pointing up |

**Example:**


```js
column.renderer = {
     "type": "shape",
     "shape": "triangle" // PolygonShape
}
```

<hr/>

### RefreshMode

Constants needed when redrawing the grid

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ALL | `all` | Redraw all columns |
| RECYCLE | `recycle` | When scrolling vertically, only visible columns are redrawn, and when scrolling horizontally, the entire column is redrawn. |
| VISIBLE\_ONLY | `visibleOnly` | Redraw only visible columns |

**Remarks:**

Used in [DisplayOptions.refreshMode](/refs/Interface/DisplayOptions#refreshmode).

**Example:**


```js
grid.displayOptions.refreshMode = 'visibleOnly';
```

<hr/>

### RestoreMode

Restoration mode type

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| AUTO | `auto` | If you just change it back to the original value, the RowState will also return to its original state. |
| EXPLICIT | `explicit` | RowState and value are changed only when [restoreUpdatedRows()](/refs/Class/DataProviderBase#restoreupdatedrows){/* */} is explicitly used. |
| NONE | `none` | Do not set recovery mode. |

<hr/>

### RowGroupAdornments

How to display header or footer when in row group state

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BOTH | `both` | Show both header and footer when in row group state |
| FOOTER | `footer` | Show footer when in row group state |
| HEADER | `header` | Show header when in row group state |
| NONE | `none` | Not displayed, only applicable in expandedAdornments state. |
| SUMMARY | `summary` | Display summary contents in header position when in row group state |

**Remarks:**

[RowGroup.collapsedAdornments](/refs/Interface/RowGroup#collapsedadornments){/* */}, [RowGroup.expandedAdornments](/refs/Interface/RowGroup#expandedadornments)It is used in

**Example:**


```js
grid.setRowGroup({expandedAdornments: "none"});
```

<hr/>

### RowMaskType

Display type of selected row (row mask type)

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CELL | `cell` | one cell |
| DATA | `data` | column area |
| FILL | `fill` | Area including indicator, status bar, check bar, and column + empty area |
| NONE | `none` | None |
| ROW | `row` | Area including indicator, status bar, check bar, and column |

**Remarks:**

[rowBlockType](/refs/Interface/DisplayOptions#rowblocktype){/* */}, [rowHoverType](/refs/Interface/DisplayOptions#rowhovertype){/* */}, [rowFocusType](/refs/Interface/DisplayOptions #rowfocustype), etc.

**Example:**


```js
grid.displayOptions.rowBlockCallback = f;
grid.displayOptions.rowBlockType = 'row';
```

<hr/>

### RowState

status of row

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CREATE\_AND\_DELETED | `createAndDeleted` | Deleted after creation |
| CREATED | `created` | Created |
| DELETED | `deleted` | Deleted |
| NONE | `none` | nothing |
| UPDATED | `updated` | Updated |

<hr/>

### ScrollOnEditing

Processing status when scrolling while editing

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CANCEL | `cancel` | Cancel Edit |
| COMMIT | `commit` | commit |
| DEFAULT | `default` | Maintain Editor |

**Remarks:**

It can be set in [EditOptions.scrollOnEditing](/refs/Interface/EditOptions#scrollonediting).

**Example:**


```js
grid.editOptions.scrollOnEditing = 'cancel';
```

<hr/>

### SelectionDisplay

Cell selection display

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CELL | `cell` | cell |
| CELL\_AND\_BORDER | `cellAndBorder` | Cells and Borders |
| MASK | `mask` | mask |

**Remarks:**

developing...

<hr/>

### SelectionMode

Mode for cell selection

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| EXTENDED | `extended` | Use multiple area selection |
| NONE | `none` | Do not use area selection. |
| SINGLE | `single` | Use only one area selection |

**Remarks:**

Used in [DisplayOptions.selectionMode](/refs/Interface/DisplayOptions#selectionmode).

<hr/>

### SelectionStyle

Styles for cell selection

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BLOCK | `block` | Select by block type |
| COLUMNS | `columns` | Select by column |
| GROUP | `group` | Select in the same format as block, but select in groups rather than cells. |
| NONE | `none` | Not selectable |
| ROWS | `rows` | Select by row |
| SINGLE | `single` | Select only one cell |
| SINGLE\_COLUMN | `singleColumn` | Select only one column |
| SINGLE\_ROW | `singleRow` | Select only one row |

**Remarks:**

`SINGLE`{/* */}, `SINGLE_ROW`{/* */}, and `SINGLE_COLUMN` are called single selection styles.

Used in [DisplayOptions.selectionStyle](/refs/Interface/DisplayOptions#selectionstyle).

For the [RowIndicator.selectable](/refs/Interface/RowIndicator#selectable) function to work properly, [DisplayOptions.selectionStyle](/refs/Interface/DisplayOptions#selectionstyle) must not be a single selection style.

If [DisplayOptions.selectionStyle](/refs/Interface/DisplayOptions#selectionstyle) is not a single selection style, a column-wise selection area is specified when you press the `ctrl` key and then drag the column header.

<hr/>

### SortCase

Case sensitive type

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| INSENSITIVE | `insensitive` | No distinction |
| SENSITIVE | `sensitive` | Category |

**Remarks:**

Used in [SortingOptions.textCase](/refs/Interface/SortingOptions#textcase){/* */}, [orderBy()](/refs/Class/GridBase#orderby), etc.

**Example:**


```js
gridView.orderBy(['fruit'], ['descending'], ['insensitive']);
```

<hr/>

### SortDirection

sorting method

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ASCENDING | `ascending` | Ascending |
| DESCENDING | `descending` | Descending |
| NONE | `none` | None |

**Remarks:**

Used in [getDistinctValues()](/refs/Class/DataProviderBase#getdistinctvalues){/* */}, [orderBy()](/refs/Class/GridBase#orderby), etc.

**Example:**


```js
gridView.orderBy(['fruit'], ['descending'], ['insensitive']);
```

<hr/>

### SortMode

Sort operation mode after data modification

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| AUTO | `auto` | automatic |
| EXPLICIT | `explicit` | After data modification, sorting must be performed explicitly. Sort |

**Remarks:**

Used in [GridBase.sortMode](/refs/Class/GridBase#sortmode).

**Example:**


```js
gridView.sortMode = "explicit";
```

<hr/>

### SortStyle

Sort type when clicking on grid column header

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| EXCLUSIVE | `exclusive` | Sort by last clicked column |
| INCLUSIVE | `inclusive` | Sort by first clicked column |
| NONE | `none` | Unsorted |
| REVERSE | `reverse` | Sort by last clicked column first |

**Remarks:**

Used in [SortingOptions.style](/refs/Interface/SortingOptions#style).

**Example:**


```js
grid.sortingOptions.style = 'inclusive'
```

<hr/>

### StateMark

How to display status in status bar

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| IMAGE | `image` | image |
| NONE | `none` | None |
| TEXT | `text` | text |

<hr/>

### SummaryMode

How to calculate the sum of each column in the grid

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| AGGREGATE | `aggregate` | Automatically calculates arithmetic sums such as sum, average, maximum, and minimum values |
| NONE | `none` | not calculated |
| STATISTICAL | `statistical` | Automatically calculate statistical sums such as variance, standard deviation, etc. |

**Remarks:**

It can be set and used in [GridBase.summaryMode](/refs/Class/GridBase#summarymode), etc.**Example:**


```js
let sum = gridView.getSummary('unitPrice', 'sum');
```

<hr/>

### SummaryType

Type for calculating the total value of a field

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| AVG | `avg` | average |
| COUNT | `count` | count |
| DATAAVG | `dataavg` | average divided by `DATACOUNT` |
| DATACOUNT | `datacount` | Number of data with specified value (not null) |
| MAX | `max` | maximum value |
| MIN | `min` | Minimum |
| STDEV | `stdev` | Sample population standard deviation |
| STDEVP | `stdevp` | population standard deviation |
| SUM | `sum` | Sum |
| VAR | `var` | Sample population variance |
| VARP | `varp` | population variance |

**Remarks:**

Used in [GridBase.getSummary()](/refs/Class/GridBase#getsummary).

**Example:**


```js
let sum = gridView.getSummary('unitPrice', 'sum');
```

<hr/>

### SyncGridHeight

Change the height of the grid so that all searched data can be seen.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ALWAYS | `always` | Always set the grid height to the data area. |
| NONE | `none` | Maintain the specified height. |
| OVER | `over` | Change the height of the grid when it becomes larger than the area of the grid. |

**Remarks:**

If there is no data, the initial height is displayed. If a lot of data is output, it becomes slow, so you need to import only some data and then add data using the 'More' button.

<hr/>

### TextInputCase

uppercase and lowercase letters

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| DEFAULT | `default` | If set to this value in the editor, it will follow the value set in the column |
| LOWER | `lower` | lowercase |
| NORMAL | `normal` | Display as entered |
| UPPER | `upper` | Capitalize |

**Remarks:**

Used in [ValueColumn.textInputCase](/refs/Interface/ValueColumn#textinputcase){/* */}, [CellEditor.textCase](/refs/Interface/CellEditor#textcase), etc.

**Example:**


```js
column.editor = { type: "line", maxLength: 1, textCase: 'lower'}
```

<hr/>

### TimeCategory

Classification unit when filtering by time

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| AUTO | `auto` | <p>Data is classified according to its value.</p><p>If time is omitted, it is classified by date.</p> |
| HOUR | `hour` | Categorize by time. |
| MINUTE | `minute` | Classified down to the minute. |
| NONE | `none` | Sort by date, not by time. |
| SECOND | `second` | Classifies down to the second. |

**Remarks:**

Used in [FilterAutomatingOptions.timeCategorize](/refs/Interface/FilterAutomatingOptions#timecategorize){/* */}.

<hr/>

### TimeSelectType

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| HOUR | `hour` | Displays the time selection screen. |
| MINUTE | `minute` | Displays the hour/minute selection screen. |
| NONE | `none` | The time selection screen is not displayed. |
| SECOND | `second` | Displays the hour/minute/second selection screen. |

<hr/>

### TreeExpanderIconStyle

Specifies the style of the default icon displayed in Tree Expander.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| SQUARE | `square` | Displays a square-shaped Tree Expander icon. |
| TRIANGLE | `triangle` | Displays the triangular Tree Expander icon. |

<hr/>

### UserFilterPosition

Position of user filter when autoFilter and user filter are shown at the same time

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| FIRST | `first` | Position user filter at the top of autoFiler. |
| LAST | `last` | Position user filter at the bottom of autoFiler. |
| NONE | `none` | Do not display user filter. |

<hr/>

### ValidationLevel

Data verification result level

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ERROR | `error` | error |
| IGNORE | `ignore` | None |
| INFO | `info` | Information |
| WARNING | `warning` | warning |

**Remarks:**

Used in [GridBase.setValidations()](/refs/Class/GridBase#setvalidations), etc.

**Example:**


```js
gridView.setValidations({
      message: 'Too expensive!',
      criteria: "values['UnitPrice'] > 100",
      level: 'error'
})
```

<hr/>

### ValidationMode

Verification method

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| ALWAYS | `always` | Always (insert, modify) whenever committed |
| INSERT | `insert` | When the added row is committed |
| UPDATE | `update` | When the modified row is committed |

**Remarks:**

Used in [GridBase.setValidations()](/refs/Class/GridBase#setvalidations), etc.

**Example:**


```js
gridView.setValidations({
      message: 'Too expensive!',
      criteria: "values['UnitPrice'] > 100",
      mode: 'always'
})
```

<hr/>

### ValueType

Data type of data field

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| BOOLEAN | `boolean` | Boolean |
| CHAR | `char` | character |
| DATE | `date` | Date with time part removed |
| DATETIME | `datetime` | date |
| INT | `int` | integer type |
| NUMBER | `number` | numbers |
| OBJECT | `object` | object |
| TEXT | `text` | text |
| UINT | `uint` | integer value greater than or equal to 0 |
| UNUM | `unum` | numbers greater than or equal to 0 |

**Remarks:**

When used in [DataField.dataType](/refs/Interface/DataField#datatype), `TEXT`{/* */}, `NUMBER`{/* */}, `DATETIME`{/* */}, `BOOLEAN It is used as `{/* */}, `OBJECT`, and when you want to limit the applied data type, it can be given to [DataField.subType](/refs/Interface/DataField#subtype) as follows.

[dataType](/refs/Interface/DataField#datatype) is `TEXT`{/* */}: `CHAR`

[dataType](/refs/Interface/DataField#datatype) has `NUMBER`{/* */}: `INT`{/* */}, `UNUM`{/* */}, `UINT`

[dataType](/refs/Interface/DataField#datatype) is `DATETIME`{/* */}: `DATE`

**Example:**


```js
let fields = [{
...
      dataType: "text",
      subType: "char",
...
}]

ds.setFields(fields);
```

<hr/>

### VerticalMoveStep

How to move focus when an up or down arrow is entered in a subcolumn of a ColumnGruop whose direction is `vertical`{/* */}.

**Members:**

| Member | Value | Description |
| --- | --- | --- |
| CELL | `cell` | Move by cell. |
| ROW | `row` | Move row by row. |

## Type Aliases Desc

<hr/>

### BooleanOutputCallback

Callback function format to be performed when converting a boolean field

**Remarks:**

Used in [DataOutputOptions.booleanCallback](/refs/Interface/DataOutputOptions#booleancallback).

\[Parameter list\]

`ds` - DataProvider control

`row` - the index of the item

`field` - field name

`value` - the value

\[return value\] - value to output

**Example:**


```js
const f = function(ds, row, field, value) {
      return !!value;
}
```

<hr/>

### CategoryCallback

Callback format for custom classification during automatic filtering

**Remarks:**

\[Parameter list\]

`column` - Column with automatic filtering applied

`values` - all values

\[Return value\] - Array type of category classification model

**Example:**


```js
const f = function(column, values) {
      const emptyText = 'Empty item'
      if (!values) {
          return null;
      }
      const valids = values.filter(function (el) { return el !=undefined && el != null; });
      const min = Math.min.apply(null, valids);
      const vlen = values.length;
      let unit;
      if (vlen > 15) {
          const groupCount = Math.min(Math.round(vlen / 5)), 10);
          unit = Math.round(vlen / groupCount);
      } else {
          unit = 1;
      }
      let categories = [];
      let gvals = [];
      let gindex = 0;
      let gmin = min;
      let isEmpty = false;
      for (let i = 0; i < vlen; i++) {
          const v = values[i];
          if (v === undefined || v === null) {
              isEmpty = true;
              continue;
          }
          if (i == gindex + unit || i === vlen - 1) {
              categories.push({ text: gmin + ' ~ ' + v, values: gvals });
              gvals = [v];
              gindex = i;
              gmin = v;
          } else {
              gvals.push(v);
          }
      }
      if (isEmpty) {
          categories.push({ text: emptyText, empty: true });
      }
      return categories;
}
```

<hr/>

### CellSpanCallback

Callback to set custom cell spanning

**Remarks:**

Used in [CellLayoutColumnItem](/refs/Interface/CellLayoutColumnItem).

\[Parameter list\] `grid` - GridBase control

`layout` - layout item

`itemIndex` - the index of the row

**Example:**


```js
const f = function (grid, layout, itemIndex) {
     var value = grid.getValue(itemIndex, layout.column.dataIndex);
     if (value) {
         return value[0] === "B" ? 3: value[0] === "F" ? 2:1;
     }
     return 1;
};
```

<hr/>

### CellStyleCallback

Callbacks for dynamic cell style changes

**Remarks:**

When returning [ColumnStyleObject](/refs/Interface/ColumnStyleObject), [GridBase.setCellStyleCallback()](/refs/Class/GridBase#setcellstylecallback){/* */}, [ValueColumn.styleCallback](/refs/Interface/ Used in ValueColumn#stylecallback).

[ColumnSummaryStyleObject](/refs/Interface/ColumnSummaryStyleObject) returns [GridFooter.cellStyleCallback](/refs/Interface/GridFooter#cellstylecallback){/* */}, [HeaderSummary.cellStyleCallback](/refs/Interface/HeaderSummary# cellstylecallback).

Specified as a style name when returning a string

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

\[Return value\] - Object or style class name to apply dynamic style

**Example:**


```js
const f1 = function(grid, model) {
      if (model.value > 5) return "rg-data-cell bold-cell";
      if (model.value < 0 && model.value > -10) {
          return {
              styleName: 'custom-negative-cell',
              renderer: {
                  type: 'bar',
                  absoluteValue: true
              }
          }
      }
}

const f2 = function(grid, model) {
      if (model.value > 10) {
          return {
              styleName: 'custom-summary-cell'
          }
      }
}

// Apply to all data cells
gridView.setCellStyleCallback(f1);

// Apply to each column
let column = gridView.columnByName('Price');
column.styleCallback = f1;

// Apply footer
gridView.footer.cellStyleCallback = f2;

// Apply header summary
gridView.headerSummary.cellStyleCallback = f2;
```

<hr/>

### CheckableCallback

A callback that determines whether a check is possible in [CheckBar](/refs/Interface/CheckBar)

**Remarks:**

\[Parameter list\]

`dataSource` - DataProvider control

`item` - The item to be checked (row item, header item, etc.)

\[Return value\] - Checkable or not

**Example:**


```js
const f = function(dataSource, item) {
      if (item.value) {
          return item.value !== 'doNotCheck';
      }
      else {
          return false;
      }
}
```

<hr/>

### ColumnObjectCallback

A callback used when displaying data whose `dataType`{/* */} is `object`{/* */} on the screen.

**Remarks:**

\[Parameter list\]

`fieldName` - field name

`dataRow` - dataRow

`value` - value

\[Return value\] - Content to display on screen

**Example:**


```js
const callback = function(fieldName, dataRow, value) {
   return JSON.stringify(value);
}

gridView.columnByName("objectColumn").objectCallback = callback;
```

<hr/>

### ColumnSummaryCallback

Callback format used when the user specifies the value displayed in the footer or summary of the column

**Remarks:**

\[Parameter list\]

`grid` - gridView

`column` - Column of footer or summary

`footerIndex` - Order number if there are multiple footers in the column

`summary` - footer or summary object GroupItem object if groupFooter

`value` - the value if expression is specified

\[Return value\] - Content to be displayed on the screen.

<hr/>

### CompareCallback

Value comparison callback format for user-specified conditions when searching

**Remarks:**

\[Parameter list\]

`v1` - the value to be searched for

`v2` - the searched value

`sensitive` - case sensitive

`partialMatch` - Whether to also search for contained characters

\[Return value\] - Whether the value matches

**Example:**


```js
const f = function(v1, v2, sensitive, partialMatch) {
      if (v1 === v2) {
           return true;
      }
      let s1 = String(v1);
      let s2 = v2 == null ? undefined : String(v2);
      if (!s1 && !s2) {
           return true;
      }
      if (!s1 || !s2) {
           return false;
      }
      if (!caseSensitive) {
           s1 = s1.toLowerCase();
           s2 = s2.toLowerCase();
      }
      if (partialMatch) {
      return s2.indexOf(s1) >= 0;
      } else {
      return s1 == s2;
      }
}
```

<hr/>

### CompareFunction

Comparison function format

**Remarks:**

It has the same format as CompareFunction used in Array.prototype.sort().

Used in [DataProviderBase.setDataComparer()](/refs/Class/DataProviderBase#setdatacomparer).

<hr/>

### ConfigObject

<hr/>

### CopyTextCallback

Callback type that returns text saved to the clipboard when copying the grid

**Remarks:**

[CopyOptions.copyTextCallback]Used in (/refs/Interface/CopyOptions#copytextcallback){/* */}.

\[Parameter list\]

`grid` - GridBase control

`itemIndex` - itemIndex of the row being copied

`column` - [DataColumn](/refs/Interface/DataColumn) object

\[Return value\] - When returning `undefined`, the text to be copied to the clipboard, the text is copied according to value or other settings in copyOptions.

**Example:**


```js
const f = function(grid, itemIndex, column, value) {
      if (value != null && column.name === "number1") {
          return value + "";
      }
}
grid.copyOptions.copyTextCallback = f;
```

<hr/>

### CreateFooterCallback

Callback format for specifying whether to display a specific group footer

**Remarks:**

This is the format used in [RowGroup.createFooterCallback](/refs/Interface/RowGroup#createfootercallback).

\[Parameter list\]

`owner` - GridBase control

`group` - group item

`footerIndex` - Index within the footer collection

**Example:**


```js
createFooterCallback: function(owner, group, footerIndex) {
    if (group.level >= 5) { return false }
    if (group.level === 4) {
        let relation2 = owner.getDataSource().getValue(group.firstItem.dataRow, "relation2");
        return relation2 === "relative"
    }
    if (group.level === 3) {
        let relation1 = owner.getDataSource().getValue(group.firstItem.dataRow, "relation1");
        return relation1 === "same person"
    }
    return true;
}
```

<hr/>

### DataDragCallback

Callback format that occurs when starting drag and drop between grids

**Remarks:**

If `false` is returned, drag and drop is canceled. Used in [DataDropOptions.dragCallback](/refs/Interface/DataDropOptions#dragcallback).

\[Parameter list\]

`source` - the GridBase control where the dragged item was located

`sourceItems` - Index of items in the dragged grid

`target` - GridBase control or HTMLElement to drop

`targetItem` - Index of the item in the grid to drop

`targetColumn` - targetColumn in the grid to drop to

\[Return value\] - Whether drag and drop is possible

**Example:**


```js
gridView.dataDropOptions.dragCallback = function (source, sourceItems, target, targetItem) {
     return targetItem % 2 == 0;
}
```

<hr/>

### DataDragLabelCallback

Format of the callback to determine the label text of the item being dragged

**Remarks:**

\[Parameter list\]

`source` - the GridBase control where the dragged item was located

`sourceItems` - Index of items in the dragged grid

`target` - GridBase control or HTMLElement to drop

`targetItem` - Index of the item in the grid to drop

`targetColumn` - targetColumn in the grid to drop to

\[return value\] - the text of the label

**Example:**


```js
gridView.dataDropOptions.labelCallback = function (source, sourceItems, target, targetItem) {
     return sourceItems.length + " rows ";
}
```

<hr/>

### DataDropCallback

Callback format that occurs when dragging and dropping between grids

**Remarks:**

Used in [DataDropOptions.callback](/refs/Interface/DataDropOptions#callback).

\[Parameter list\]

`source` - the GridBase control where the dragged item was located

`sourceItems` - Index of items in the dragged grid

`target` - GridBase control or HTMLElement to drop

`targetItem` - Index of the item in the grid to drop

`targetColumn` - targetColumn in the grid to drop to

**Example:**


```js
gridView.dataDropOptions.callback = function (source, sourceItems, target, targetItem) {
     alert('row from ' + sourceItems + ' to ' + targetItem);
     for (var i = 0; i < sourceItems.length; i++) {
         var r = source.getDataRow(sourceItems[0]);
         var ds = source.getDataSource();
         var row = ds.getJsonRow(r)
         if (targetItem >= target.getItemCount()) {
             ds.addRow(row);
         } else {
             r = target.getDataRow(targetItem);
             target.getDataSource().insertRow(r, row);
         }
     }
}
```

<hr/>

### DataFieldInput

Input format for data fields

**Remarks:**

Used in [setFields](/refs/Class/DataProviderBase#setfields), etc.

**Example:**


```js
// string
ds.setFields('fieldName');

// model
let fields = ds.getFields();
ds.setFields(fields);

//config
ds.setFields({
      fieldName: 'OrderID',
      dataType: 'text',
});
```

<hr/>

### DataFilters

Array and collection objects in filter conditions

**Remarks:**

Used in [LocalDataProvider.setFilters()](/refs/Class/LocalDataProvider#setfilters).

**Example:**


```js
// string
dataProvider.setFilters([
   "value['field1']='Singer'",
   "value['field2']='Woman'"
], "and");

//object
dataProvider.setFilters([
   {criteria: "value['field1']='Singer'"},
   {criteria: "value['field2']='Woman'"}
], "and");
```

<hr/>

### DataValues

Row objects and row arrays

**Remarks:**

It is used in various ways in the method of [LocalDataProvider](/refs/Class/LocalDataProvider){/* */}, [LocalTreeDataProvider](/refs/Class/LocalTreeDataProvider).

[RowObject](/refs/realgrid#rowobject) or [RowValues](/refs/realgrid#rowvalues).

**Example:**


```js
//array
let row = ['value1', 'value2', 'value3']

//object
let row = {field1: 'value1', field2: 'value2', field3: 'value3'}
```

<hr/>

### DatetimeOutputCallback

Callback function format to be performed when converting a datetime field

**Remarks:**

Used in [DataOutputOptions.datetimeCallback](/refs/Interface/DataOutputOptions#datetimecallback).

\[Parameter list\]

`ds` - DataProvider control

`row` - the index of the item

`field` - field name

`value` - the value

\[return value\] - value to output

**Example:**


```js
const f = function(ds, row, field, value) {
      if (value === 'today') {
          return new Date();
      }
      return new Date(value);
}
```

<hr/>

### DisplayCallback

A callback used when the user specifies the data to display on the screen.

**Remarks:**

\[Parameter List\] `grid` - gridView

`index` - CellIndex

`value` - any

\[Return Value\] - Content to be displayed on the screen

**Example:**

```js
var callback = function(grid, index, value) {
return value + "AA";
}
grid.columnByName("column").displayCallback = callback
```

<hr/>

### DropFieldMapCallback

A callback format that returns the rules applied when moving/copying by dragging and dropping between grids.

**Remarks:**

\[Parameter list\]

`source` - the GridBase control where the dragged item was located

`sourceItems` - Index of items in the dragged grid

`target` - GridBase control to drop

`targetItem` - Index of the item in the grid to drop`targetColumn` - targetColumn in the grid to drop to

\[Return Value\] - [FieldMap](/refs/Interface/FieldMap) object

**Example:**


```js
gridView.dataDropOptions.fieldMapCallback = function (source, sourceItems, target, targetItem) {
     if (targetItem % 2 == 0) {
         return {
             Country: "Country",
             CompanyName: "ShipAddress",
             EmployeeID: "ShipPostalCode"
         }
     }
}
```

<hr/>

### EditMask

The editor's display format that can be applied to text or date fields.

**Remarks:**

When applying [ValueColumn.editor](/refs/Interface/ValueColumn#editor), it is used in the editor's [mask](/refs/Interface/TextCellEditor#mask) property.

For numeric fields, use [NumberCellEditor.editFormat](/refs/Interface/NumberCellEditor#editformat).

The format applied to Marks is displayed only in the editor.

[dropDown](/refs/Interface/DropDownCellEditor){/* */}, [multiLine](/refs/Interface/MultiLineCellEditor){/* */}, [multiCheck](/refs/Interface/MultiCheckCellEditor){/* */}, does not work in [number Editor](/refs/Interface/NumberCellEditor).

**Example:**


```js
// string
column.editor = {
      type: 'line',
      mask: '9999-99-99'
}

//object
column.editor = {
      type: 'line',
      mask: {
          editMask: '9999-99-99',
          placeHolder: 'input...'
      }
}
```

<hr/>

### EventHandlers

<hr/>

### ExpanderVisibleCallback

A callback that returns whether the group expander is visible.

**Remarks:**

This is the format used in [RowGroup.expanderVisibleCallback](/refs/Interface/RowGroup#expandervisiblecallback).

\[Parameter list\] `grid` - GridBase control

`group` - group item

**Example:**


```js
gridView.rowGroup.expanderVisibleCallback = function(grid, group) {
      // Only 2-level groups display the expander.
      return group.level === 2;
}
```

<hr/>

### ExportSimpleCallback

Format of the callback to be performed when completing the export to set [done](/refs/Interface/ExportBaseOptions#done)

**Remarks:**

\[Parameter list\]

`data` - Sent when the target is `stream`{/* */}.

<hr/>

### ExportValueCallback

Format for specifying callbacks to be performed when outputting each field in [Grid Export Settings](/refs/Interface/ExportBaseOptions){/* */}

**Remarks:**

\[Parameter list\]

`index` - index

`name` - Column name or field name

`value` - the entered value

`grid` - the grid or data provider being exported

`cellIndex` - Location information of the data cell, passed only when the grid is exporting.

\[return value\] - value to be exported

<hr/>

### FieldValueCallback

If it is a calculated field, the type of callback to be calculated by specifying a formula

**Remarks:**

Used in [DataField.valueCallback](/refs/Interface/DataField#valuecallback) or [DataFieldObject.valueCallback](/refs/Interface/DataFieldObject#valuecallback).

Finally, simply return the value you want to output.

\[Parameter list\]

`ds` - DataProvider control

`rowId` - Row unique number

`fieldName` - Field name

`fields` - array of field names

`values` - array of values

\[return value\] - value to output

**Example:**


```js
function (ds, rowID, fieldName, fields, values) {
     let quantity = values[fields.indexOf("Quantity")];
     let unitprice = values[fields.indexOf("UnitPrice")];
     if (isNaN(quantity) || isNaN(unitprice))
         return undefined;
     else
         return quantity >= 1000 ? Math.round(quantity * unitprice * 0.95) : quantity * unitprice;
}
```

<hr/>

### FilterCallback

filter callback

**Remarks:**

If the return value is `undefined`{/* */}, [ColumnFilter.criteria](/refs/Interface/ColumnFilter#criteria){/* */} is applied.

Used in [ColumnFilter.callback](/refs/Interface/ColumnFilter#callback) or [FilterAutomatingOptions.selectCallback](/refs/Interface/FilterAutomatingOptions#selectcallback).

\[Parameter list\]

`ds` - Provider control

`dataRow` - the index of the row

`level` - level

`field` - field name

`filter` - [ColumnFilter](/refs/Interface/ColumnFilter) object

`value` - the value

\[Return value\] - Whether to decide on filtering

**Example:**


```js
const f = function(ds, dataRow, level, field, filter, value) {
      let res = isMatched(value, filter.criteria);
      return res;
}
```

<hr/>

### FilterPanelCallback

This is a callback called when you enter text in the input window of [FilterPanel](/refs/Interface/FilterPanel){/* */} and then type `enter`{/* */} or after filterDelay.

**Remarks:**

If `true`{/* */} is returned, grid filtering is not performed. When operator and text are returned, filtering is performed using the entered operator and text.

\[Parameter list\]

grid - GridBase control

column - the column object of the input window

operator - [InlineFilterOperator](/refs/realgrid#inlinefilteroperator)

text - entered text

**Example:**


```js
grid.filterPanel.filterPanleCallback = function(grid, column, operator, text) {
  if (column.fieldName === "notRun") {
      return true; // Fields that are notRun are not filtered.
  } else if (column.fieldName = "userFilter") {
      return {
          operator: InlineFilterOperator.STARTS_WITH,
          text: text.substr(0,2) // Filter only the first 2 characters of the entered characters.
      }
  }
}
```

<hr/>

### GetAriaLabelCallback

Callback format used in [CellRenderer.ariaLabelCallback](/refs/Interface/CellRenderer#arialabelcallback)

**Remarks:**

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

\[Return Value\] - String to be read by the screen reader.

**Example:**


```js
const f = function(grid, model) {
      var s = model.value;
      var date = grid.getValue(model.item.index, "date")
      s += (date.getTime() > Date.now() - 60*60*24*7*1000) ? " new" : "";
      return s;
}

column.renderer = {
      type: 'text',
      ariaLabelCallback: f
}
```

<hr/>

### GetCellTitleCallback

A callback format for setting the alt text of an image when rendering an image or setting the title text of an HTML Anchor Element when rendering a link cell.

**Remarks:**

Used in [ImageCellRenderer.titleCallback](/refs/Interface/ImageCellRenderer#titlecallback) or [LinkCellRenderer.titleCallback](/refs/Interface/LinkCellRenderer#titlecallback).

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

\[return value\] - alt text or title text

**Example:**


```js
const f = function(grid, model) {
      return 'catimage'
}
```

<hr/>

### GetCheckedCallback

Callback type that determines the check value when rendering

**Remarks:**

Used in [CheckCellRenderer.getCheckedCallback](/refs/Interface/CheckCellRenderer#getcheckedcallback).

\[Parameter list\]

`grid` - GridBase control

`itemIndex` - Order of items

`column` - a column object

`value` - the value

\[Return value\] - Checked or not

**Example:**


```js
const f = function(grid, itemIndex, column, value) {
      if (typeof value === "number") {
          return value % 2 === 1;
      }
      else if (typeof value ==="boolean") {
          return value;
      }
      else {
          return Boolean(v);
      }
}
```

<hr/>

### GetClassCallback

Add class to a tag of linkRenderer

**Remarks:**

Used when adding a class to the a tag of [LinkCellRenderer](/refs/Interface/LinkCellRenderer){/* */}.

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

\[return value\] - string

**Example:**


```js
const callback = function (grid, model) {
   let cls = "";
   model.value.indexOf("New post") > 0 && (cls += " new");
   model.value.indexOf("Secret post") > 0 && (cls += " lock");
   // When adding a new post/secret post icon to the link in background format
}

```

<hr/>

### GetImageCallback

A callback format that specifies the path to the image for rendering.

**Remarks:**

Used in [ImageCellRenderer.imageCallback](/refs/Interface/ImageCellRenderer#imagecallback) or [IconCellRenderer.iconCallback](/refs/Interface/IconCellRenderer#iconcallback).

\[Property List\]

`grid` - GridBase control

`model` - a cell in the grid

\[return value\] - image path

**Example:**


```js
const f = function(grid, model) {
      const base = '/images/';
      if (jpgSet.indexOf(model.value)){
          return base + model.value + '.jpg';
      }
      else base + 'default.jpg';
}
```

<hr/>

### GetLinkUrlCallback

Callback format used in [LinkCellRenderer.urlCallback](/refs/Interface/LinkCellRenderer#urlcallback)

**Remarks:**

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

\[Return value\] - Url address

**Example:**


```js
...
      "renderer" : {
          "type": "link",
          "urlCallback": function (grid, cell) {
              return "http://realgrid.com";
          },
      }
...
```

<hr/>

### GetShapeCallback

Callback format used in [ShapeCellRenderer.shapeCallback](/refs/Interface/ShapeCellRenderer#shapecallback) to specify the type of shape in the shape renderer.

**Remarks:**

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

\[Return value\] - Shape type, [PolygonShape](/refs/realgrid#polygonshape) or 'ellipse'.

**Example:**


```js
const f = function(grid, model) {
      if (model.value) {
          return 'ellipse';
      }
      else {
          return 'minus';
      }
}
```

<hr/>

### GetTemplateCallback

Callback format used in [TemplateCellRenderer.callback](/refs/Interface/TemplateCellRenderer#callback)

**Remarks:**

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

`width` - width of the cell

`height` - height of the cell

\[Return value\] - template format of string type

**Example:**


```js
const f = function (grid, model, width, height) {
     return "<img src='images/realgrid-logo.png' height='" + height / 2 + "'></img>" + "<div>" + model.value + "</div>";
}

column.renderer = {
     type: "html",
     callback: f
}
```

<hr/>

### GroupFooterCellSpanCallback

Callback to set custom groupFooter spanning

**Remarks:**

Used in [CellLayoutColumnItem](/refs/Interface/CellLayoutColumnItem).

\[Parameter list\] `grid` - GridBase control

`layout` - layout item

`itemIndex` - the index of the row

`footerIndex` - index of groupFooter

<hr/>

### GroupFooterStyleCallback

Callback to style the grid group footer row

**Remarks:**

This is the format used in [RowGroupFooter.styleCallback](/refs/Interface/RowGroupFooter#stylecallback){/* */}.

\[Parameter list\] `grid` - GridBase control

`itemIndex` - the itemIndex of the footer

`footerIndex` - The index of the footer if there are multiple footers in the group.

**Example:**


```js
var f = function(grid, itemIndex, footerIndex) {
     var dataRow = grid.getGroupModel(itemIndex, true).firstDataItem.dataRow;
     var value = grid.getDataSource().getValue(dataRow, "area2name");
     return value && value.indexOf("Gun") >= 0 ? `style-1-${footerIndex}` : undefined;
};

gridView.rowGroup.setFooters([{styleCallback: f},{styleCallback: f}]);
```

<hr/>

### GroupFooterUserSpanCallback

Callback to set custom groupFooterUser span

**Remarks:**

Used in [CellLayoutColumnItem](/refs/Interface/CellLayoutColumnItem).

\[Parameter list\] `grid` - GridBase control

`layout` - layout item

`model` - GroupModel

`itemIndex` - the index of the row

`footerIndex` - index of groupFooter

<hr/>

### HeaderCallback

Callback that returns the text displayed in the row group header

**Remarks:**

This is the format used in [RowGroup.headerCallback](/refs/Interface/RowGroup#headercallback). [RowGroup.headerStatement](/refs/Interface/RowGroup#headerstatement){/* */} is ignored if present.

\[Parameter list\] `grid` - GridBase control

`group` - group item

**Example:**


```js
gridView.rowGroup.headerStatement = undefined;
gridView.rowGroup.headerCallback = function(grid, group) {
      var ds = grid.getDataSource()
      if (group.level === 1) {
          return ds.getOrgFieldName(group.groupField) + " - " + group.firstDataItem.getData(group.groupField) + " - " + group.descendantCount + " rows"
      } else if (group.level === 2) {
          var sum = group.getSum("number");
          return isNaN(sum) ? "no sum" : ("sum => "+ sum.toString());
      } else {
          return "GroupLevel => "+group.level.toString()
      }
}
```

<hr/>

### Holidays

Setup model for specifying public holidays

**Remarks:**

It is used when specifying using [GridBase.setEditorOptions()](/refs/Class/GridBase#seteditoroptions) or directly specifying in [grid.editorOptions.holidays](/refs/Interface/EditorOptions#holidays).

It is also used in [DateCellEditor](/refs/Interface/DateCellEditor).

**Example:**


```js
holidays: [
      {
          type: "date",
          dates : ["2020-01-24","2020-01-25","2020-01-26","2020-01-27"],
          styleName: "seollal",
          tooltips : ["Seollal 1","Seollal 2","Seollal 3","Seollal 4"]
      },
   ...
]
```

<hr/>

### LayoutInfo

The information model of the layout returned by [GridBase.saveColumnLayout()](/refs/Class/GridBase#savecolumnlayout)

**Example:**


```js
// array of LayoutInfo
[
      {column: "OrderID", visible: true, width: 80},
      {column: "CustomerID", visible: true, width: 90},
      {
          name: "companyGroup"
          items: [
              {
                  name: "countryGroup"
                  items: [
                      {column: "Country", visible: true, width: 100},
                      {column: "Phone", visible: true, width: 100}
                  ]
                  visible: true;
                  direction: "horizontal",
                  width: 250,
                  header: {visible: true, text: "Country Group"}
              },
              {column: "CompanyName", visible: true, width: 100}
          ]
          visible: true;
          direction: "vertical",
          width: 250,
          header: {visible: true, text: "Company Group"}
      },
      {column: "EmployeeID", visible: true, width: 90}
]
```

<hr/>

### LayoutItem

A type of layout item model that allows you to create columns of the desired type.

**Remarks:**

Used in [GridBase.setColumnLayout()](/refs/Class/GridBase#setcolumnlayout).

\[Concept Description\]

span is a similar concept to [html table's colspan](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td#attr-colspan).

The area is divided by the number of spans and the number of columns, and the area is divided by the sum of `width`{/* */} and the following numbers.

It spans in layout units. In other words, if the next layout is a group, it spans the entire group.

You cannot span outside the group.

Groups cannot span.

Proceeds from left to right, top to bottom.

Span from the top layout first (top-down).

If the group spans the following layouts, newly added cells are distributed to child layouts.

(Distribution method: Distribute starting from the last layout according to the ratio of the number of cells in the lower layout.)

When rows are merged, there must be no row misalignment with the next layouts to be spanned.

fixed, rightFixed cannot cross the boundary.

**Example:**


```js
[
        {
            name: "companyGroup",
            items: [
                {
                    column: "Country",
                    cellSpan: 3
                },
                20,20,
                {
                    column: "CompanyName",
                    cellSpan: 3
                },
                20,20,
            ],
            header: true
        },
        ...
    ];
```

<hr/>

### ListCallback

Used to retrieve items that change according to callback conditions used when creating a list of [DropDownCellEditor](/refs/Interface/DropDownCellEditor){/* */}.

**Remarks:**

In order for [DataColumn.lookupDisplay](/refs/Interface/DataColumn#lookupdisplay){/* */} to be applied, [DataColumn.labelField](/refs/Interface/DataColumn#labelfield){/* */} must be used. .

If `undefined`{/* */} is returned while [lookupSource](/refs/Interface/DataColumn#lookupsourceid){/* */} is connected to the column, the data in the lookupSource is displayed.

\[Parameter List\]

`grid` - gridView

`index` - CellIndex

<hr/>

### ListResult

return type of [ListCallback](/refs/realgrid#listcallback) or [GridBase.onSearchCellButtonClick](/refs/Class/GridBase#onsearchcellbuttonclick)

**Remarks:**

When creating a list using ListCallback in IE11, you must add a Promise polyfill.

<hr/>

### ListTemplateCallback

A callback used when the user writes an item displayed in the list in [DropDownCellEditor](/refs/Interface/DropDownCellEditor) or [SearchCellEditor](/refs/Interface/SearchCellEditor){/* */}

**Remarks:**

\[Parameter list\]

`grid` - gridView

`index` - CellIndex

`dom` - div element

`value` - value

`label` - label

`item` - Information entered in [DropDownCellEditor.listCallback](/refs/Interface/DropDownCellEditor#listcallback) or [GridBase.fillEditSearchItems()](/refs/Class/GridBase#filleditsearchitems){/* */}

**Example:**


```js
const columns = [
 {
     fieldName: "text",
     name: "text",
     editor: {
         type: "list",
         templateCallback: (grid, index, dom, value, label, item) => {
             dom.innerHTML = '<img src="images/flags/'+item.flag+'.png" style="width:20px" class="dropdown-image"></img>'+
             '<span> value = '+value+'></span>'+
             '<span style="color:red"> label = '+label+'</span>'+
             '<span style="background:lawngreen"> Country: '+item.name
         }
     }
 }
]
```

<hr/>

### LookupData

Model information to populate [LookupSource](/refs/Interface/LookupSource)

**Remarks:**

Used as a parameter when [fillLookupData()](/refs/Class/GridBase#filllookupdata).

**Example:**


```js
// When using the rows property
gridView.fillLookupData("empLookup", {
      rows: [
          ["TOMSP", "5", "TOMSP_5X"],
          ["TOMSP", "6", "TOMSP_6X"]
      ]});

// When using key-value properties
gridView.fillLookupData("empLookup", {
      keys: [
          ["TOMSP", "5", "TOMSP_5X"],
          ["TOMSP", "6", "TOMSP_6X"]
      ],
      values: [
          ["TOMSP_5X"],
          ["TOMSP_6X"]
      ]});
```

<hr/>

### MemoCallback

Format for specifying a callback to be executed when printing memos by cell in [Export Excel Note](/refs/Interface/ExportMemo){/* */}

**Remarks:**

\[Parameter List\]

`grid` - The grid being exported

`itemIndex` - Index

`dataRow` - the dataRow of the row

`column` - Column name

`cellMemo` - Memo information model for the cell

\[Return Value\] - [CellMemo](/refs/Interface/CellMemo) \| string \| undefined \| false

**Example:**

```js
gridView.exportGrid({
    type:"excel",
    target:"local",
    exportMemo : {
        validation: true,
        callback: (grid, index, column, cellMemo) => {
            if (column == "LiteralCol") {
                cellMemo.author = 'Literal column author';
                cellMemo.message = 'This is a literal column area.';
                return cellMemo;
            }
            if (column === 'SaveCost') {
                return "Message";
            }

            return false;
        }
    }
});
```

<hr/>

### MenuItemClick

Callback called when a menu item is clicked

**Remarks:**

[GridBase.onMenuItemClicked](/refs/Class/GridBase#onmenuitemclicked) and [GridBase.onContextMenuItemClicked](/refs/Class/GridBase#oncontextmenuitemclicked){/* */}, [PopupMenuItem.callback](/refs/Interface/PopupMenuItem).

\[Parameter list\]

grid - GridBase control

menuItem - MenuItem object

clickData - Information about the clicked item

**Example:**


```js
grid.addPopupMenu("menu1", [
         {
              label: "alpha",
              callback: function(grid, menuItem, clickData) {
                  console.log("aa")
                  console.log(menuItem);
                  console.log(clickData);
              }
         },
         {label: "beta"},
         {label: "gamma"}
]);
```

<hr/>

### MergeCallback

Callback format used in [DataColumn.mergeCallback](/refs/Interface/DataColumn#mergecallback){/* */}

**Remarks:**

The displayed value is changed using [DataColumn.displayCallback](/refs/Interface/DataColumn#displaycallback){/* */}. If `data`{/* */} changes, the grid regenerates the merge information. However, if the merge information needs to be updated based on an external value, it is updated using [GridView.populateMerges()](/refs/Class/GridView#populatemerges){/* */}.

\[Parameter List\]

`grid` - GridView

`column` - DataColumn

`itemIndex` - itemIndex

`value` - value

\[Return Value\] - A value used to determine if the cell is the same as the previous cell.

**Example:**

```js
const column = gridView.columnByName("column");
column.mergeCallback = (grid, column, itemIndex, value) => {
    if (!grid.isCheckedItem(itemIndex)) {
        return value;
    }
}
    column.breakMergeOnEmpty = true;
grid.onItemChecked = (grid, itemIndex, checked) => {
    grid.populateMerges();
}

```

<hr/>

### MultiCheckDisabledCallback

Callback format that determines whether an item is disabled when rendering

**Remarks:**

Used in [MultiCheckCellRenderer.disabledCallback](/refs/Interface/MultiCheckCellRenderer#disabledcallback).

\[Parameter list\]

`grid` - GridBase control

`itemIndex` - Order of items

`column` - a column object

`value` - value

\[Return value\] - Disabled or not

**Example:**


```js
const f = function(grid, itemIndex, column, value) {
 const state = grid.getValue(itemIndex, "stateColumn");
 if (state === "A" && value === "Apple") {
 return true; // If the state is "A" and the value is "Apple", it cannot be selected.
 }
}

column.renderer = {
 type: "multicheck",
 disabledCallback: f
}

```


<hr/>

### NumberOutputCallback

Callback function format to be performed when converting the number field

**Remarks:**

Used in [DataOutputOptions.numberCallback](/refs/Interface/DataOutputOptions#numbercallback).

\[Parameter list\]

`ds` - DataProvider control

`row` - the index of the item

`field` - field name

`value` - the value

\[return value\] - value to output

**Example:**


```js
const f = function(ds, row, field, value) {
      let v = Number(value);
      return v === NaN ? 42:v;
}
```

<hr/>

### MultiCheckKeydownCallback

Callback type that determines the value to select or release on keydown in MultiCheckCellRenderer

**Remarks:**

Used in [MultiCheckCellRenderer.keyToValueCallback](/refs/Interface/MultiCheckCellRenderer#keytovaluecallback).

\[Parameter list\]

`grid` - GridBase control

`itemIndex` - Order of items

`column` - a column object

`event` - KeyboardEvent object

`values` - values

\[return value\] - value to select

**Example:**


```js
const f = (grid, itemIndex, column, event, values) => {
 if (event.ctrlKey && event.shiftKey) {
    const idx = event.keyCode - 49; // When the shift key is pressed, the key is a special character
    if (idx >= 0 && idx < values.length) {
        return values[idx];
    }
 }
}

column.renderer = {
    type: "multicheck",
    keyToValueCallback: f
}

```

<hr/>

### ObjectToValuesCallback

A callback called for each row when data in json format is entered into the data provider.

**Remarks:**

Used when the type of data delivered from the server is different from the fieldName set as fields or when the value is arbitrarily changed.

**Example:**


```js
dataProvider.valuesCallback = function (ds, obj) {
     let row = [];
     if (obj) {
         for (let i = 0, cnt = this.fieldCount; i < cnt; i++) {
             let fld = this.getOrgFieldName(i);
             let fName = Object.keys(obj).find(function(key) {return key.toLowerCase() === fld.toLowerCase()})
             if (obj.hasOwnProperty(fName)) {
                 row[i] = obj[fName];
             }
         }
     }
     return row;
}
```

<hr/>

### OuterSortCallback

Callback format specified by the user when performing sorting

**Remarks:**

To use it in IE11, you must add a Promise polyfill.

<hr/>

### ProgressCallback

A format for specifying a callback to be performed when showProgress is true in [Grid Export Settings](/refs/Interface/ExportBaseOptions){/* */}

**Remarks:**

\[Parameter list\] `grid` - If a grid or zip file is currently being exported, null is passed.

`work` - If the Grid is called while creating Excel, `process`{/* */} is passed, and if it is called while creating a zip file, `zip`{/* */} is passed. Called if jsZIP supports generateAsync.

`max` - maxPosition

`position` - Current position

<hr/>

### RealizeHeaderCallback

Callback format used in [ColumnHeader.templateCallback](/refs/Interface/ColumnHeader#templatecallback) or [CellLayoutGroupHeader.templateCallback](/refs/Interface/CellLayoutGroupHeader#templatecallback){/* */}

**Remarks:**

Used to retrieve values that are not specified in [values](/refs/Interface/ColumnObject#values){/* */} among the fields entered in the template of the column header.

\[Parameter list\]

`grid` - GridBase control

`header` - Column header or group layout header

`field` - field name

\[return value\] - string

**Example:**


```js
const f = function (grid, model, field) {
      if (field == "field1") {
          return "1234";
      } else if (field === "field2") {
          return "ABCD";
      } else {
          return "field Fail";
      }
}

column.header.template =
                "<img src='images/realgrid-logo.png' height='20'/>"+
                "<span style='color: red;font-weight: bold;'>${field1}</span>"+
                "<span style='color: blue'>${field2}</span>";
column.header.templateCallback = f;
```

<hr/>

### RealizeSummaryCallback

Callback format used in [ColumnSummary.templateCallback](/refs/Interface/ColumnSummary#templatecallback){/* */}

**Remarks:**

[ColumnFooter](/refs/Interface/ColumnFooter){/* */}, [HeaderSummary](/refs/Interface/HeaderSummary){/* */}, Used to retrieve values that are not specified in [values](/refs/Interface/ColumnObject#values){/* */} among the fields entered in the template of [GroupFooter](/refs/Interface/GridColumn#groupfooter)  {/* */}.

\[Parameter list\]

`grid` - GridBase control

`column` - column of the footer

`summaryIndex` - sequence number of the footer

`summary` - [GroupItem](/refs/Interface/GroupItem) for a `footer`{/* */} object or `groupFooter`{/* */}

`field` - field name

\[return value\] - string

**Example:**


```js
const f = function (grid, column, summaryIndex, summary, field) {
      if (field == "field1") {
          return "1234";
      } else if (field === "field2") {
          return "ABCD";
      } else {
          return "field Fail";
      }
}

column.footer.template =
                "<img src='images/realgrid-logo.png' height='20'/>"+
                "<span style='color: red;font-weight: bold;'>${field1}</span>"+
                "<span style='color: blue'>${field2}</span>";
column.footer.templateCallback = f;
```

<hr/>

### RealizeValueCallback

Callback format used in [TemplateCellRenderer.valueCallback](/refs/Interface/TemplateCellRenderer#valuecallback)

**Remarks:**

\[Parameter list\]

`grid` - GridBase control

`model` - a cell in the grid

`field` - field name

\[Return value\] - template format of string type

**Example:**


```js
const f = function (grid, model, field) {
      if (field == "xxx") {
          return "1234";
      }
}

column.renderer = {
      type: "html",
      template: "<img src='images/realgrid-logo.png' height='20'/>"+
                "<span>${value}-${value:unitprice}-</span>"+
                "<span style='color: red;font-weight: bold;'>${xxx}</span>"+
                "<span style='color: blue'>${value:Country}</span>",
      valueCallback: f
}
```

<hr/>

### RowBarCellStyleCallback
Callback to specify cell style in RowBar area

**Remarks:**

This is the format used in [CheckBar.cellStyleCallback](/refs/Interface/CheckBar#cellstylecallback){/* */}.

\[Parameter list\] `grid` - GridBase control

`type` - One of `check`{/* */}, `indicator`{/* */}, `state` among [GridCellType](/refs/realgrid#gridcelltype)

`index` - the itemIndex of the cell

**Example:**


```js
var f = function(grid, type, index) {
  if (grid.getValue(index, "field") === "TEST") {
    return 'style-test';
  }
}
```

<hr/>

### RowBlockCallback

Callback to set the row block mask

**Remarks:**

Used in [DisplayOptions.rowBlockCallback](/refs/Interface/DisplayOptions#rowblockcallback). If [DisplayOptions.rowBlockType](/refs/Interface/DisplayOptions#rowblocktype) is [RowMaskType.NONE](/refs/realgrid#rowmasktype), it is not reflected.

\[Parameter list\]

`grid` - GridBase control

`itemIndex` - Index of the selected row

\[Return value\] - Range of rows to apply Row Block Mask to, `start`{/* */}: starting row, `end`{/* */}: ending row

**Example:**


```js
const f = function(grid, itemIndex) {
     let billNo;
     let ds = grid.getDataSource();
     let fld = ds.getFieldIndex("text1");
     let dataRow = grid.getDataRow(itemIndex);
     if (dataRow >= 0) {
         billNo = ds.getValue(dataRow, fld);
     } else {
         billNo = null;
     }

     let top = Math.min(grid.getTopItem(), itemIndex);
     let full = top + grid.fullItemCount();
     let startNo = top + full;
     let endNo = -1;
     let check1 = false;

     for (let i = top; i <= full; i++) {
         dataRow = grid.getDataRow(i);
         if (dataRow < 0) {
             continue;
         }

         let cBillNo = ds.getValue(dataRow, fld);

         if (cBillNo === billNo) {
             startNo = Math.min(startNo, i), endNo = Math.max(endNo, i);
             check1 = true;
         } else {
             if (check1) {
                 break;
             }
         }
     };

     if (startNo <= endNo && endNo > 0) {
         console.log(startNo)
         console.log(endNo);
         return { start: startNo, end: endNo };
     }
}
```

<hr/>

### RowHeightCallback

Callback format that returns the height of the row

**Remarks:**

Specify the row height in the form of number or number\[\].

\[Parameter list\]

`grid` - GridBase control

`type` - [type] of row(/refs/realgrid#itemtype)

`itemIndex` - itemIndex of the row

\[Return value\] - Row height, in case of a multi-line row, it is specified when returned as an array.

<hr/>

### RowObject

row object

**Remarks:**

One of the formats of [DataValues](/refs/realgrid#datavalues)

<hr/>

### RowStyleCallback

Callback for changing row style

**Remarks:**

Should return the style class name.

Used in [GridBase.setRowStyleCallback()](/refs/Class/GridBase#setrowstylecallback).

\[Parameter list\]

`grid` - GridBase control

`item` - row item

`fixed` - Is the line fixed?

\[Return Value\] - Style class name or [RowStyleObject](/refs/Interface/RowStyleObject) object

**Example:**


```js
const f = function(grid, item, fixed) {
      if (fixed) {
          return 'custom-fixed-row';
      }
      else if (item.isDataRow) {
          var val =
          return 'custom-data-row';
      }
}
gridView.setRowStyleCallback(f)
```

<hr/>

### RowValues

row data

**Remarks:**

One of the formats of [DataValues](/refs/realgrid#datavalues)

<hr/>

### ScrollMessageCallback

A callback type that returns a message displayed on the screen indicating the scroll position when livescroll is not applied.

**Remarks:**

Used in [DisplayOptions.scrollMessageCallback](/refs/Interface/DisplayOptions#scrollmessagecallback).

\[Parameter list\]

`grid` - GridBase control

`isVertical` - Whether to scroll vertically

`itemIndex` - Index of the item at the scroll position

\[Return Value\] - The text of the message displayed on the screen.

**Example:**


```js
const f = function(grid, vertical, itemIndex) {
     let msg = grid.getValue(itemIndex, "area3name");
     return "<span style='color:blue;font-size:20px'>itemIndex = " + msg+"</span>";
}
```

<hr/>

### SetCheckedCallback

Callback format that determines the check result value when editing

**Remarks:**

Used in [CheckCellRenderer.setCheckedCallback](/refs/Interface/CheckCellRenderer#setcheckedcallback).

\[Parameter list\]

`grid` - GridBase control

`itemIndex` - Order of items

`column` - a column object

`oldValue` - value before editing

`checked` - Checked status before editing

\[Return value\] - Check result value

**Example:**


```js
const f = function(grid, itemIndex, column, oldValue, checked) {
      if (itemIndex % 2 === 0) {
          return checked;
      }
      else if (itemIndex % 17 === 0) {
          return oldValue
      }
      else {
          return false;
      }
}
```

<hr/>

### SummaryCellSpanCallback

Callback to set custom headerSummary and footer spanning

**Remarks:**

Used in [CellLayoutColumnItem](/refs/Interface/CellLayoutColumnItem).

\[Parameter list\] `grid` - GridBase control

`layout` - layout item

`footerIndex` - the index of the footer

<hr/>

### TreeIconCallback

A callback that specifies the icon displayed next to the tree expander.

\[Parameter list\]

`TreeView` - tree view object

`itemIndex` - the index of the row

`dataRow` - the dataRow of the row

`iconIndex` - the value of the original iconIndex

\[Return value\] - The `url` of the icon or the sequence number of [TreeOptions.iconImages](/refs/Interface/TreeOptions#iconimages){/* */}

<hr/>

### TreeTemplateEventCallback

Callback format used in [TreeTemplateEvent.renderCallback](/refs/Interface/TreeTemplateEvent#rendercallback){/* */}

**Remarks:**

Called when the TreeRenderer is updated.

\[Parameter List\]

`grid` - GridBase control

`model` - cell information of the tree

`element` - HTMLElement

`initialize` - `true`{/* */} if called immediately after the element is created, and `false`{/* */} if called when the screen is updated.

**Example:**


```js
treeView.treeOptions.templateOptions = {
    template: `<span class='custom-class'></span>`,
    events: [
        selector: 'span.custom-class',
        renderCallback(tree, model, element, initialize) {
            element.dataset["datarow"] = model.index.dataRow;
            element.innerHTML = model.value;
        }
    ]
}
```

<hr/>

### UserCellsCallback

If there is a callback [GridExportOptions.userCells](/refs/Interface/GridExportOptions#usercells){/* */} that is used when the user adds output cells, it is not performed.

**Remarks:**

\[Parameter list\] `grid` - grid currently being exported

`rowCount` - Number of rows in sheet

`colCount` - Number of columns in the sheet

`name` - the name of the sheet

\[Return Value\] - Array of [UserExportCell](/refs/Interface/UserExportCell){/* */}

**Example:**


```js
var callback = function(grid, rowCount, colCount, sheetName) {
  return [{row:3, col: colCount -3, mergeCol: 3, text:"Show at the end of column", styles:{textAlign:"right"}}]
}
gridView.exportGrid({"type":"excel", "target":"local", "yOffset":4, userCellsCallback: callback});
```

<hr/>

### ValueForGroupCallback

Although it is not the same value, it is used when the developer specifies a standard value when grouping it into one group. It must be returned with the same dataType as the dataType of the field.

**Remarks:**

This is the format used in [RowGroup.valueForGroupCallback](/refs/Interface/RowGroup#valueforgroupcallback){/* */}. \[Parameter list\]

`grid` - GridBase control

`dataRow` - dataRow

`fieldName` - fieldName

`value` - value

**Example:**


```js
valueForGroupCallback = function(grid, dataRow, fieldName, value) {
if (value && fieldName === 'date1') {// Applies only to specific fields.
// Group data in date format using year and month.
return new Date(value.getFullYear(), value.getMonth());
};
      // If it has not changed, the original value must be reutrn.
return value;
}
```