com.smartgwt.client.widgets.grid

## Class ListGrid

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.Canvas
        - - com.smartgwt.client.widgets.layout.Layout
          - - com.smartgwt.client.widgets.layout.VLayout
            - - com.smartgwt.client.widgets.grid.ListGrid

- All Implemented Interfaces:
    HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, DataBoundComponent, HasClickHandlers, HasDoubleClickHandlers, HasDragCompleteHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropCompleteHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFetchDataHandlers, HasFocusChangedHandlers, HasFormulaUpdatedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasBodyKeyPressHandlers, HasCellClickHandlers, HasCellContextClickHandlers, HasCellDoubleClickHandlers, HasCellHoverHandlers, HasCellMouseDownHandlers, HasCellMouseUpHandlers, HasCellOutHandlers, HasCellOverHandlers, HasCellSavedHandlers, HasCellSelectionChangedHandlers, HasCellValueHoverHandlers, HasDataArrivedHandlers, HasDrawAreaChangedHandlers, HasEditCompleteHandlers, HasEditFailedHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFieldStateChangedHandlers, HasFilterEditorSubmitHandlers, HasGroupByCompleteHandlers, HasGroupByHandlers, HasGroupStateChangedHandlers, HasHeaderClickHandlers, HasHeaderDoubleClickHandlers, HasHeaderHoverHandlers, HasHilitesChangedHandlers, HasRecordClickHandlers, HasRecordCollapseHandlers, HasRecordDoubleClickHandlers, HasRecordDropHandlers, HasRecordExpandHandlers, HasRemoveRecordClickHandlers, HasRowContextClickHandlers, HasRowEditorEnterHandlers, HasRowEditorExitHandlers, HasRowHoverHandlers, HasRowMouseDownHandlers, HasRowMouseUpHandlers, HasRowOutHandlers, HasRowOverHandlers, HasSelectionChangedHandlers, HasSelectionUpdatedHandlers, HasSortChangedHandlers, HasSorterClickHandlers, HasSorterContextClickHandlers, HasViewStateChangedHandlers, HasMembersChangedHandlers
  Direct Known Subclasses:
    CalendarView, CubeGrid, DateGrid, ListPalette, Menu, RecordEditor, TableView, TreeGrid

      public class ListGrid
      extends VLayout
      implements DataBoundComponent, HasCellSavedHandlers, HasCellClickHandlers, HasCellContextClickHandlers, HasCellDoubleClickHandlers, HasCellHoverHandlers, HasCellMouseDownHandlers, HasCellMouseUpHandlers, HasCellOutHandlers, HasCellOverHandlers, HasCellSelectionChangedHandlers, HasCellValueHoverHandlers, HasDataArrivedHandlers, HasDrawAreaChangedHandlers, HasEditCompleteHandlers, HasEditFailedHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFieldStateChangedHandlers, HasFilterEditorSubmitHandlers, HasFormulaUpdatedHandlers, HasGroupByCompleteHandlers, HasGroupStateChangedHandlers, HasGroupByHandlers, HasHeaderDoubleClickHandlers, HasHeaderHoverHandlers, HasHilitesChangedHandlers, HasBodyKeyPressHandlers, HasRecordCollapseHandlers, HasRecordExpandHandlers, HasHeaderClickHandlers, HasRecordClickHandlers, HasRecordDropHandlers, HasRemoveRecordClickHandlers, HasRecordDoubleClickHandlers, HasRowContextClickHandlers, HasRowEditorEnterHandlers, HasRowEditorExitHandlers, HasRowHoverHandlers, HasRowMouseDownHandlers, HasRowMouseUpHandlers, HasRowOutHandlers, HasRowOverHandlers, HasSelectionChangedHandlers, HasSelectionUpdatedHandlers, HasSortChangedHandlers, HasSorterClickHandlers, HasSorterContextClickHandlers, HasViewStateChangedHandlers

  A ListGrid is a `DataBoundComponent` that displays a list of objects in a grid, where each row represents one object and each cell in the row represents one property.
  See Also:
    `Editing overview and related methods`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ListGrid()`
    `ListGrid(DataSource dataSource)`
    `ListGrid(JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addBodyKeyPressHandler(BodyKeyPressHandler handler)` Add a bodyKeyPress handler.
    `HandlerRegistration` | `addCellClickHandler(CellClickHandler handler)` Add a cellClick handler.
    `HandlerRegistration` | `addCellContextClickHandler(CellContextClickHandler handler)` Add a cellContextClick handler.
    `HandlerRegistration` | `addCellDoubleClickHandler(CellDoubleClickHandler handler)` Add a cellDoubleClick handler.
    `HandlerRegistration` | `addCellHoverHandler(CellHoverHandler handler)` Add a cellHover handler.
    `HandlerRegistration` | `addCellMouseDownHandler(CellMouseDownHandler handler)` Add a cellMouseDown handler.
    `HandlerRegistration` | `addCellMouseUpHandler(CellMouseUpHandler handler)` Add a cellMouseUp handler.
    `HandlerRegistration` | `addCellOutHandler(CellOutHandler handler)` Add a cellOut handler.
    `HandlerRegistration` | `addCellOverHandler(CellOverHandler handler)` Add a cellOver handler.
    `HandlerRegistration` | `addCellSavedHandler(CellSavedHandler handler)` Add a cellSaved handler.
    `HandlerRegistration` | `addCellSelectionChangedHandler(CellSelectionChangedHandler handler)` Add a cellSelectionChanged handler.
    `HandlerRegistration` | `addCellValueHoverHandler(CellValueHoverHandler handler)` Add a cellValueHover handler.
    `void` | `addData(Record newRecord)` Perform a DataSource "add" operation to add new records to this component's DataSource.
    `void` | `addData(Record newRecord, DSCallback callback)`
    `void` | `addData(Record newRecord, DSCallback callback, DSRequest requestProperties)` Perform a DataSource "add" operation to add new records to this component's DataSource.
    `HandlerRegistration` | `addDataArrivedHandler(DataArrivedHandler handler)` Add a dataArrived handler.
    `HandlerRegistration` | `addDragCompleteHandler(DragCompleteHandler handler)` Add a `com.smartgwt.client.widgets.DragCompleteHandler`.
    `HandlerRegistration` | `addDrawAreaChangedHandler(DrawAreaChangedHandler handler)` Add a drawAreaChanged handler.
    `HandlerRegistration` | `addDropCompleteHandler(DropCompleteHandler handler)` Add a `com.smartgwt.client.widgets.DropCompleteHandler`.
    `HandlerRegistration` | `addEditCompleteHandler(EditCompleteHandler handler)` Add a editComplete handler.
    `HandlerRegistration` | `addEditFailedHandler(EditFailedHandler handler)` Add a editFailed handler.
    `HandlerRegistration` | `addEditorEnterHandler(EditorEnterHandler handler)` Add a editorEnter handler.
    `HandlerRegistration` | `addEditorExitHandler(EditorExitHandler handler)` Add a editorExit handler.
    `void` | `addEmbeddedComponent(Canvas component, ListGridRecord record)` Attaches the component to the provided record.
    `void` | `addEmbeddedComponent(Canvas component, ListGridRecord record, java.lang.Integer rowNum)`
    `void` | `addEmbeddedComponent(Canvas component, ListGridRecord record, java.lang.Integer rowNum, java.lang.Integer colNum)`
    `void` | `addEmbeddedComponent(Canvas component, ListGridRecord record, java.lang.Integer rowNum, java.lang.Integer colNum, EmbeddedPosition position)` Attaches the component to the provided record.
    `HandlerRegistration` | `addFetchDataHandler(FetchDataHandler handler)` Add a fetchData handler.
    `HandlerRegistration` | `addFieldStateChangedHandler(FieldStateChangedHandler handler)` Add a fieldStateChanged handler.
    `HandlerRegistration` | `addFilterEditorSubmitHandler(FilterEditorSubmitHandler handler)` Add a filterEditorSubmit handler.
    `void` | `addFormulaField()` Convenience method to display a `com.smartgwt.client..FormulaBuilder` to create a new Formula Field.
    `HandlerRegistration` | `addFormulaUpdatedHandler(FormulaUpdatedHandler handler)` Add a formulaUpdated handler.
    `HandlerRegistration` | `addGroupByCompleteHandler(GroupByCompleteHandler handler)` Add a groupByComplete handler.
    `HandlerRegistration` | `addGroupByHandler(GroupByHandler handler)` Add a groupBy handler.
    `HandlerRegistration` | `addGroupStateChangedHandler(GroupStateChangedHandler handler)` Add a groupStateChanged handler.
    `HandlerRegistration` | `addHeaderClickHandler(HeaderClickHandler handler)` Add a headerClick handler.
    `HandlerRegistration` | `addHeaderDoubleClickHandler(HeaderDoubleClickHandler handler)` Add a headerDoubleClick handler.
    `HandlerRegistration` | `addHeaderHoverHandler(HeaderHoverHandler handler)` Add a headerHover handler.
    `HandlerRegistration` | `addHilitesChangedHandler(HilitesChangedHandler handler)` Add a hilitesChanged handler.
    `HandlerRegistration` | `addRecordClickHandler(RecordClickHandler handler)` Add a recordClick handler.
    `HandlerRegistration` | `addRecordCollapseHandler(RecordCollapseHandler handler)` Add a recordCollapse handler.
    `HandlerRegistration` | `addRecordDoubleClickHandler(RecordDoubleClickHandler handler)` Add a recordDoubleClick handler.
    `HandlerRegistration` | `addRecordDropHandler(RecordDropHandler handler)` Add a recordDrop handler.
    `HandlerRegistration` | `addRecordExpandHandler(RecordExpandHandler handler)` Add a recordExpand handler.
    `HandlerRegistration` | `addRemoveRecordClickHandler(RemoveRecordClickHandler handler)` Add a removeRecordClick handler.
    `HandlerRegistration` | `addRowContextClickHandler(RowContextClickHandler handler)` Add a rowContextClick handler.
    `HandlerRegistration` | `addRowEditorEnterHandler(RowEditorEnterHandler handler)` Add a rowEditorEnter handler.
    `HandlerRegistration` | `addRowEditorExitHandler(RowEditorExitHandler handler)` Add a rowEditorExit handler.
    `HandlerRegistration` | `addRowHoverHandler(RowHoverHandler handler)` Add a rowHover handler.
    `HandlerRegistration` | `addRowMouseDownHandler(RowMouseDownHandler handler)` Add a rowMouseDown handler.
    `HandlerRegistration` | `addRowMouseUpHandler(RowMouseUpHandler handler)` Add a rowMouseUp handler.
    `HandlerRegistration` | `addRowOutHandler(RowOutHandler handler)` Add a rowOut handler.
    `HandlerRegistration` | `addRowOverHandler(RowOverHandler handler)` Add a rowOver handler.
    `HandlerRegistration` | `addSelectionChangedHandler(SelectionChangedHandler handler)` Add a selectionChanged handler.
    `HandlerRegistration` | `addSelectionUpdatedHandler(SelectionUpdatedHandler handler)` Add a selectionUpdated handler.
    `void` | `addSort(SortSpecifier sortSpecifier)` Adds another `SortSpecifier` to this grid's sort configuration and resorts.
    `HandlerRegistration` | `addSortChangedHandler(SortChangedHandler handler)` Add a sortChanged handler.
    `HandlerRegistration` | `addSorterClickHandler(SorterClickHandler handler)` Add a sorterClick handler.
    `HandlerRegistration` | `addSorterContextClickHandler(SorterContextClickHandler handler)` Add a sorterContextClick handler.
    `void` | `addSummaryField()` Convenience method to display a `com.smartgwt.client..SummaryBuilder` to create a new Summary Field.
    `HandlerRegistration` | `addViewStateChangedHandler(ViewStateChangedHandler handler)` Add a viewStateChanged handler.
    `java.lang.Boolean` | `anySelected()` Whether at least one item is selected
    `void` | `applyCellData(RecordList cellData)` Applies a set of Records containing coordinate-based data as returned by `ListGrid.getSelectedCellData()` and applies the data at the current selection.
    `void` | `applyRecordData(RecordList recordData)` Applies a list of Records as changes to the current selection.
    `int` | `autoFitField(java.lang.String fieldName)` Programmatically cause a field to auto-fit horizontally to it's contents or title.
    `void` | `autoFitFields()` Perform a one-time horizontal auto-fit of the fields passed.
    `void` | `autoFitFields(ListGridField... fields)` Perform a one-time horizontal auto-fit of the fields passed.
    `void` | `cancelEditing()` Cancel the current edit without saving.
    `boolean` | `canEditCell(int rowNum, int colNum)` Can this cell be edited?
    `boolean` | `canExpandRecord(ListGridRecord record, int rowNum)` Indicates whether a given record or rowNum can be expanded.
    `boolean` | `canSelectCell(int rowNum, int colNum)` If `canSelectCells` is set to `true` then, whenever an end-user or programmatic cell-selection is attempted, this method is called for each cell in the selection.
    `protected boolean` | `canSelectRecord(ListGridRecord record)` If `selectionType` is not set to `"none"`, this method will be called for each record the user attempts to select.
    `java.lang.Boolean` | `cellHasChanges(int rowNum, int colNum)` If this listGrid can be edited, this method will return true if the cell passed in has been edited, but the edits have not yet been saved to the ListGrid's data object.
    `java.lang.Boolean` | `cellHasErrors(int rowNum, int colIndex)` Given a rowNum and a colNum or fieldName, determine whether we currently have stored validation errors for the record/field in question.
    `java.lang.Boolean` | `cellHasErrors(int rowNum, java.lang.String fieldID)` Given a rowNum and a colNum or fieldName, determine whether we currently have stored validation errors for the record/field in question.
    `java.lang.String` | `cellValueHoverHTML(ListGridRecord record, int rowNum, int colNum, java.lang.String defaultHTML)` Returns the HTML that is displayed by the default cellValueHover handler.
    `java.lang.Boolean` | `cellValueIsClipped(int rowNum, int colNum)` Is the value in a given cell clipped?
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `FacetChart` | `chartData(java.lang.String labelField)` Chart the data in this listGrid as a multi-series chart.
    `FacetChart` | `chartData(java.lang.String labelField, java.lang.String[] dataFields)`
    `FacetChart` | `chartData(java.lang.String labelField, java.lang.String[] dataFields, ListGridRecord... dataRows)`
    `FacetChart` | `chartData(java.lang.String labelField, java.lang.String[] dataFields, ListGridRecord[] dataRows, FacetChart chartProperties)`
    `FacetChart` | `chartData(java.lang.String labelField, java.lang.String[] dataFields, ListGridRecord[] dataRows, FacetChart chartProperties, boolean labelFieldFirst)` Chart the data in this listGrid as a multi-series chart.
    `void` | `clearCriteria()` Clear the current criteria used to filter data.
    `void` | `clearCriteria(DSCallback callback)`
    `void` | `clearCriteria(DSCallback callback, DSRequest requestProperties)` Clear the current criteria used to filter data.
    `void` | `clearEditValue(int rowNum, java.lang.String fieldName)` Clear a field value being tracked as an unsaved user edit.
    `void` | `clearFieldError(int rowNum, int fieldName)` Clears any validation errors for some cell.
    `void` | `clearFieldError(int rowNum, java.lang.String fieldName)`
    `void` | `clearRowErrors(int rowNum)` Clear any stored validation errors for some row
    `void` | `clearSort()` This method clears any existing sort on this grid by calling `ListGrid.setSort()` with a null parameter.
    `void` | `closeRecord(ListGridRecord record)` Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
    `void` | `collapseRecord(ListGridRecord record)` Collapses a given `record` which has been previously expanded using `ListGrid.expandRecord()`.
    `void` | `collapseRecords(ListGridRecord... records)` Collapses the passed list of expanded `records`.
    `void` | `configureGrouping()` Open a MultiGroupDialog to configure the fields used for grouping.
    `protected JavaScriptObject` | `create()`
    `protected Canvas` | `createRecordComponent(ListGridRecord record, java.lang.Integer colNum)` When `showRecordComponents` is true, this method is called to create per-row or per-cell embedded components to display in the grid.
    `void` | `deselectAllRecords()` Deselect all records
    `void` | `deselectRange(int startRow, int endRow)` Deselect a contiguous range of records by index.
    `void` | `deselectRecord(int record)` Deselect a `Record` passed in explicitly, or by index.
    `void` | `deselectRecord(Record record)` Deselect a `Record` passed in explicitly, or by index.
    `void` | `deselectRecords(int[] records)` Deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `deselectRecords(Record[] records)` Deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `disableHilite(java.lang.String hiliteID)` Disable a hilite
    `void` | `disableHiliting()` Disable all hilites.
    `void` | `discardAllEdits()` Cancel outstanding edits, discarding edit values, and hiding editors for the record[s] passed in if appropriate.
    `void` | `discardAllEdits(int[] rows)`
    `void` | `discardAllEdits(int[] rows, boolean dontHideEditor)` Cancel outstanding edits, discarding edit values, and hiding editors for the record[s] passed in if appropriate.
    `void` | `discardEdits(int rowNum, int colNum)` Cancel outstanding edits for the specified rows, discarding edit values, and hiding editors if appropriate.
    `void` | `discardEdits(int rowNum, int colNum, java.lang.Boolean dontHideEditor)` Cancel outstanding edits for the specified rows, discarding edit values, and hiding editors if appropriate.
    `protected java.lang.Boolean` | `displayHeaderContextMenu(Canvas target, int[] position)` If `showHeaderContextMenu` is `true` this method is fired when the user right-clicks on the header for this grid. Default implementation will display a menu with entries derived from `ListGrid.getHeaderContextMenuItems` for the appropriate column.
    `void` | `editFields()` Shows a FieldPicker interface allowing end-users to rearrange the order and visibiility of the fields in the associated DataBoundComponent.
    `void` | `editHilites()` Shows a HiliteEditor interface allowing end-users to edit the data-hilites currently in use by this DataBoundComponent.
    `void` | `enableHilite(java.lang.String hiliteID)` Enable / disable a `hilites`
    `void` | `enableHilite(java.lang.String hiliteID, boolean enable)` Enable / disable a `hilites`
    `void` | `enableHiliting()` Enable all hilites.
    `void` | `enableHiliting(boolean enable)` Enable all hilites.
    `void` | `endEditing()` Complete the current edit by storing the value and hiding the inline editor.
    `void` | `expandRecord(ListGridRecord record)` Expands a given `record` by creating a subcomponent and inserting it in to the record's grid-row.
    `void` | `expandRecords(ListGridRecord... records)` Expands the passed list of `records` by creating a subcomponent for each record and inserting them it in to the record's grid-row.
    `void` | `exportClientData()` Exports this component's data with client-side formatters applied, so is suitable for direct display to users.
    `void` | `exportClientData(DSRequest requestProperties)`
    `void` | `exportClientData(DSRequest requestProperties, RPCCallback callback)` Exports this component's data with client-side formatters applied, so is suitable for direct display to users.
    `void` | `exportData()` Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.
    `void` | `exportData(DSRequest requestProperties)` Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.
    `void` | `fetchData()` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchData(Criteria criteria)` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchData(Criteria criteria, DSCallback callback)` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchData(Criteria criteria, DSCallback callback, DSRequest requestProperties)` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchRelatedData(ListGridRecord record, Canvas schema)` Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.
    `void` | `fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback)`
    `void` | `fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback, DSRequest requestProperties)` Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.
    `void` | `fetchRelatedData(Record record, DataSource dataSource)`
    `void` | `fetchRelatedData(Record record, DataSource dataSource, DSCallback callback, DSRequest requestProperties)`
    `boolean` | `fieldIsVisible(java.lang.String field)` Check whether a field is currently visible
    `void` | `filterByEditor()` If the filter editor (`showFilterEditor`) is visible for this grid, this method will perform a filter based on the current values in the editor.
    `void` | `filterData()` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `void` | `filterData(Criteria criteria)` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `void` | `filterData(Criteria criteria, DSCallback callback)` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `void` | `filterData(Criteria criteria, DSCallback callback, DSRequest requestProperties)` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `Record` | `find(AdvancedCriteria adCriteria)` Filters all objects according to the AdvancedCriteria passed and returns the first matching object or null if not found
    `Record[]` | `findAll(AdvancedCriteria adCriteria)` Filters all objects according to the AdvancedCriteria passed
    `int` | `findIndex(AdvancedCriteria adCriteria)` Finds the index of the first Record that matches with the AdvacendCriteria passed.
    `int` | `findNextIndex(int startIndex, AdvancedCriteria adCriteria)` Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex parameter.
    `int` | `findNextIndex(int startIndex, AdvancedCriteria adCriteria, int endIndex)` Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex and endIndex parameters.
    `void` | `focusInCell(java.lang.Integer row, java.lang.Integer col)` Puts keyboard focus into the specified cell, showing a highlighted (roll-over style) appearance, and ensuring that arrow-key navigation will start from the specified cell.
    `void` | `focusInFilterEditor()` If the filter editor (`showFilterEditor`) is visible for this grid, this method will explicitly put focus into the specified field in the filter editor.
    `void` | `focusInFilterEditor(java.lang.String fieldName)` If the filter editor (`showFilterEditor`) is visible for this grid, this method will explicitly put focus into the specified field in the filter editor.
    `void` | `focusInRow(java.lang.Integer row)` Puts keyboard focus into the specified row, showing a highlighted (roll-over style) appearance, and ensuring that arrow-key navigation will start from the specified row.
    `void` | `freezeField(java.lang.Integer field)` Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
    `void` | `freezeField(ListGridField field)` Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
    `void` | `freezeField(java.lang.String field)` Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
    `void` | `freezeField(java.lang.String[] field)` Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
    `void` | `freezeFields(int[] colNums)`
    `void` | `freezeFields(java.lang.String[] fieldNames)`
    `java.lang.Boolean` | `getAddDropValues()` Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key.
    `java.lang.String` | `getAddFormulaFieldText()` Text for a menu item allowing users to add a formula field
    `java.lang.String` | `getAddOperation()` Operation ID this component should use when performing add operations.
    `java.lang.String` | `getAddSummaryFieldText()` Text for a menu item allowing users to add a formula field
    `int` | `getAdvancedFieldPickerThreshold()` When `useAdvancedFieldPicker` is set, total number of available fields that must be present in the grid before the advanced field picker interface is used instead of the normal columns submenu.
    `int[]` | `getAllEditRows()` Returns an array of every rowNum for which we have pending (unsubmitted) edits.
    `ListGridField[]` | `getAllFields()` Get the complete array of fields for this ListGrid, including fields that are not currently visible or were specified implicitly via `dataSource`.
    `java.lang.Boolean` | `getAllowFilterExpressions()` For use with `showFilterEditor`:true, allows simple search expressions to be entered into filter fields, as though `allowExpressions` were true.
    `java.lang.Boolean` | `getAllowRowSpanning()` Should cells in this grid be allowed to span multiple rows? If set to `true`, the `ListGrid.getRowSpan()` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.
    `java.lang.String` | `getAlternateBodyStyleName()` Optional css style to apply to the body if `alternateRecordStyles` is true for this grid.
    `int` | `getAlternateFieldFrequency()` The number of consecutive columns to draw in the same style before alternating, when `alternateColumnStyles` is true.
    `boolean` | `getAlternateFieldStyles()` Whether alternating columns should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading.
    `int` | `getAlternateRecordFrequency()` The number of consecutive rows to draw in the same style before alternating, when `alternateRowStyles` is true.
    `java.lang.Boolean` | `getAlternateRecordStyles()` Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading.
    `java.lang.Boolean` | `getAlwaysShowEditors()` When this attribute is set, editors will be rendered into every row of the grid rather than showing up in a single record at a time.
    `AnimationAcceleration` | `getAnimateFolderEffect()` When animating folder opening / closing, this property can be set to apply an animated acceleration effect.
    `java.lang.Integer` | `getAnimateFolderMaxRows()` If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
    `java.lang.Boolean` | `getAnimateFolders()` If true, when folders are opened / closed children will be animated into view.
    `int` | `getAnimateFolderSpeed()` When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second.
    `int` | `getAnimateFolderTime()` When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
    `java.lang.Boolean` | `getAnimateRemoveRecord()` When `canRemoveRecords` is enabled, should records be animated out of view when they are removed by the user?
    `int` | `getAnimateRemoveSpeed()` When `animating record removal`, this property designates the speed of the animation in pixels per second.
    `int` | `getAnimateRemoveTime()` When animating record removal `(see animateRemoveRecord)`, if `animateRemoveSpeed` is not set, this property designates the duration of the animation in ms.
    `java.lang.Boolean` | `getAnimateRollOver()` If the `rollOverCanvas` is enabled, setting this property to `true` ensures that when the `rollOverCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `java.lang.Boolean` | `getAnimateRollUnder()` If the `rollUnderCanvas` is enabled, setting this property to `true` ensures that when the `rollUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `java.lang.Boolean` | `getAnimateSelection()` If the `selectionCanvas` is enabled, setting this property to `true` ensures that when the `selectionCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `java.lang.Boolean` | `getAnimateSelectionUnder()` If the `selectionUnderCanvas` is enabled, setting this property to `true` ensures that when the `selectionUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `java.lang.Boolean` | `getApplyFormulaAfterSummary()` If `userFormula` is set for some field, and this grid is showing `group summaries` or a `grid summary`, this property determines what field value should be present in those summary rows.
    `boolean` | `getApplyRowNumberStyle()` If `showRowNumbers` is true, should we apply the `rowNumberStyle` to the `rowNumberField`
    `java.lang.String` | `getArrowKeyAction()` Action to perform when the listGrid has keyboard focus (but not editing focus) and a user presses the up or down arrow key.
    `java.lang.String` | `getAsynchGroupingPrompt()` The prompt to display while interactivity is blocked during `asynchronous grouping`.
    `AutoComplete` | `getAutoComplete()` Whether to do inline autoComplete in text fields during inline editing Overridden by `autoComplete` if specified.
    `java.lang.Boolean` | `getAutoFetchAsFilter()` If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
    `java.lang.Boolean` | `getAutoFetchData()` If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` .
    `java.lang.Boolean` | `getAutoFetchDisplayMap()` If true, for fields where `optionDataSource` is specified, a valueMap will be automatically created by making a `DataSource.fetchData()` call against the specified dataSource and extracting a valueMap from the returned records based on the displayField and valueField.
    `TextMatchStyle` | `getAutoFetchTextMatchStyle()` If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
    `java.lang.String` | `getAutoFitAllText()` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of all visible fields via the `ListGrid.autoFitField()` method.
    `java.lang.String[]` | `getAutoFitClipFields()` If `autoFitFieldWidths` is enabled and the calculated field sizes are wide enough that horizontal scrolling would be introduced, this attribute may be set to an array of fieldNames, causing those fields to be clipped rather than forcing horizontal scrollbars to appear.
    `Autofit` | `getAutoFitData()` Should this ListGrid automatically expand to accommodate the size of records and fields?
    `java.lang.String` | `getAutoFitExpandField()` The field to expand if `autoFitFieldWidths` and `autoFitFieldsFillViewport` are enabled and auto-fitting will not fill all available horizontal space.
    `java.lang.Integer` | `getAutoFitExtraRecords()` If `autoFitData` is set to `"vertical"` or `"both"` this property specifies the number of additional records for which the grid will expand.
    `java.lang.Boolean` | `getAutoFitFieldsFillViewport()` If `autoFitFieldWidths` is enabled, and extra space is available after autofitting all fields, should the grid automatically expand one field to fill the extra space.
    `java.lang.String` | `getAutoFitFieldText()` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of the field to its title or content via a call to `ListGrid.autoFitField()`.
    `java.lang.Boolean` | `getAutoFitFieldWidths()` Enables autofitting of fields to values or titles.
    `java.lang.Boolean` | `getAutoFitHeaderHeights()` If this property is set to true, header buttons for either `fields` or `header spans` will automatically expand to accommodate their titles vertically.
    `AutoFitIconFieldType` | `getAutoFitIconFields()` Smart GWT listGrids have special logic to automatically size fields that are displayed as an icon - that is fields with `type:"icon"`, fields displaying only `value icons`, and boolean fields (which are rendered as a checkmark type icon by default.
    `int` | `getAutoFitMaxColumns()` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides the maximum number of columns for which the ListGrid will expand.
    `java.lang.Integer` | `getAutoFitMaxHeight()` If `autoFitData` is set to `"vertical"` or `"both"` this property provides an upper limit on how far the ListGrid will expand vertically to accommodate its content.
    `int` | `getAutoFitMaxRecords()` If `autoFitData` is set to `"vertical"` or `"both"` this property provides the maximum number of records for which the ListGrid will expand.
    `java.lang.Integer` | `getAutoFitMaxWidth()` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides an upper limit on how far the ListGrid will expand horizontally to accommodate its content.
    `AutoFitWidthApproach` | `getAutoFitWidthApproach()` When a user requests column autofitting via the `header context menu` or via a `mouse gesture`, what autofit approach is used.
    `java.lang.Boolean` | `getAutoSaveEdits()` If this ListGrid is editable, should edits be saved out when the user finishes editing a row (or a cell if `saveByCell` is true).
    `java.lang.Boolean` | `getAutoSizeHeaderSpans()` If this listGrid has specified `headerSpans`, setting this attribute to true will cause spans to expand to accommodate long titles if necessary.
    `Canvas` | `getBackgroundComponent()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.String` | `getBadFormulaResultValue()` If the result of a formula evaluation is invalid (specifically, if isNaN(result)==true), badFormulaResultValue is displayed instead.
    `java.lang.String` | `getBaseStyle()` `base cell style` for this listGrid.
    `protected java.lang.String` | `getBaseStyle(ListGridRecord record, int rowNum, int colNum)` Return the base stylename for this cell.
    `GridRenderer` | `getBody()` Returns the primary body, which, when there are frozen fields, is the `com.smartgwt.client.grid.GridRenderer` used to render the non-frozen portion of the dataset; otherwise, the primary body (the only body) is the GridRenderer used to render the entire dataset.
    `java.lang.String` | `getBodyBackgroundColor()` Background color applied to the ListGrid body (that is, the area of the grid where data values are rendered). Note that this will typically not be visible to the user unless there are few enough rows that there is visible space in the body below the last row.
    `Overflow` | `getBodyOverflow()` Overflow setting for the "body", that is, the area of the grid where data values are rendered.
    `java.lang.Integer` | `getBodyScrollLeft()` Get the current scrollLeft for the body of this ListGrid
    `java.lang.Integer` | `getBodyScrollTop()` Get the current scrollTop for the body of this ListGrid
    `java.lang.String` | `getBodyStyleName()` CSS style used for the body of this grid.
    `java.lang.String` | `getBooleanBaseStyle()` An optional CSS style to apply to the checkbox image.
    `java.lang.String` | `getBooleanFalseImage()` Image to display for a false value in a boolean field.
    `int` | `getBooleanImageHeight()` Height for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `int` | `getBooleanImageWidth()` Width for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `java.lang.String` | `getBooleanPartialImage()` Image to display for a partially true value in a boolean field (typically selection).
    `java.lang.String` | `getBooleanTrueImage()` Image to display for a true value in a boolean field.
    `java.lang.Boolean` | `getCanAcceptDroppedRecords()` Indicates whether records can be dropped into this listGrid.
    `java.lang.Boolean` | `getCanAddFormulaFields()` Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.
    `java.lang.Boolean` | `getCanAddSummaryFields()` Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.
    `java.lang.Boolean` | `getCanAutoFitFields()` Whether the user able to autofit specific columns to their data and/or title via a context menu item or `headerAutoFitEvent`.
    `java.lang.String` | `getCancelEditingConfirmationMessage()` If this is an editable listGrid, and `this.confirmCancelEditing` is true this property is used as the message to display in the confirmation dismissal prompt.
    `java.lang.Boolean` | `getCanCollapseGroup()` Can a group be collapsed/expanded? When true a collapse/expand icon is shown (`groupIcon`) and the user can collapse or expand the group by clicking either the row as a whole or the opener icon (see `collapseGroupOnRowClick`); When false the group icon is not shown and clicking on the row does not change group state.
    `java.lang.Boolean` | `getCanDragRecordsOut()` Indicates whether records can be dragged from this listGrid and dropped elsewhere.
    `java.lang.Boolean` | `getCanDragSelect()` If this property is true, users can drag the mouse to select several rows or cells.
    `java.lang.Boolean` | `getCanDragSelectText()` If this property is true, users can drag the mouse to select text within grid rows.
    `java.lang.Boolean` | `getCanDropInEmptyArea()` If set to false, dropping over an empty part of the grid body is disallowed and the no-drop indicator is displayed.
    `java.lang.Boolean` | `getCanEdit()` Can the user edit cells in this listGrid? Can be set for the listGrid, and overridden for individual fields. If 'canEdit' is false at the listGrid level, fields can never be edited - in this case the canEdit property on individual fields will be ignored. If 'canEdit' is set to true at the listGrid level, setting the 'canEdit' property to false at the field level will prevent the field from being edited inline. If 'canEdit' is not set at the listGrid level, setting 'canEdit' to true at the field level enables the field to be edited inline.
    `java.lang.String` | `getCanEditFieldAttribute()` If this component is bound to a dataSource, this attribute may be specified to customize what fields from the dataSource may be edited by default.
    `boolean` | `getCanEditHilites()` Adds an item to the header context menu allowing users to launch a dialog to define grid hilites using the `HiliteEditor`.
    `boolean` | `getCanEditTitles()` If set to true, the `advanced field picker` provides an interface allowing users to modify fields' titles.
    `java.lang.Boolean` | `getCanExpandMultipleRecords()` When `canExpandRecords` is true, this property indicates whether multiple records can be expanded simultaneously.
    `java.lang.String` | `getCanExpandRecordProperty()` Property name on a record that will be checked to determine whether a record can be expanded.
    `java.lang.Boolean` | `getCanExpandRecords()` When set to true, shows an additional field at the beginning of the field-list (respecting RTL) to allow users to expand and collapse individual records.
    `boolean` | `getCanFocusInEmptyGrid()` If the listGrid is empty, should the user be able to put focus into the grid body by tabbing to it?
    `java.lang.Boolean` | `getCanFreezeFields()` Whether an interface should be shown to allow user is allowed to dynamically "freeze" or "unfreeze" columns with respect to horizontally scrolling.
    `java.lang.Boolean` | `getCanGroupBy()` If false, grouping via context menu will be disabled.
    `java.lang.Boolean` | `getCanHover()` If true, cellHover and rowHover events will fire and then a hover will be shown (if not canceled) when the user leaves the mouse over a row / cell unless the corresponding field has `showHover` set to false.
    `boolean` | `getCanMultiGroup()` When true, indicates that this ListGrid supports grouping on multiple fields.
    `java.lang.Boolean` | `getCanMultiSort()` When true, indicates that this ListGrid supports sorting on multiple fields.
    `java.lang.Boolean` | `getCanPickFields()` Indicates whether the field picker item and submenu should be present in the header context menu.
    `java.lang.Boolean` | `getCanPickOmittedFields()` If this grid has a specified `dataSource`, and `useAllDataSourceFields` is false, setting this property to true will cause all dataSource fields not included in the specified set of fields to show up in the `field picker menu item`.
    `java.lang.Boolean` | `getCanRemoveRecords()` If set, provide UI for the user to remove records from the grid as an additional field showing the `removeIcon`, which, when clicked, will call `ListGrid.removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `ListGrid.markRecordRemoved()` status for the record).
    `java.lang.Boolean` | `getCanReorderFields()` Indicates whether fields in this listGrid can be reordered by dragging and dropping header fields.
    `java.lang.Boolean` | `getCanReorderRecords()` Indicates whether records can be reordered by dragging within this `ListGrid`.
    `java.lang.Boolean` | `getCanResizeFields()` Indicates whether fields in this listGrid can be resized by dragging header fields.
    `java.lang.Boolean` | `getCanSelectAll()` Controls whether a checkbox for selecting all records appears in the header with `selectionAppearance` set to "checkbox"
    `java.lang.Boolean` | `getCanSelectCells()` Enables cell-level selection behavior as well as `cell-level rollover`.
    `boolean` | `getCanSelectGroups()` Controls whether a checkbox for selecting `groups` appears in the group node if `SelectionAppearance` is set to `"checkbox"`
    `java.lang.Boolean` | `getCanSort()` Enables or disables interactive sorting behavior for this listGrid.
    `java.lang.Boolean` | `getCanTabToHeader()` Should the header be included in the tab-order for the page? If not explicitly specified, the header will be included in the tab order for the page if `isc.setScreenReaderMode()` is called.
    `Layout` | `getCellContextMenu()` The menu displayed when a cell is right clicked on.
    `protected java.lang.String` | `getCellCSSText(ListGridRecord record, int rowNum, int colNum)` Return CSS text for styling this cell, which will be applied in addition to the CSS class for the cell, as overrides.
    `java.lang.String[]` | `getCellErrors(int rowNum, java.lang.String fieldName)` Returns the current set of errors for this cell.
    `int` | `getCellHeight()` The default height of each row in pixels.
    `protected Canvas` | `getCellHoverComponent(Record record, java.lang.Integer rowNum, java.lang.Integer colNum)` When `showHoverComponents` is set, this method is called to get the component to show as a hover for the current cell.
    `int` | `getCellPadding()` The amount of empty space, in pixels, surrounding each value in its cell.
    `java.lang.Integer[]` | `getCellPageRect(int rowNum, int colNum)` Returns the page offsets and size of the cell at the passed row and column.
    `int` | `getCellRowSpan(int rowNum, int colNum)` When using `row spanning`, returns the number of cells spanned by the cell at the given coordinates.
    `CellSelection` | `getCellSelection()` When `canSelectCells` is active, returns the `CellSelection` object that tracks and manages the current selection.
    `int` | `getCellStartRow(int rowNum, int colNum)` When using `row spanning`, returns the row number where a row-spanning cell starts.
    `protected java.lang.String` | `getCellStyle(ListGridRecord record, int rowNum, int colNum)` Return the CSS class for a cell.
    `java.lang.String` | `getChartConstructor()` Name of the Smart GWT Class to be used when creating charts.
    `ChartType` | `getChartType()` Default type of chart to plot.
    `java.lang.String` | `getCheckboxFieldFalseImage()` If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for an unselected row.
    `java.lang.Integer` | `getCheckboxFieldImageHeight()` If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the height of the checkbox image displayed to indicate whether a row is selected.
    `java.lang.Integer` | `getCheckboxFieldImageWidth()` If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the width of the checkbox image displayed to indicate whether a row is selected.
    `java.lang.String` | `getCheckboxFieldPartialImage()` If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a partially selected row.
    `java.lang.String` | `getCheckboxFieldTrueImage()` If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a selected row.
    `ExpansionMode` | `getChildExpansionMode()` For `expansionModes` that show another grid or tree, what the child's expansionMode should be.
    `java.lang.String` | `getClearAllSortingText()` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear any existing sort on all fields.
    `java.lang.String` | `getClearFilterText()` If we're showing a `headerContextMenu` for this grid, and a `filter-editor` is visible, this attribute will be shown as the menu item title to clear any existing filter.
    `java.lang.String` | `getClearSortFieldText()` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear an existing sort on this field.
    `java.lang.Boolean` | `getClipHeaderTitles()` Whether the ListGrid should manage the clipping of titles of header buttons, showing ellipses if the title is clipped, and potentially showing the full title on `hover`.
    `boolean` | `getCollapseGroupOnRowClick()` If `canCollapseGroup` is true, will a click anywhere on the group row toggle the group's expanded state? If false, the user must click the `groupIcon` directly to toggle the group.
    `java.lang.Integer` | `getColumnLeft(java.lang.Integer colNum)` Return the left offset (in local coordinate space) of a particular column.
    `java.lang.Integer` | `getColumnPageLeft(java.lang.Integer colNum)` Return the left coordinate for a given column number as a GLOBAL coordinate
    `java.lang.Integer` | `getColumnWidth(int colNum)` Return the width of a particular column.
    `java.lang.String` | `getConfigureGroupingText()` If we're showing a `headerContextMenu` for this grid, and multi-grouping is enabled, this attribute is used as the title for a menu item that opens a `MultiGroupDialog` to configure the grouping for this grid.
    `java.lang.String` | `getConfigureSortText()` If we're showing a `headerContextMenu` for this grid, and multi-sorting is enabled, this attribute is used as the title for a menu item that opens a MultiSortDialog to configure the sort-specification for this grid.
    `java.lang.Boolean` | `getConfirmCancelEditing()` If this is an editable listGrid, when the user attempts to cancel an edit, should we display a confirmation prompt before discarding the edited values for the record?
    `java.lang.Boolean` | `getConfirmDiscardEdits()` For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded.
    `java.lang.String` | `getConfirmDiscardEditsMessage()` If `this.confirmDiscardEdits` is true, this property can be used to customize the error message string displayed to the user in a dialog with options to cancel the action, or save or discard pending edits in response to sort/filter actions that would otherwise drop unsaved edit values.
    `Criteria` | `getCriteria()` Retrieves a copy of the current criteria for this component (may be null).
    `Canvas` | `getCurrentExpansionComponent(java.lang.Integer record)` Returns the expansion component derived from `ListGrid.getExpansionComponent()` currently visible in some record, or null if the specified record is not showing an expansion component.
    `Canvas` | `getCurrentExpansionComponent(ListGridRecord record)` Returns the expansion component derived from `ListGrid.getExpansionComponent()` currently visible in some record, or null if the specified record is not showing an expansion component.
    `JavaScriptObject` | `getDataAsJSList()`
    `RecordList` | `getDataAsRecordList()` Return the grid data as a `RecordList`.
    `FetchMode` | `getDataFetchMode()` How to fetch and manage records retrieve from the server.
    `int` | `getDataPageSize()` When using data paging, how many records to fetch at a time.
    `DataSource` | `getDataSource()` The DataSource that this component should bind to for default fields and for performing `DataSource requests`.
    `DateDisplayFormat` | `getDateFormatter()` How should Date type values be displayed in this ListGrid by default?
    `DateDisplayFormat` | `getDatetimeFormatter()` Display format to use for fields specified as type 'datetime'.
    `ListGridField[]` | `getDefaultFields()` An array of listGrid field configuration objects.
    `int` | `getDefaultFieldWidth(ListGridField field)` Method to calculate and return the default width of a field.
    `java.lang.String` | `getDefaultFormattedFieldValue(Record record, ListGridField field)` Get a field value for some record with default field formatters applied.
    `java.lang.String` | `getDefaultFormattedFieldValue(Record record, ListGridField field, int rowNum)`
    `java.lang.String` | `getDefaultFormattedFieldValue(Record record, ListGridField field, int rowNum, int colNum)` Get a field value for some record with default field formatters applied.
    `java.lang.String` | `getDefaultFormattedValue(Record record, int rowNum, int colNum)` Get the value for some cell with default formatters applied.
    `java.lang.Boolean` | `getDeferRemoval()` When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `ListGrid.markRecordRemoved()` instead of immediately being removed.
    `java.lang.String` | `getDetailDS()` If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.
    `java.lang.String` | `getDetailField()` The field whose contents to show in the expanded portion of a record when `canExpandRecords` is `true` and `listGrid.expansionMode` is `detailField`.
    `boolean` | `getDiscardEditsOnHideField()` If a user is editing a `canEdit:true` listGrid, and they hide a field while the editor is showing, should we discard any edits in the edit row for the field being hidden?
    `java.lang.String` | `getDiscardEditsSaveButtonTitle()` If `confirmDiscardEdits` is true this is the title for the save button appearing in the lost edits confirmation dialog.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, boolean value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, java.util.Date value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, float value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, int value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, java.lang.String value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `Record[]` | `getDragData()` During a drag-and-drop interaction, this method returns the set of records being dragged out of the component.
    `DragDataAction` | `getDragDataAction()` Indicates what to do with data dragged into another DataBoundComponent.
    `DragTrackerMode` | `getDragTrackerMode()` When records are being dragged from within a ListGrid, what sort of drag-tracker should be displayed? Note that if multiple records are being dragged the displayed tracker will be based on the first selected record.
    `java.lang.String` | `getDragTrackerStyle()` CSS Style to apply to the drag tracker when dragging occurs on this component.
    `float` | `getDrawAheadRatio()` How far should we render rows ahead of the currently visible area? This is expressed as a ratio from viewport size to rendered area size.
    `int` | `getDrawAllMaxCells()` If drawing all rows would cause less than `drawAllMaxCells` cells to be rendered, the full dataset will instead be drawn even if `showAllRecords` is false and the viewport size and `drawAheadRatio` setting would normally have caused incremental rendering to be used.
    `java.lang.Integer[]` | `getDrawArea()` Returns the extents of the rows and columns currently visible in this grid's viewport.
    `int` | `getDrawnRowHeight(int rowNum)` Get the drawn height of a row.
    `java.lang.Integer[]` | `getDrawnRows()` Get the rows that are currently drawn (exist in the DOM), as an array of [firstRowNum, lastRowNum].
    `boolean` | `getDropCriteriaOnHideField()` For ListGrids with `showFilterEditor` set to true, if the user hides a field, should we discard the criteria for the hidden field when the user next performs a filter? This is an equivalent of using the AutoChild system to set `discardEditsOnHideField` on the `filterEditor`.
    `java.util.Map` | `getDropValues()` When an item is dropped on this component, and `addDropValues` is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.
    `java.lang.String` | `getDuplicateDragMessage()` Message to show when a user attempts to transfer duplicate records into this component, and `preventDuplicates` is enabled.
    `java.lang.Boolean` | `getEditByCell()` Determines whether when the user edits a cell in this listGrid the entire row becomes editable, or just the cell that received the edit event.
    `int` | `getEditCol()` Returns the index of the column being edited or -1 if there is no current edit column.
    `java.lang.Object` | `getEditedCell(int record, int field)` Returns the current value of a cell.
    `java.lang.Object` | `getEditedCell(int rowNum, java.lang.String fieldName)`
    `java.lang.Object` | `getEditedCell(Record record, int colNum)`
    `java.lang.Object` | `getEditedCell(Record record, java.lang.String fieldName)`
    `Record` | `getEditedRecord(int rowNum)` Returns the combination of unsaved edits (if any) and original values (if any) for a given row being edited.
    `ListGridEditEvent` | `getEditEvent()` Event that will trigger inline editing, see `ListGridEditEvent` for options.
    `java.lang.String` | `getEditFailedBaseStyle()` A base name for the CSS class applied to cells when editing has failed. If this listGrid is editable, this style will be applied to any edited cells for which validation failed. As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell. If null, cells for which editing has failed will be rendered using the normal base style classNames, but with custom CSSText applied as derived from `this.editFailedCSSText`
    `java.lang.String` | `getEditFailedCSSText()` Custom CSS text to be applied to cells when editing has failed. If this listGrid is editable, this css text will be applied to any edited cells for which validation failed, on top of the base style for the cell. For further customization of styling for cells that failed editing validation, use `this.editFailedBaseStyle` instead.
    `FormItem` | `getEditFormItem(java.lang.Integer field)` Method to retrieve a live edit form item for an `editable` ListGrid.
    `FormItem` | `getEditFormItem(java.lang.String field)` Method to retrieve a live edit form item for an `editable` ListGrid.
    `java.lang.String` | `getEditFormulaFieldText()` Text for a menu item allowing users to edit a formula field
    `java.lang.Boolean` | `getEditOnF2Keypress()` Should we start editing when the widget has focus and the user presses the "f2" key (if this ListGrid supports editing)?
    `java.lang.Boolean` | `getEditOnFocus()` Should we start editing when this widget receives focus (if this ListGrid supports editing)?
    `java.lang.String` | `getEditPendingBaseStyle()` A base name for the CSS class applied to cells containing pending (unsaved) edits As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell.
    `java.lang.String` | `getEditPendingCSSText()` Custom CSS text to be applied to cells with pending edits that have not yet been submitted. For further customization of styling for cells with pending edits use `this.editPendingBaseStyle` instead.
    `java.lang.String` | `getEditProxyConstructor()` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `int` | `getEditRow()` Returns the index of the row being edited or -1 if there is no current edit row.
    `java.lang.String` | `getEditSummaryFieldText()` Text for a menu item allowing users to edit the formatter for a field
    `java.lang.Object` | `getEditValue(int rowNum, int colNum)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `java.lang.Object` | `getEditValue(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `java.lang.Boolean` | `getEditValueAsBoolean(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `java.util.Date` | `getEditValueAsDate(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `java.lang.Float` | `getEditValueAsFloat(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `java.lang.Integer` | `getEditValueAsInt(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `Record` | `getEditValueAsRecord(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `Record[]` | `getEditValueAsRecordArray(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `java.lang.String` | `getEditValueAsString(int rowNum, java.lang.String fieldName)` Returns the current temporary locally stored edit value for some field within a record being edited.
    `java.util.Map` | `getEditValues(int rowNum)` Returns the current set of unsaved edits for a given row being edited.
    `java.util.Map` | `getEditValues(Record record)` Returns the current set of unsaved edits for a given row being edited.
    `java.lang.String` | `getEmptyCellValue()` The value to display for cells whose value is null or the empty string after applying `formatting` and valueMap (if any).
    `java.lang.String` | `getEmptyMessage()` The string to display in the body of a listGrid with an empty data array, if showEmptyMessage is true.
    `java.lang.String` | `getEmptyMessageStyle()` The CSS style name applied to the `emptyMessage` if displayed.
    `java.lang.Boolean` | `getEnforceVClipping()` For performance reasons, even when `fixedRecordHeights` is set, vertical clipping is not enforced by default for some kinds of content (such as images) on all browsers.
    `EnterKeyEditAction` | `getEnterKeyEditAction()` What to do when a user hits enter while editing a cell: "nextCell": start editing the next editable cell in this record (or the first editable cell in the next record if focus is in the last editable cell in the row) "nextRow": start editing the same field in the next row (skipping any rows where that would be a non-editable cell.
    `java.lang.Boolean` | `getEnumCriteriaAsInitialValues()` In a ListGrid that has a DataSource and has filter criteria that include values for fields declared as `type "enum"` in the DataSource, by default a newly edited row will use those filter criteria as initial values.
    `java.lang.Integer` | `getErrorIconHeight()` Height of the error icon, if we're showing icons when validation errors occur.
    `java.lang.String` | `getErrorIconSrc()` Src of the image to show as an error icon, if we're showing icons when validation errors occur.
    `java.lang.Integer` | `getErrorIconWidth()` Height of the error icon, if we're showing icons when validation errors occur.
    `EscapeKeyEditAction` | `getEscapeKeyEditAction()` What to do when a user hits escape while editing a cell: "cancel": close the editor and discard the current set of edit values "done": just close the editor (the edit is complete, but the edited values are retained).
    `int` | `getEventColumn()` Returns the column number of the most recent mouse event.
    `int` | `getEventColumn(java.lang.Integer x)` Returns the column number of the most recent mouse event.
    `int` | `getEventRow()` Returns the row number of the most recent mouse event.
    `int` | `getEventRow(java.lang.Integer y)` Returns the row number of the most recent mouse event.
    `java.lang.Boolean` | `getExpansionCanEdit()` For `expansionModes` that show another grid or tree, is that component editable?
    `protected Canvas` | `getExpansionComponent(ListGridRecord record)` Gets the embedded-component to show as a given record's expansionComponent.
    `ExpansionComponentPoolingMode` | `getExpansionComponentPoolingMode()` The method of `component-pooling` to employ for `expansionComponents`.
    `HTMLFlow` | `getExpansionDetailField()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `HLayout` | `getExpansionDetailRelated()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `DetailViewer` | `getExpansionDetails()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `DynamicForm` | `getExpansionEditor()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.Boolean` | `getExpansionEditorCollapseOnSave()` When `ExpansionMode` is editor, should the row be collapsed following a save initiated by the expansion-component's `save button`.
    `IButton` | `getExpansionEditorSaveButton()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.String` | `getExpansionEditorSaveButtonTitle()` The title for the `expansionEditorSaveButton`.
    `java.lang.String` | `getExpansionEditorSaveDialogPrompt()` When `canExpandRecords` is true and `expansionMode` is editor, the prompt to display in a dialog when an expanded row is collapsed while it's nested editor has changed values.
    `java.lang.Boolean` | `getExpansionEditorShowSaveDialog()` When `canExpandRecords` is true and `expansionMode` is editor, whether a dialog should be displayed when an expanded row is collapsed while it's nested editor has changed values.
    `ListGridField` | `getExpansionField()` The field providing the facility to expand and collapse rows.
    `java.lang.String` | `getExpansionFieldFalseImage()` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for collapsed rows.
    `java.lang.Integer` | `getExpansionFieldImageHeight()` If `canExpandRecords` is set to `true`, this property may be set to govern the height of the expansion image displayed to indicate whether a row is expanded.
    `java.lang.Integer` | `getExpansionFieldImageWidth()` If `canExpandRecords` is set to `true`, this property may be set to govern the width of the expansion image displayed to indicate whether a row is expanded.
    `java.lang.String` | `getExpansionFieldTrueImage()` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for expanded rows.
    `VLayout` | `getExpansionLayout()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `ExpansionMode` | `getExpansionMode()` The `ExpansionMode` for records in this grid.
    `ListGrid` | `getExpansionRelated()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.Boolean` | `getExportAll()` Setting exportAll to true prevents the component from passing its list of fields to the export call.
    `java.lang.String` | `getExportAlternateRowBGColor()` When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for even-numbered rows, to create a "banded" or "ledger" effect.
    `java.lang.String` | `getExportBGColor(int rowNum, int colNum, Record record)` When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for the cell at the given rowNum and colNum.
    `java.lang.String` | `getExportColumnBGColor(int colNum)` When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for the given colNum.
    `java.lang.String` | `getExportDefaultBGColor()` Default background color to use when exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`.
    `boolean` | `getExportFieldAlignments()` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether field `horizontal header alignments` and `data value alignments` should be replicated in the resulting spreadsheet.
    `java.lang.String[]` | `getExportFields()` The list of field-names to export.
    `boolean` | `getExportFieldWidths()` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether widths of fields should be replicated in the resulting spreadsheet.
    `boolean` | `getExportHeaderHeights()` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, causes the `headerHeight` and `headerSpan heights` to be applied to the corresponding cells in the spreadsheet.
    `java.lang.Boolean` | `getExportRawValues()` Dictates whether the data in this grid should be exported raw by `exportClientData()`.
    `java.lang.String` | `getExportRowBGColor(int rowNum, Record record)` When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for the given rowNum.
    `double` | `getExportWidthScale()` Scaling factor to translate from ListGrid field widths in pixels to Excel/OpenOffice units for field width, which are 1/256th of the width of the widest digit character in the default font for the spreadsheet.
    `boolean` | `getExportWrapHeaderTitles()` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether titles in the `ListGrid header` and `headerSpans` should be allowed to wrap.
    `int` | `getFetchDelay()` If we're showing the filterEditor (`showFilterEditor` is true), and we're re-filtering on every keypress (`filterOnKeypress` is true), this property is the delay in milliseconds between the user changing the filter and the filter request being kicked off.
    `java.lang.String` | `getFetchOperation()` Operation ID this component should use when performing fetch operations.
    `ListGridField` | `getField(int colNum)` Given a column number or field name, return the field definition.
    `ListGridField` | `getField(java.lang.String fieldName)` Given a column number or field name, return the field definition.
    `java.lang.String` | `getFieldName(int colNum)` Given a column number or field id, return the field name of a field.
    `int` | `getFieldNum(int fieldID)` Given a field or field id, return it's index in the fields array
    `int` | `getFieldNum(java.lang.String fieldID)` Given a field or field id, return it's index in the fields array
    `java.lang.String[]` | `getFieldPickerFieldProperties()` Names of properties on `ListGridField` for which the `FieldPicker` should show an editing interface, for convenience.
    `java.lang.Boolean` | `getFieldPickerShowSampleValues()` When set to false, sample values of the FieldPicker are never shown.
    `FieldPickerWindow` | `getFieldPickerWindow()` Instance of `FieldPickerWindow` used if `useAdvancedFieldPicker` is set.
    `ListGridField[]` | `getFields()` An array of field objects, specifying the order, layout, formatting, and sorting behavior of each field in the listGrid object.
    `java.lang.String` | `getFieldState()` Initial `field state` for the grid.
    `java.lang.String` | `getFieldTitle(int fieldId)` Return the title of a field, specified by name or index.
    `java.lang.String` | `getFieldTitle(java.lang.String fieldId)` Return the title of a field, specified by name or index.
    `java.lang.String` | `getFieldVisibilitySubmenuTitle()` If we're showing a `headerContextMenu` for this grid, and `this.canPickFields` is true, this attribute will be shown as the title for the menu item which contains a submenu with items allowing the user to show and hide fields in the grid.
    `java.lang.Integer` | `getFieldWidth(int fieldNum)` Returns a numeric value for the width of some field within this `ListGrid`.
    `java.lang.Integer` | `getFieldWidth(java.lang.String fieldName)` Returns a numeric value for the width of some field within this `ListGrid`.
    `java.lang.String` | `getFilterButtonPrompt()` The prompt to show when the mouse hovers over the Filter button in the FilterEditor.
    `Button` | `getFilterButtonProperties()` If `showFilterEditor` is true, this attribute may be used to customize the filter button shown to the right of the filterEditor row.
    `java.lang.Boolean` | `getFilterByCell()` If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user puts focus in a different field in the filter editor.
    `RecordEditor` | `getFilterEditor()` If `showFilterEditor` is set to true, the `filterEditor` is automatically created as an AutoChild. Developers may customize the AutoChild using `filterEditorProperties`.
    `Criteria` | `getFilterEditorCriteria()` If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`.
    `Criteria` | `getFilterEditorCriteria(java.lang.Boolean omitHiddenFields)` If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`.
    `AdvancedCriteria` | `getFilterEditorCriteriaAsAdvancedCriteria()` If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`.
    `int` | `getFilterEditorHeight()` Height for the filterEditor, if shown.
    `RecordEditor` | `getFilterEditorProperties()` Properties to apply to the automatically generated `filterEditor` if `showFilterEditor` is true.
    `java.lang.Boolean` | `getFilterLocalData()` If this grid has its `data property` set to a static array of records, should `ListGrid.filterData()` filter this array?
    `java.lang.Boolean` | `getFilterOnKeypress()` If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user modifies the value in a field of the filter-editor.
    `java.lang.Boolean` | `getFixedFieldWidths()` Should we horizontally clip cell contents, or allow columns to expand horizontally to show all contents?
    `java.lang.Boolean` | `getFixedRecordHeights()` Should we vertically clip cell contents, or allow rows to expand vertically to show all contents?
    `java.lang.Integer` | `getFocusRow()` Get the row that currently has keyboard focus.
    `java.lang.String` | `getFormulaBuilderSpanTitleSeparator()` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInFormulaBuilder` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid in the FormulaBuilder and SummaryBuilder.
    `java.lang.Double` | `getFormulaFieldValue(ListGridField field, Record record)` Get the computed value of a `canAddFormulaFields`.
    `java.lang.String` | `getFreezeFieldText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.
    `java.lang.String` | `getFreezeOnLeftText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the left of the scrollable body.
    `java.lang.String` | `getFreezeOnRightText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the right of the scrollable body.
    `java.lang.String` | `getFrozenBaseStyle()` If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields.
    `java.lang.String` | `getFrozenHeaderBaseStyle()` If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields.
    `java.lang.String` | `getFrozenHeaderTitleStyle()` If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields.
    `java.lang.Boolean` | `getGenerateClickOnEnter()` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.
    `java.lang.Boolean` | `getGenerateClickOnSpace()` If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.
    `java.lang.Boolean` | `getGenerateDoubleClickOnEnter()` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.
    `java.lang.Boolean` | `getGenerateDoubleClickOnSpace()` If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.
    `ListGridComponent[]` | `getGridComponents()` Array of components that make up this grid.
    `GridRenderer` | `getGridRenderer()` Synonym of `getBody()`.
    `java.lang.Object` | `getGridSummary(ListGridField field)` When `showGridSummary` is `true` this method is called for each field which will show a grid summary value (as described in `showGridSummary`) to get the summary value to display below the relevant column.
    `ListGridRecord[]` | `getGridSummaryData()` This method returns the data displayed in the `summaryRow` when `showGridSummary` is true.
    `java.lang.String` | `getGridSummaryRecordProperty()` If `showGridSummary` is true, this attribute will be set to true on the record object representing the grid summary row.
    `int` | `getGroupByAsyncThreshold()` When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.
    `java.lang.String[]` | `getGroupByFields()` Get the current grouping of this listGrid as an array of fieldNames.
    `java.lang.String[]` | `getGroupByFieldSummaries()` If this grid is `grouped`, and `showGroupSummary` is true, this attribute may be set to an array of groupBy field names for which group summaries should appear.
    `int` | `getGroupByMaxRecords()` Maximum number of records to which a groupBy can be applied.
    `java.lang.String` | `getGroupByText()` If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.
    `java.lang.String` | `getGroupIcon()` The URL of the base icon for the group icons in this listGrid.
    `int` | `getGroupIconSize()` Default width and height of group icons for this ListGrid.
    `int` | `getGroupIndentSize()` Default number of pixels by which to indent subgroups relative to parent group.
    `int` | `getGroupLeadingIndent()` Default number of pixels by which to indent all groups.
    `java.lang.String` | `getGroupNodeBaseStyle()` `Base style` for `group` rows.
    `java.lang.String` | `getGroupNodeStyle()` The CSS style that `group` rows will have.
    `SortDirection` | `getGroupSortDirection()` When `sortByGroupFirst` is active, the sorting direction applied for implicit sorting by the field(s) used for grouping.
    `java.lang.String` | `getGroupState()` Initial group state for the grid.
    `ListGridRecord[]` | `getGroupSummaryData(Record[] records, Record groupNode)` If this grid is `grouped`, and `showGroupSummary` is true, this method will return the group summary data displayed at the end of the group.
    `java.lang.String` | `getGroupSummaryRecordProperty()` If `showGroupSummary` is true, this attribute will be set to true on each record object representing a group-level summary row.
    `java.lang.String` | `getGroupSummaryStyle()` `customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
    `ListGridField` | `getGroupTitleColumnProperties()` Custom properties for the automatically generated `groupTitleColumn`.
    `java.lang.String` | `getGroupTitleField()` When a list grid is `grouped`, each group shows under an auto generated header node.
    `Tree` | `getGroupTree()` If the ListGrid is grouped, return the underlying tree structure.
    `ListGridRecord[]` | `getGroupTreeSelection()` If this grid `is grouped`, this method will return the current selection.
    `ListGridRecord[]` | `getGroupTreeSelection(boolean excludePartialSelection)`
    `ListGridRecord[]` | `getGroupTreeSelection(boolean excludePartialSelection, boolean groupNodesOnly)` If this grid `is grouped`, this method will return the current selection.
    `Layout` | `getHeader()` A Toolbar used to manager the headers shown for each column of the grid.
    `AutoFitEvent` | `getHeaderAutoFitEvent()` Event on a ListGrid header that triggers auto fitting to data and/or title.
    `java.lang.String` | `getHeaderBackgroundColor()` BackgroundColor for the header toolbar.
    `java.lang.String` | `getHeaderBarStyle()` Set the CSS style used for the header as a whole.
    `java.lang.String` | `getHeaderBaseStyle()` `baseStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `Button` | `getHeaderButtonProperties()` Properties to apply to all header buttons.
    `Canvas` | `getHeaderContextMenu()` The context menu displayed for column headers.
    `protected MenuItem[]` | `getHeaderContextMenuItems(java.lang.Integer fieldNum)` If `showHeaderContextMenu` is `true` this method returns the menu items to be displayed in the default header context menu.
    `int` | `getHeaderHeight()` The height of this listGrid's header, in pixels.
    `Alignment` | `getHeaderHoverAlign()` This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover()`.
    `java.lang.Integer` | `getHeaderHoverHeight()` Optional default height for the hover shown on `ListGrid.headerHover()`.
    `java.lang.Integer` | `getHeaderHoverOpacity()` This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover()`.
    `java.lang.String` | `getHeaderHoverStyle()` This property may be set to customize the css style for the hover shown on `ListGrid.headerHover()`.
    `VerticalAlignment` | `getHeaderHoverVAlign()` This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover()`.
    `java.lang.Integer` | `getHeaderHoverWidth()` Optional default width for the hover shown on `ListGrid.headerHover()`.
    `java.lang.Boolean` | `getHeaderHoverWrap()` This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover()`.
    `StatefulCanvas` | `getHeaderMenuButton()` If `showHeaderMenuButton` is true, when the user rolls over the header buttons in this grid the headerMenuButton will be shown over the header button in question.
    `int` | `getHeaderMenuButtonHeight()` If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`
    `java.lang.String` | `getHeaderMenuButtonIcon()` If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`
    `int` | `getHeaderMenuButtonIconHeight()` If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`
    `int` | `getHeaderMenuButtonIconWidth()` If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`
    `int` | `getHeaderMenuButtonWidth()` If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`
    `StatefulCanvas` | `getHeaderSpan()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `protected MenuItem[]` | `getHeaderSpanContextMenuItems(HeaderSpan headerSpan)` Return the menus items that should be shown in a menu triggered from a `headerSpan`.
    `java.lang.Integer` | `getHeaderSpanHeight()` Default height for a `headerSpan` with no height specified.
    `java.lang.String` | `getHeaderTitleStyle()` `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `java.lang.Boolean` | `getHiliteCanReplaceValue()` If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value.
    `java.lang.String` | `getHiliteEditorSpanTitleSeparator()` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInHiliteEditor` is true, this string will be inserted between the headerSpan title and the field title in the hiliteEditor field chooser grid.
    `boolean` | `getHiliteHTMLAfterFormat()` If set to true, custom HTML applied as part of hiliting will be applied after `formatting` for each cell.
    `java.lang.Integer` | `getHiliteIconHeight()` Height for hilite icons for this listGrid.
    `int` | `getHiliteIconLeftPadding()` How much padding should there be on the left of `hilite icons` by default? Can be overridden at the field level
    `HiliteIconPosition` | `getHiliteIconPosition()` When `hiliteIcons` are present, where the hilite icon will be placed relative to the field value.
    `int` | `getHiliteIconRightPadding()` How much padding should there be on the right of `hilite icons` by default? Can be overridden at the field level
    `java.lang.String[]` | `getHiliteIcons()` Specifies a list of icons that can be used in `hilites`.
    `int` | `getHiliteIconSize()` Default width and height of `hilite icons` for this component.
    `java.lang.Integer` | `getHiliteIconWidth()` Width for hilite icons for this component.
    `java.lang.String` | `getHiliteProperty()` Marker that can be set on a record to flag that record as hilited.
    `java.lang.String` | `getHiliteReplaceValueFieldTitle()` Title used for the text box shown when `hiliteCanReplaceValue` is set.
    `java.lang.Boolean` | `getHiliteRowOnFocus()` When the grid body gets keyboard focus, should we highlight the current focus row, using the rollover cell style?
    `Hilite[]` | `getHilites()` Return the set of hilite-objects currently applied to this DataBoundComponent.
    `java.lang.String` | `getHiliteState()` Get the current hilites encoded as a String, for saving.
    `HoverMode` | `getHoverMode()` When `showHoverComponents` is true, the builtin mode to use when automatically creating a hover component for rows in this grid.
    `java.lang.String` | `getHoverStyle()` Style to apply to hovers shown over this grid.
    `java.lang.Integer` | `getIconPadding()` When using `autoFitFieldWidths`, padding in pixels left on each side of fields that show images.
    `int` | `getImageSize()` Default size of thumbnails shown for fieldTypes image and imageFile.
    `boolean` | `getIncludeHilitesInSummaryFields()` When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?
    `java.lang.String` | `getIncludeInSummaryProperty()` Property name on a record that will be checked to determine whether a record should be included when calculating totals for the `grid summary`.
    `Criteria` | `getInitialCriteria()` Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
    `SortSpecifier[]` | `getInitialSort()` An array of `SortSpecifier` objects used to set up the initial sort configuration for this grid.
    `java.lang.Boolean` | `getInstantScrollTrackRedraw()` If true, if the user clicks on the scroll buttons at the end of the track or clicks once on the scroll track, there will be an instant redraw of the grid content so that the user doesn't see any blank space.
    `java.lang.String` | `getInvalidSummaryValue()` Value to display to the user if showing summary values (through `showGridSummary`, `showGroupSummary` or `listGridFieldType:"summary"`), and the summary function returns `"null"` (implying it was unable to calculate a valid summary value).
    `boolean` | `getIsGrouped()` True if this listgrid is grouped, false otherwise
    `java.lang.String` | `getIsSeparatorProperty()` If `record[this.isSeparatorProperty]` is set for some record, the record will be displayed as a simple separator row.
    `java.lang.Boolean` | `getLeaveScrollbarGap()` Whether to leave a gap for the vertical scrollbar, even when it's not present.
    `java.lang.String` | `getLinkTextProperty()` Property name on a record that will hold the link text for that record.
    `RowEndEditAction` | `getListEndEditAction()` If the user is editing the last record in this listGrid, and attempts to navigate beyond the last row either by tabbing off the last editable field, or using the down arrow key, this property determines what action to take: "next": start editing a new record at the end of the list.
    `java.lang.String` | `getLoadingDataMessage()` The string to display in the body of a listGrid while data is being loaded.
    `java.lang.String` | `getLoadingDataMessageStyle()` The CSS style name applied to the loadingDataMessage string if displayed.
    `java.lang.String` | `getLoadingMessage()` If you have a databound listGrid and you scroll out of the currently loaded dataset, by default you will see blank rows until the server returns the data for those rows.
    `java.lang.String` | `getLocateColumnsBy()` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the column be identified? Note that getLocator() will actually store all available information about the column in the generated string -- this attribute effects how a stored string will be parsed only.
    `java.lang.String` | `getLocateRowsBy()` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the row be identified? Note that getLocator() will actually store all available information about the row in the generated string -- this attribute effects how a stored string will be parsed only.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `int` | `getLongTextEditorThreshold()` When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
    `java.lang.String` | `getLongTextEditorType()` When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
    `java.lang.Integer` | `getMaxExpandedRecords()` When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously.
    `java.lang.String` | `getMaxExpandedRecordsPrompt()` This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.
    `int` | `getMinFieldWidth()` Minimum size, in pixels, for ListGrid headers.
    `java.lang.String` | `getMissingSummaryFieldValue()` If a summary format string contains an invalid field reference, replace the reference with the missingSummaryFieldValue.
    `java.lang.Boolean` | `getModalEditing()` If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.
    `boolean` | `getNavigateOnTab()` If `canSelectCells` is true, this property allows the user to navigate through the cells of a grid using Tab and Shift+Tab keypresses.
    `java.lang.Boolean` | `getNeverValidate()` If true, validation will not occur as a result of cell editing for this grid.
    `java.lang.String` | `getNormalBaseStyle()` "Normal" baseStyle for this listGrid.
    `int` | `getNormalCellHeight()` If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value.
    `java.lang.String` | `getNullGroupTitle()` Default alias to use for groups with no value
    `java.lang.String` | `getOfflineMessageStyle()` The CSS style name applied to the `offlineMessage` if displayed.
    `static ListGrid` | `getOrCreateRef(JavaScriptObject jsObj)`
    `RecordList` | `getOriginalRecordList()` Return the underlying, ungrouped data of this DataBoundComponent as a `RecordList`.
    `ResultSet` | `getOriginalResultSet()` Return the underlying, ungrouped data of this ListGrid as a `ResultSet`.
    `java.lang.String` | `getOriginBaseStyle()` Name of a CSS Style to use as the `baseStyle` for a cell that is currently a selection origin for shifted incremental cell selection.
    `java.lang.Boolean` | `getPoolComponentsPerColumn()` Should recycled `record components`, be pooled per column or per record.
    `java.lang.Boolean` | `getPreventDuplicates()` If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`.
    `java.lang.Boolean` | `getPrintAutoFit()` Whether cell contents should wrap during printing.
    `java.lang.String` | `getPrintBaseStyle()` Style for non-header cells in printed output.
    `java.lang.String` | `getPrintBooleanBaseStyle()` If set, the `booleanBaseStyle` to use when printing.
    `java.lang.String` | `getPrintBooleanFalseImage()` If set, the `booleanFalseImage` to use when printing.
    `java.lang.String` | `getPrintBooleanPartialImage()` If set, the `booleanPartialImage` to use when printing.
    `java.lang.String` | `getPrintBooleanTrueImage()` If set, the `booleanTrueImage` to use when printing.
    `java.lang.String` | `getPrintCheckboxFieldFalseImage()` If set, the `checkboxFieldFalseImage` to use when printing.
    `java.lang.String` | `getPrintCheckboxFieldPartialImage()` If set, the `checkboxFieldPartialImage` to use when printing.
    `java.lang.String` | `getPrintCheckboxFieldTrueImage()` If set, the `checkboxFieldTrueImage` to use when printing.
    `java.lang.String` | `getPrintHeaderStyle()` Style for header cells in printed output.
    `int` | `getPrintMaxRows()` Advanced property - when generating printHTML for a large ListGrid, rows are printed in batches in order to avoid triggering a native "script is running slowly" browser dialog.
    `java.lang.Boolean` | `getPrintWrapCells()` Whether cell contents should wrap during printing.
    `java.lang.Boolean` | `getProgressiveLoading()` Indicates whether or not this component will load its data `progressively`
    `float` | `getQuickDrawAheadRatio()` Alternative to `drawAheadRatio`, to be used when the user is rapidly changing the grids viewport (for example drag scrolling through the grid).
    `ListGridRecord` | `getRecord(int recordNum)` Return the pointer to a particular record by record number.
    `java.lang.String` | `getRecordBaseStyleProperty()` This attribute allows custom base styles to be displayed on a per-record basis.
    `java.lang.String` | `getRecordCanRemoveProperty()` If set to false on a record and `canRemoveRecords` is true, removal of that record is disallowed in the UI.
    `java.lang.String` | `getRecordCanSelectProperty()` If set to false on a record, selection of that record is disallowed.
    `Canvas` | `getRecordComponent(int rowNum)` Retrieve the `recordComponent` currently being shown at the given coordinates.
    `Canvas` | `getRecordComponent(int rowNum, java.lang.Integer colNum)` Retrieve the `recordComponent` currently being shown at the given coordinates.
    `java.lang.Integer` | `getRecordComponentHeight()` If `showRecordComponents` is true, this attribute may be used to specify a standard height for record components.
    `RecordComponentPoolingMode` | `getRecordComponentPoolingMode()` The method of `component-pooling` to employ for `recordComponents`.
    `EmbeddedPosition` | `getRecordComponentPosition()` if `showRecordComponents` is true, how should the component appear within the cell.
    `java.lang.String` | `getRecordDetailDSProperty()` The name of the ListGridRecord property that specifies the DataSource to use when `listGrid.expansionMode` is "related".
    `RecordDropAppearance` | `getRecordDropAppearance()` If `canAcceptDroppedRecords` is true for this listGrid, this property governs whether the user can drop between, or over records within the grid.
    `RecordDropPosition` | `getRecordDropPosition()` Returns the `RecordDropPosition` for some record drop operation.
    `java.lang.String` | `getRecordEditProperty()` Property name on a record that should be checked to determine whether the record may be edited.
    `java.lang.String` | `getRecordEnabledProperty()` Property name on a record that will be checked to determine whether a record is enabled.
    `int` | `getRecordIndex(ListGridRecord record)` Get the index of the provided record.
    `int` | `getRecordIndex(Record record)` Get the index of the provided record.
    `RecordList` | `getRecordList()` Return the underlying data of this DataBoundComponent as a `RecordList`.
    `ListGridRecord[]` | `getRecords()` Returns the current set of records displayed in this grid as an array of ListGridRecord objects.
    `java.lang.String` | `getRecordSummaryBaseStyle()` If showing any record summary fields (IE: fields of `type:"summary"`), this attribute specifies a custom base style to apply to cells in the summary field
    `DataSource` | `getRelatedDataSource(ListGridRecord record)` Returns the `DataSource` containing data related to the passed record.
    `java.lang.String` | `getRemovedCSSText()` Custom CSS text to be applied to records that have been `marked for removal`.
    `JavaScriptObject` | `getRemoveFieldDefaults()` Returns a JavaScriptObject containing default `ListGridField` attributes of remove fields.
    `ListGridField` | `getRemoveFieldProperties()` Configuration properties for the "remove field" displayed when `canRemoveRecords` is enabled.
    `java.lang.String` | `getRemoveFieldTitle()` The title to use for the `remove field`.
    `java.lang.String` | `getRemoveIcon()` When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
    `int` | `getRemoveIconSize()` Default width and height of `remove icons` for this ListGrid.
    `java.lang.String` | `getRemoveOperation()` Operation ID this component should use when performing remove operations.
    `boolean` | `getReselectOnUpdate()` If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes.
    `SelectionNotificationType` | `getReselectOnUpdateNotifications()` if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.
    `boolean` | `getResizeFieldsInRealTime()` If `true`, the grid contents are redrawn in real time as fields are resized.
    `ResultSet` | `getResultSet()` Return the underlying data of this DataBoundComponent as a `ResultSet`.
    `java.lang.Boolean` | `getReverseRTLAlign()` If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?
    `protected Canvas` | `getRollOverCanvas(java.lang.Integer rowNum, java.lang.Integer colNum)` If the `rollOverCanvas` is enabled, this method will be called to create the canvas to display over the current row or cell when a user moves their mouse over the row.
    `protected Canvas` | `getRollUnderCanvas(java.lang.Integer rowNum, java.lang.Integer colNum)` If the `rollUnderCanvas` is enabled, this method will be called to create the canvas to display under the current row or cell when a user moves their mouse over the row.
    `RowEndEditAction` | `getRowEndEditAction()` If the user is editing a record in this listGrid, and attempts to navigate to a field beyond the end of the row, via tab (or shift-tab off the first editable field), this property determines what action to take: "next": start editing the next (or previous) record in the list "same": put focus back into the first editable field of the same record.
    `java.util.Map` | `getRowErrors(int rowNum)` Returns any currently stored validation errors for this row in the following format: `{fieldName:[array of error messages], ...}`
    `int` | `getRowHeight(ListGridRecord record, int rowNum)` Return the height this row should be.
    `int` | `getRowNum(ListGridRecord record)` Synonym of `getRecordIndex()`.
    `ListGridField` | `getRowNumberField()` An automatically generated field that displays the current row number when `showRowNumbers` is true.
    `int` | `getRowNumberStart()` The number to start the row-count from - default value is 1.
    `java.lang.String` | `getRowNumberStyle()` The CSS Style name for the `rowNumberField`.
    `int` | `getRowPageTop(int rowNum)` Returns the Y-coordinate for a given row number as a page-relative coordinate.
    `int` | `getRowSpan(ListGridRecord record, int rowNum, int colNum)` Return how many rows this cell should span.
    `RowSpanEditMode` | `getRowSpanEditMode()` If `allowRowSpanning` is enabled, this property may be used to specify editing behavior for cells that span multiple rows.
    `RowSpanSelectionMode` | `getRowSpanSelectionMode()` Chooses the selection mode when `useRowSpanStyling` is enabled.
    `int` | `getRowTop(int rowNum)` Returns the top coordinate for a given row number, relative to the top of body content.
    `java.lang.Boolean` | `getSaveByCell()` Whether edits should be saved whenever the user moves between cells in the current edit row.
    `java.lang.Boolean` | `getSaveLocally()` For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server.
    `DSRequest` | `getSaveRequestProperties()` For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).
    `java.lang.String` | `getScreenReaderCellSeparator()` When `screen reader mode` is enabled, this invisible separator string is written out between each cell value.
    `java.lang.String` | `getScreenReaderRowSeparator()` When `screen reader mode` is enabled, this invisible string will be written out after the last cell in a row.
    `int` | `getScrollRedrawDelay()` While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user.
    `Alignment` | `getScrollToCellXPosition()` When scrollToCell is called, this is used as defaults if xPosition weren't explicitly passed into the method.
    `VerticalAlignment` | `getScrollToCellYPosition()` When scrollToCell is called, this is used as defaults if yPosition weren't explicitly passed into the method.
    `java.lang.Integer` | `getScrollWheelRedrawDelay()` While scrolling an incrementally rendered grid, using the mouseWheel, time in milliseconds to wait before redrawing, after the last mouseWheel movement by the user.
    `RecordList` | `getSelectedCellData()` Returns the selected cells as a series of Records where each field value is stored under it's offset from the top-left of the selection.
    `ListGridRecord` | `getSelectedRecord()` Returns the first selected record in this grid.
    `ListGridRecord[]` | `getSelectedRecords()` Returns all selected records in this grid.
    `ListGridRecord[]` | `getSelectedRecords(boolean excludePartialSelections)` Returns all selected records in this grid.
    `java.lang.String` | `getSelectedState()` Returns a snapshot of the current selection within this listGrid as a `ListGridSelectedState` object. This object can be passed to `ListGrid.setSelectedState()` to reset this grid's selection the current state (assuming the same data is present in the grid).
    `java.lang.Boolean` | `getSelectHeaderOnSort()` If true, show the field-header for the sorted field (or the first field in a `multi-sort` grid) in the selected state.
    `ListGridRecord[]` | `getSelection()` Deprecated. use `getSelectedRecords()` instead
    `ListGridRecord[]` | `getSelection(boolean excludePartialSelections)` Deprecated. use `getSelectedRecords(boolean)` instead
    `SelectionAppearance` | `getSelectionAppearance()` How selection of rows should be presented to the user.
    `java.lang.String` | `getSelectionProperty()` If specified, the selection object for this list will use this property to mark records as selected.
    `SelectionStyle` | `getSelectionType()` Defines a listGrid's clickable-selection behavior.
    `java.lang.Boolean` | `getSelectOnEdit()` When the user starts editing a row, should the row also be selected?
    `java.lang.Boolean` | `getShowAllColumns()` Whether all columns should be drawn all at once, or only columns visible in the viewport.
    `java.lang.Boolean` | `getShowAllRecords()` Whether all rows should be drawn all at once, or only rows visible in the viewport.
    `java.lang.Boolean` | `getShowAsynchGroupingPrompt()` If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
    `java.lang.Boolean` | `getShowBackgroundComponents()` If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
    `java.lang.Boolean` | `getShowCellContextMenus()` Whether to show a context menu with standard items for all context clicks on rows in the body.
    `boolean` | `getShowClippedHeaderTitlesOnHover()` If true and a header button's title is clipped, then a hover containing the full field title is enabled.
    `java.lang.Boolean` | `getShowClippedValuesOnHover()` If true and a cell's value is clipped, then a hover containing the full cell value is enabled.
    `java.lang.Boolean` | `getShowCollapsedGroupSummary()` Should group summaries be visible when the group is collapsed?
    `java.lang.Boolean` | `getShowComplexFields()` Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.
    `java.lang.Boolean` | `getShowDetailFields()` Whether to include fields marked `detail:true` from this component's `DataSource`.
    `java.lang.Boolean` | `getShowEmptyMessage()` Indicates whether the text of the emptyMessage property should be displayed if no data is available.
    `boolean` | `getShowErrorIcons()` If this grid is editable, and an edit has caused validation failure for some cell, should we show an icon to indicate validation failure?
    `java.lang.Boolean` | `getShowExpansionEditorSaveButton()` When `ExpansionMode` is editor, should a Save button be shown below the the expanded editor?
    `boolean` | `getShowFilterEditor()` Should this listGrid display a filter row.
    `java.lang.Boolean` | `getShowGridSummary()` Should this ListGrid show a summary row beneath the last record of the grid.
    `java.lang.Boolean` | `getShowGroupSummary()` If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields.
    `java.lang.Boolean` | `getShowGroupSummaryInHeader()` If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.
    `java.lang.Boolean` | `getShowGroupTitleColumn()` If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.
    `java.lang.Boolean` | `getShowHeader()` Should we show the header for this ListGrid?
    `java.lang.Boolean` | `getShowHeaderContextMenu()` Whether to show a context menu on the header with standard items for showing and hiding fields.
    `java.lang.Boolean` | `getShowHeaderMenuButton()` If set to true and `showHeaderContextMenu` is true, the `headerMenuButton` will be displayed when the user rolls over the header buttons in this grid.
    `java.lang.Boolean` | `getShowHeaderSpanTitlesInFormulaBuilder()` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
    `java.lang.Boolean` | `getShowHeaderSpanTitlesInHiliteEditor()` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
    `java.lang.Boolean` | `getShowHeaderSpanTitlesInSortEditor()` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
    `java.lang.Boolean` | `getShowHiddenFields()` Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.
    `boolean` | `getShowHilitesInGroupSummary()` Determines whether hiliting for any field in this grid is shown in a group summary.
    `java.lang.Boolean` | `getShowHover()` If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse.
    `java.lang.Boolean` | `getShowHoverComponents()` When set to true and canHover is also true, shows a widget hovering at the mouse point.
    `java.lang.Boolean` | `getShowPartialSelection()` Should partially selected parents (in a Tree data set) be shown with special icon? This has an impact in grouped grids where `canSelectGroups` is true.
    `java.lang.Boolean` | `getShowRecordComponents()` When enabled, `ListGrid.createRecordComponent()` will be called when saved rows are being rendered, and any returned component will be displayed embedded within the row or cell.
    `java.lang.Boolean` | `getShowRecordComponentsByCell()` If true, shows `recordComponents` in cells, rather than just in records.
    `java.lang.Boolean` | `getShowRollOver()` Should a different styling be shown for the cell that the mouse is over? By default, this is `true`, except on touch devices (`isTouch` is `true`) for which the default `showRollOver` setting is `false`.
    `java.lang.Boolean` | `getShowRollOverCanvas()` When enabled, when the mouse moves over a row or cell (depending on `useCellRollOvers`), an arbitrary Canvas can be shown layered on top of the row or cell (the `rollOverCanvas`), layered underneath the row or cell (the `rollUnderCanvas`), or both.
    `java.lang.Boolean` | `getShowRollUnderCanvas()` If roll overs are enabled, should the `rollUnderCanvas` be displayed?
    `java.lang.Boolean` | `getShowRowNumbers()` When set to true, shows an additional field at the beginning of the field-list (respecting RTL) that displays the current rowNum for each record.
    `java.lang.Boolean` | `getShowSelectedStyle()` Should the "Selected" style be applied to selected records?
    `java.lang.Boolean` | `getShowSelectionCanvas()` If `selectionType` is set to `SelectionStyle.SINGLE`, setting this property to `true` means selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling.
    `java.lang.Boolean` | `getShowSelectionUnderCanvas()` If `selectionType` is set to `SelectionStyle.SINGLE`, and either `showSelectionCanvas` is `true` and `showSelectionUnderCanvas` is unset, or `showSelectionUnderCanvas` is explicitly set to `true`, then selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling.
    `SortArrow` | `getShowSortArrow()` Indicates whether a sorting arrow should appear for the listGrid, and its location.
    `java.lang.Boolean` | `getShowSortNumerals()` When multiple fields are sorted, set this to false to hide the sort-numeral displayed by default after the sort-arrows in the header-buttons of sorted fields.
    `java.lang.Boolean` | `getShowTreeColumnPicker()` When `headerSpans` are in use, whether to show a hierarchical column picker that includes both headerSpans and normal headers, with normal headers indented under headerSpans similarly to how a `TreeGrid` displays a Tree.
    `java.lang.Boolean` | `getShrinkForFreeze()` If this list grid is showing any `frozen` fields, and a horizontal scrollbar is visible at the bottom of the liquid columns, should an equivalent scrollbar gap be left visible below the frozen columns? Note that if set to `true` any backgroundColor or border applied to the ListGrid will show up below the bottom row of the frozen column(s).
    `java.lang.String` | `getSingleCellValueProperty()` If `record[this.singleCellValueProperty]` is set for some record, the record will be displayed as a single cell spanning every column in the grid, with contents set to the value of `record[this.singleCellValueProperty]`.
    `java.lang.String` | `getSkinImgDir()` Where do 'skin' images (those provided with the class) live?
    `SortSpecifier[]` | `getSort()` Returns the current `SortSpecifiers` for this ListGrid.
    `ImgProperties` | `getSortAscendingImage()` Image to show when sorting ascending.
    `java.lang.Boolean` | `getSortByGroupFirst()` If set, whenever grouping is performed by an end user or by a programmatic call to `ListGrid.groupBy()`, data is implicitly sorted by all of the grouped columns, in the order they were passed to groupBy.
    `ImgProperties` | `getSortDescendingImage()` Image to show when sorting descending.
    `SortDirection` | `getSortDirection()` Sorting direction of this ListGrid.
    `java.lang.String` | `getSortEditorSpanTitleSeparator()` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInSortEditor` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid on the multi-sort editor
    `java.lang.String` | `getSorterButtonTitle()` The title for the corner sort button.
    `java.lang.String` | `getSortField()` Specifies the field by which this grid should be initially sorted.
    `java.lang.String` | `getSortFieldAscendingText()` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in ascending order.
    `int` | `getSortFieldCount()` Returns the number of fields involved in this grid's current sort configuration.
    `java.lang.String` | `getSortFieldDescendingText()` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in descending order.
    `java.lang.String` | `getSortNumeralHTML(java.lang.String fieldName, int sortIndex)` When multiple fields are sorted, this method returns the HTML for the sort-numeral that appears after the sort-arrows in the header-buttons of sorted fields.
    `java.lang.String` | `getSortNumeralStyle()` When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.
    `SortSpecifier` | `getSortSpecifier(java.lang.String fieldName)` Returns the `SortSpecifier` for the passed fieldName, or null if the field is not sorted.
    `java.lang.String` | `getSortState()` Initial sort state for the grid.
    `Layout` | `getSpanContextMenu()` The menu displayed when a cell is right clicked on.
    `java.lang.Boolean` | `getStopOnErrors()` If this is an editable listGrid, this property determines how failure to save due to validation errors should be displayed to the user.
    `java.lang.String` | `getStyleName()` Default CSS class for the ListGrid as a whole.
    `java.lang.String` | `getSummaryFieldValue(ListGridField field, Record record)` Get the computed value of a `summary field`.
    `ListGrid` | `getSummaryRow()` Automatically generated ListGrid for displaying grid summary information (see `showGridSummary`).
    `Criteria` | `getSummaryRowCriteria()` If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row.
    `DataSource` | `getSummaryRowDataSource()` If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary()` and `ListGrid.getGridSummaryFunction()`).
    `DSRequest` | `getSummaryRowFetchRequestProperties()` If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to customize the fetch request used when retrieving summary data to show in the summary row.
    `int` | `getSummaryRowHeight()` Default height for the `summary row autoChild`.
    `java.lang.String` | `getSummaryRowStyle()` `baseStyle` for the `summaryRow`
    `java.lang.String` | `getTallBaseStyle()` "Tall" baseStyle for this listGrid.
    `protected ListGrid` | `getTestInstance()`
    `java.lang.String` | `getTitleField()` Method to return the fieldName which represents the "title" for records in this Component. If this.titleField is explicitly specified it will always be used. Otherwise, default implementation will check `titleField` for databound components. For non databound components returns the first defined field name of `"title"`, `"name"`, or `"id"`.
    `java.lang.String` | `getTitleFieldValue(Record record)` Get the value of the titleField for the passed record
    `java.lang.String` | `getToggleFreezeText(ListGridField field)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to toggle whether a field is frozen or unfrozen.
    `int` | `getTotalRows()` Return the total number of rows in the grid.
    `ImgProperties` | `getTrackerImage()` Default image to use for the dragTracker when things are dragged within or out of this list.
    `java.lang.String` | `getUnfreezeFieldText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.
    `java.lang.String` | `getUngroupText()` If we're showing a `headerContextMenu` for this grid, and `this.isGrouped` is true, this attribute will be shown as the title for the menu item to ungroup the grid.
    `java.lang.String` | `getUnremoveIcon()` When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved()`.
    `java.lang.String` | `getUpdateOperation()` Operation ID this component should use when performing update operations.
    `java.lang.Boolean` | `getUseAdvancedFieldPicker()` If set to true, an advanced field picker based on the `FieldPicker` will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.
    `java.lang.Boolean` | `getUseAllDataSourceFields()` If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.
    `java.lang.Boolean` | `getUseCellRollOvers()` Are rollovers cell-level or row-level?
    `java.lang.Boolean` | `getUseCopyPasteShortcuts()` Enables copy/paste shortcuts, provided `canSelectCells` is true
    `java.lang.Boolean` | `getUseFlatFields()` The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.
    `java.lang.Boolean` | `getUseRemoteValidators()` If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed. Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode.
    `java.lang.Boolean` | `getUseRowSpanStyling()` Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan()` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right.
    `java.lang.Boolean` | `getValidateByCell()` Whether client-side validation checks should be performed when the user moves between cells in the current edit row.
    `java.lang.Boolean` | `getValidateOnChange()` If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
    `java.lang.String` | `getValueIcon(ListGridField field, java.lang.Object value, ListGridRecord record)` Returns the appropriate valueIcon for a cell based on the field and the data value for the cell.
    `java.lang.Integer` | `getValueIconHeight()` Height for value icons for this listGrid.
    `int` | `getValueIconLeftPadding()` How much padding should there be on the left of valueIcons by default Can be overridden at the field level
    `int` | `getValueIconRightPadding()` How much padding should there be on the right of valueIcons by default
    `int` | `getValueIconSize()` Default width and height of value icons for this ListGrid.
    `java.lang.Integer` | `getValueIconWidth()` Width for value icons for this listGrid.
    `java.lang.String` | `getViewState()` Initial `view state` for the grid.
    `java.lang.Boolean` | `getVirtualScrolling()` When incremental rendering is switched on and there are variable record heights, the virtual scrolling mechanism manages the differences in scroll height calculations due to the unknown sizes of un-rendered rows to make the scrollbar and viewport appear correctly.
    `java.lang.Integer[]` | `getVisibleRows()` Get the rows that are currently visible in the viewport, as an array of [firstRowNum, lastRowNum].
    `java.lang.Boolean` | `getWaitForSave()` If this is an editable listGrid, this property determines whether the user will be able to dismiss the edit form, or navigate to another cell while the save is in process (before the asynchronous server response returns).
    `java.lang.Boolean` | `getWarnOnRemoval()` If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
    `java.lang.String` | `getWarnOnRemovalMessage()` Warning message to show the user on a click on the 'remove' icon if `canRemoveRecords` is true and `warnOnRemoval` is true.
    `java.lang.Boolean` | `getWarnOnUnmappedValueFieldChange()` If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).
    `java.lang.Boolean` | `getWrapCells()` Should content within cells be allowed to wrap?
    `java.lang.Boolean` | `getWrapHeaderTitles()` If `wrap` is not explicitly set, should fields wrap?
    `void` | `groupBy(java.lang.String... fields)` Display the current set of records grouped by their values for the given field or fields.
    `java.lang.Boolean` | `hasChanges()` Whether the grid as a whole has any unsaved edits, in any row.
    `java.lang.Boolean` | `hasErrors()` Does this grid currently have errors associated with editValues for any row in the grid.
    `java.lang.String` | `headerHoverHTML(int fieldNum, java.lang.String defaultHTML)` Returns the HTML that is displayed by the default `headerHover` handler.
    `boolean` | `headerTitleClipped(int fieldNum)` Is the field title for the specified field clipped?
    `void` | `hideField(java.lang.String field)` Force a field to be hidden. NOTE: If a field.showIf expression exists, it will be destroyed.
    `void` | `hideField(java.lang.String field, boolean suppressRelayout)` Force a field to be hidden. NOTE: If a field.showIf expression exists, it will be destroyed.
    `void` | `hideFields(ListGridField... fields)` Force an array of fields to be hidden.
    `void` | `hideFields(ListGridField[] fields, boolean suppressRelayout)`
    `void` | `hideFields(java.lang.String... fields)` Force an array of fields to be hidden.
    `void` | `hideFields(java.lang.String[] fields, boolean suppressRelayout)` Force an array of fields to be hidden.
    `void` | `invalidateCache()` Invalidate the current data cache for this databound component via a call to the dataset's `invalidateCache()` method, for example, `ResultSet.invalidateCache()`.
    `void` | `invalidateRecordComponents()` Invalidates the currently visible set of `recordComponents` and gets fresh ones for the visible rows in the grid according to the `recordComponentPoolingMode`
    `java.lang.Boolean` | `isCheckboxField(ListGridField field)` Identifies whether the passed-in field is the specially generated `checkboxField` used when `SelectionAppearance` is "checkbox".
    `java.lang.Boolean` | `isExpanded(ListGridRecord record)` Whether a given `record` is expanded or collapsed.
    `java.lang.Boolean` | `isExpansionField(ListGridField field)` Identifies whether the passed-in field is the specially generated `expansionField` used when `canExpandRecords` is true.
    `boolean` | `isGrouped()` Return true if the ListGrid is grouped on a field.
    `boolean` | `isGroupNode(ListGridRecord record)` If this listGrid is `grouped`, is the record passed in a group header node.
    `java.lang.Boolean` | `isPartiallySelected(ListGridRecord record)` When using tree-oriented selection modes like `cascadeSelection`, returns true if the record is considered partially selected because only some of it's children are selected.
    `java.lang.Boolean` | `isRowNumberField(ListGridField field)` Identifies whether the passed-in field is the specially generated `rowNumberField` used when `showRowNumbers` is true.
    `java.lang.Boolean` | `isSelected(ListGridRecord record)` Returns true if the record is selected.
    `java.lang.Boolean` | `isSortField(java.lang.String fieldName)` Returns true if the passed fieldName is in the current sort-specification.
    `void` | `markForRedraw()` Marks the widget as "dirty" so that it will be added to a queue for redraw.
    `void` | `markForRedraw(java.lang.String reason)` Marks the widget as "dirty" so that it will be added to a queue for redraw.
    `void` | `markRecordRemoved(int rowNum)` Marks a record deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.
    `void` | `markRecordsRemoved(int records)` Marks an array of records deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.
    `void` | `markRecordsRemoved(ListGridRecord... records)` Marks an array of records deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.
    `void` | `markRecordsRemoved(RecordList records)` Marks an array of records deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.
    `void` | `markSelectionRemoved()` Marks the currently selected records as removed, as though `ListGrid.markRecordRemoved()` had been called.
    `protected void` | `onInit_ListGrid()`
    `protected void` | `onInit()`
    `void` | `openRecordDetailGrid(ListGridRecord record, DataSource detailDataSource)` Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
    `void` | `openRecordEditor(ListGridRecord record)` Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
    `static void` | `preloadImages()` Preload primary ListGrid skin images.
    `void` | `recalculateGridSummary()` Refresh the `grid summary`, by either re-calculating from already-loaded data or doing a new fetch from the `summaryRowDataSource`.
    `void` | `recalculateSummaries()` Recalculates values for fields with `summary-functions` or `user formulae` defined and for values displayed in the `grid summary` and `group summary rows`.
    `void` | `recalculateSummaries(Record... records)`
    `void` | `recalculateSummaries(Record[] records, ListGridField... fields)` Recalculates values for fields with `summary-functions` or `user formulae` defined and for values displayed in the `grid summary` and `group summary rows`.
    `boolean` | `recordClick(ListGrid viewer, ListGridRecord record, int recordNum, ListGridField field, int fieldNum, java.lang.Object value, java.lang.Object rawValue)` Executed when the listGrid receives a 'click' event on an enabled, non-separator record.
    `java.lang.Boolean` | `recordMarkedAsRemoved(int rowNum)` Returns true if the specified record is marked as removed via a call to `ListGrid.markRecordRemoved()`
    `void` | `refreshCell(int rowNum, int colNum)` Refresh an individual cell without redrawing the grid.
    `void` | `refreshCell(int rowNum, int colNum, boolean refreshingRow, boolean allowEditCellRefresh)` Refresh an individual cell without redrawing the grid.
    `void` | `refreshCellStyle(int rowNum, int colNum)` Refresh the styling of an individual cell without redrawing the grid.
    `void` | `refreshFields()` Re-evaluates `ListGridField.showIf()` for each field, dynamically showing and hiding the appropriate set of fields
    `void` | `refreshRecordComponent(int rowNum)` Discards any `recordComponent` currently assigned to the specified record (or cell) and gets a fresh one, according to the `recordComponentPoolingMode`
    `void` | `refreshRecordComponent(int rowNum, java.lang.Integer colNum)` Discards any `recordComponent` currently assigned to the specified record (or cell) and gets a fresh one, according to the `recordComponentPoolingMode`
    `void` | `refreshRow(int rowNum)` Refresh an entire row of cells without redrawing the grid.
    `void` | `removeData(Record data)` Remove a record from this ListGrid.
    `void` | `removeData(Record data, DSCallback callback)`
    `void` | `removeData(Record data, DSCallback callback, DSRequest requestProperties)` Remove a record from this ListGrid.
    `void` | `removeEmbeddedComponent(Canvas component)` Removes an embedded component from a grid.
    `void` | `removeEmbeddedComponent(ListGridRecord record)` Removes an embedded component previously associated with the provided record.
    `void` | `removeEmbeddedComponent(ListGridRecord record, java.lang.Integer component)` Removes an embedded component previously associated with the provided record.
    `void` | `removeRecordClick(int rowNum)` Method fired when the user clicks the "remove" icon if `canRemoveRecords` is true.
    `void` | `removeSelectedData()` Remove the currently selected records from this component.
    `void` | `removeSelectedData(DSCallback callback)`
    `void` | `removeSelectedData(DSCallback callback, DSRequest requestProperties)` Remove the currently selected records from this component.
    `void` | `reorderField(int fieldNum, int moveToPosition)` Reorder a particular field
    `void` | `reorderFields(int start, int end, int moveDelta)` Reorder a set of adjacent fields, from start to end exclusive at the end, by distance moveDelta. NOTE: start and end coordinates are in terms of the currently visible fields, not the full set of fields.
    `void` | `resizeField(int fieldNum, int newWidth)` Resize a particular field to a new width.
    `void` | `resort()` If a list has become unsorted due to data modification or a call to `ListGrid.unsort()`, this method will resort the list by the previous `sort-specifier` array, if there is one, or by the previous sort-field and -direction.
    `void` | `rowClick(ListGridRecord record, int recordNum, int fieldNum)` Event handler for when rows in the body are clicked upon.
    `void` | `rowClick(ListGridRecord record, int recordNum, int fieldNum, boolean keyboardGenerated)` Event handler for when rows in the body are clicked upon.
    `void` | `rowDoubleClick(ListGridRecord record, int recordNum, int fieldNum)` Event handler for when a body record is double-clicked.
    `void` | `rowDoubleClick(ListGridRecord record, int recordNum, int fieldNum, boolean keyboardGenerated)` Event handler for when a body record is double-clicked.
    `java.lang.Boolean` | `rowHasChanges(int rowNum)` If this listGrid can be edited, this method will return true if the row passed in has been edited, but the edits have not yet been saved to the ListGrid's data object.
    `java.lang.Boolean` | `rowHasErrors(int rowNum)` Does the specified row have unresolved errors?
    `boolean` | `saveAllEdits()` Save a number of outstanding edits for this ListGrid.
    `boolean` | `saveAllEdits(Function callback)` Save a number of outstanding edits for this ListGrid.
    `boolean` | `saveAllEdits(Function callback, int[] rows)` Save a number of outstanding edits for this ListGrid.
    `void` | `saveEdits()` Validates and saves edits within the row currently being edited (or another row with unsaved edits, if indicated).
    `void` | `saveEdits(EditCompletionEvent editCompletionEvent)`
    `void` | `saveEdits(EditCompletionEvent editCompletionEvent, java.lang.String callback)`
    `void` | `saveEdits(EditCompletionEvent editCompletionEvent, java.lang.String callback, int rowNum)` Validates and saves edits within the row currently being edited (or another row with unsaved edits, if indicated).
    `void` | `scrollBodyTo(java.lang.Integer left, java.lang.Integer top)` Scroll the body of the grid to the specified coordinates.
    `void` | `scrollToCell(int rowNum, int colNum)` Will scroll the listGrid body such that the specified cell is visible close to the centre of the viewport.
    `void` | `scrollToCell(int rowNum, int colNum, Alignment xPosition)`
    `void` | `scrollToCell(int rowNum, int colNum, Alignment xPosition, VerticalAlignment yPosition)` Will scroll the listGrid body such that the specified cell is visible close to the centre of the viewport.
    `void` | `scrollToColumn(int colNum)` Scroll the grid to specified column such that the row appears near the center of the viewport.
    `void` | `scrollToColumn(int colNum, Alignment xPosition)` Scroll the grid to specified column such that the row appears near the center of the viewport.
    `void` | `scrollToRow(int rowNum)` Scroll the grid to specified row such that the row appears near the center of the viewport, loading data if necessary.
    `void` | `scrollToRow(int rowNum, VerticalAlignment yPosition)` Scroll the grid to specified row such that the row appears near the center of the viewport, loading data if necessary.
    `void` | `selectAllRecords()` Select all records
    `void` | `selectRange(int startRow, int endRow)` Select a contiguous range of records by index
    `void` | `selectRange(int startRow, int endRow, boolean newState)` Select a contiguous range of records by index
    `void` | `selectRecord(int record)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecord(int record, boolean newState)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecord(Record record)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecord(Record record, boolean newState)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecords(int[] records)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectRecords(int[] records, boolean newState)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectRecords(Record[] records)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectRecords(Record[] records, boolean newState)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectSingleRecord(int rowNum)` Select a single `Record` passed in explicitly, or by index, and deselect everything else.
    `void` | `selectSingleRecord(Record record)` Select a single `Record` passed in explicitly, or by index, and deselect everything else.
    `void` | `setAddDropValues(java.lang.Boolean addDropValues)` Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key.
    `void` | `setAddFormulaFieldText(java.lang.String addFormulaFieldText)` Text for a menu item allowing users to add a formula field
    `void` | `setAddOperation(java.lang.String addOperation)` Operation ID this component should use when performing add operations.
    `void` | `setAddSummaryFieldText(java.lang.String addSummaryFieldText)` Text for a menu item allowing users to add a formula field
    `void` | `setAdvancedFieldPickerThreshold(int advancedFieldPickerThreshold)` When `useAdvancedFieldPicker` is set, total number of available fields that must be present in the grid before the advanced field picker interface is used instead of the normal columns submenu.
    `void` | `setAllowFilterExpressions(java.lang.Boolean allowFilterExpressions)` For use with `showFilterEditor`:true, allows simple search expressions to be entered into filter fields, as though `allowExpressions` were true.
    `void` | `setAllowRowSpanning(java.lang.Boolean allowRowSpanning)` Should cells in this grid be allowed to span multiple rows? If set to `true`, the `ListGrid.getRowSpan()` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.
    `void` | `setAlternateBodyStyleName(java.lang.String alternateBodyStyleName)` Optional css style to apply to the body if `alternateRecordStyles` is true for this grid.
    `void` | `setAlternateFieldFrequency(int alternateFieldFrequency)` The number of consecutive columns to draw in the same style before alternating, when `alternateColumnStyles` is true.
    `void` | `setAlternateFieldStyles(boolean alternateFieldStyles)` Whether alternating columns should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading.
    `void` | `setAlternateRecordFrequency(int alternateRecordFrequency)` The number of consecutive rows to draw in the same style before alternating, when `alternateRowStyles` is true.
    `void` | `setAlternateRecordStyles(java.lang.Boolean alternateRecordStyles)` Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading.
    `void` | `setAlwaysShowEditors(java.lang.Boolean alwaysShowEditors)` When this attribute is set, editors will be rendered into every row of the grid rather than showing up in a single record at a time.
    `void` | `setAnimateFolderEffect(AnimationAcceleration animateFolderEffect)` When animating folder opening / closing, this property can be set to apply an animated acceleration effect.
    `void` | `setAnimateFolderMaxRows(java.lang.Integer animateFolderMaxRows)` If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
    `void` | `setAnimateFolders(java.lang.Boolean animateFolders)` If true, when folders are opened / closed children will be animated into view.
    `void` | `setAnimateFolderSpeed(int animateFolderSpeed)` When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second.
    `void` | `setAnimateFolderTime(int animateFolderTime)` When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
    `void` | `setAnimateRemoveRecord(java.lang.Boolean animateRemoveRecord)` When `canRemoveRecords` is enabled, should records be animated out of view when they are removed by the user?
    `void` | `setAnimateRemoveSpeed(int animateRemoveSpeed)` When `animating record removal`, this property designates the speed of the animation in pixels per second.
    `void` | `setAnimateRemoveTime(int animateRemoveTime)` When animating record removal `(see animateRemoveRecord)`, if `animateRemoveSpeed` is not set, this property designates the duration of the animation in ms.
    `void` | `setAnimateRollOver(java.lang.Boolean animateRollOver)` If the `rollOverCanvas` is enabled, setting this property to `true` ensures that when the `rollOverCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `void` | `setAnimateRollUnder(java.lang.Boolean animateRollUnder)` If the `rollUnderCanvas` is enabled, setting this property to `true` ensures that when the `rollUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `void` | `setAnimateSelection(java.lang.Boolean animateSelection)` If the `selectionCanvas` is enabled, setting this property to `true` ensures that when the `selectionCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `void` | `setAnimateSelectionUnder(java.lang.Boolean animateSelectionUnder)` If the `selectionUnderCanvas` is enabled, setting this property to `true` ensures that when the `selectionUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`.
    `void` | `setApplyFormulaAfterSummary(java.lang.Boolean applyFormulaAfterSummary)` If `userFormula` is set for some field, and this grid is showing `group summaries` or a `grid summary`, this property determines what field value should be present in those summary rows.
    `void` | `setApplyRowNumberStyle(boolean applyRowNumberStyle)` If `showRowNumbers` is true, should we apply the `rowNumberStyle` to the `rowNumberField`
    `void` | `setArrowKeyAction(java.lang.String arrowKeyAction)` Action to perform when the listGrid has keyboard focus (but not editing focus) and a user presses the up or down arrow key.
    `void` | `setAsynchGroupingPrompt(java.lang.String asynchGroupingPrompt)` The prompt to display while interactivity is blocked during `asynchronous grouping`.
    `void` | `setAutoComplete(AutoComplete autoComplete)` Whether to do inline autoComplete in text fields during inline editing Overridden by `autoComplete` if specified.
    `void` | `setAutoFetchAsFilter(java.lang.Boolean autoFetchAsFilter)` If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
    `void` | `setAutoFetchData(java.lang.Boolean autoFetchData)` If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` .
    `void` | `setAutoFetchDisplayMap(java.lang.Boolean autoFetchDisplayMap)` If true, for fields where `optionDataSource` is specified, a valueMap will be automatically created by making a `DataSource.fetchData()` call against the specified dataSource and extracting a valueMap from the returned records based on the displayField and valueField.
    `void` | `setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)` If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
    `void` | `setAutoFitAllText(java.lang.String autoFitAllText)` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of all visible fields via the `ListGrid.autoFitField()` method.
    `void` | `setAutoFitClipFields(java.lang.String... autoFitClipFields)` If `autoFitFieldWidths` is enabled and the calculated field sizes are wide enough that horizontal scrolling would be introduced, this attribute may be set to an array of fieldNames, causing those fields to be clipped rather than forcing horizontal scrollbars to appear.
    `void` | `setAutoFitData(Autofit autoFitData)` Should this ListGrid automatically expand to accommodate the size of records and fields?
    `void` | `setAutoFitExpandField(java.lang.String autoFitExpandField)` The field to expand if `autoFitFieldWidths` and `autoFitFieldsFillViewport` are enabled and auto-fitting will not fill all available horizontal space.
    `void` | `setAutoFitExtraRecords(java.lang.Integer autoFitExtraRecords)` If `autoFitData` is set to `"vertical"` or `"both"` this property specifies the number of additional records for which the grid will expand.
    `void` | `setAutoFitFieldsFillViewport(java.lang.Boolean autoFitFieldsFillViewport)` If `autoFitFieldWidths` is enabled, and extra space is available after autofitting all fields, should the grid automatically expand one field to fill the extra space.
    `void` | `setAutoFitFieldText(java.lang.String autoFitFieldText)` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of the field to its title or content via a call to `ListGrid.autoFitField()`.
    `void` | `setAutoFitFieldWidths(java.lang.Boolean autoFitFieldWidths)` Enables autofitting of fields to values or titles.
    `void` | `setAutoFitHeaderHeights(java.lang.Boolean autoFitHeaderHeights)` If this property is set to true, header buttons for either `fields` or `header spans` will automatically expand to accommodate their titles vertically.
    `void` | `setAutoFitIconFields(AutoFitIconFieldType autoFitIconFields)` Smart GWT listGrids have special logic to automatically size fields that are displayed as an icon - that is fields with `type:"icon"`, fields displaying only `value icons`, and boolean fields (which are rendered as a checkmark type icon by default.
    `void` | `setAutoFitMaxColumns(int autoFitMaxColumns)` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides the maximum number of columns for which the ListGrid will expand.
    `void` | `setAutoFitMaxHeight(java.lang.Integer autoFitMaxHeight)` If `autoFitData` is set to `"vertical"` or `"both"` this property provides an upper limit on how far the ListGrid will expand vertically to accommodate its content.
    `void` | `setAutoFitMaxRecords(int autoFitMaxRecords)` If `autoFitData` is set to `"vertical"` or `"both"` this property provides the maximum number of records for which the ListGrid will expand.
    `void` | `setAutoFitMaxWidth(java.lang.Integer autoFitMaxWidth)` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides an upper limit on how far the ListGrid will expand horizontally to accommodate its content.
    `void` | `setAutoFitWidth(java.lang.String fieldName, boolean autoFit)` Setter for `autoFitWidth`.
    `void` | `setAutoFitWidthApproach(AutoFitWidthApproach autoFitWidthApproach)` When a user requests column autofitting via the `header context menu` or via a `mouse gesture`, what autofit approach is used.
    `void` | `setAutoSaveEdits(java.lang.Boolean autoSaveEdits)` If this ListGrid is editable, should edits be saved out when the user finishes editing a row (or a cell if `saveByCell` is true).
    `void` | `setAutoSizeHeaderSpans(java.lang.Boolean autoSizeHeaderSpans)` If this listGrid has specified `headerSpans`, setting this attribute to true will cause spans to expand to accommodate long titles if necessary.
    `void` | `setBadFormulaResultValue(java.lang.String badFormulaResultValue)` If the result of a formula evaluation is invalid (specifically, if isNaN(result)==true), badFormulaResultValue is displayed instead.
    `void` | `setBaseStyle(java.lang.String baseStyle)` `base cell style` for this listGrid.
    `void` | `setBodyBackgroundColor(java.lang.String bodyBackgroundColor)` Background color applied to the ListGrid body (that is, the area of the grid where data values are rendered). Note that this will typically not be visible to the user unless there are few enough rows that there is visible space in the body below the last row.
    `void` | `setBodyOverflow(Overflow bodyOverflow)` Overflow setting for the "body", that is, the area of the grid where data values are rendered.
    `void` | `setBodyStyleName(java.lang.String bodyStyleName)` CSS style used for the body of this grid.
    `void` | `setBooleanBaseStyle(java.lang.String booleanBaseStyle)` An optional CSS style to apply to the checkbox image.
    `void` | `setBooleanFalseImage(java.lang.String booleanFalseImage)` Image to display for a false value in a boolean field.
    `void` | `setBooleanImageHeight(int booleanImageHeight)` Height for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `void` | `setBooleanImageWidth(int booleanImageWidth)` Width for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `void` | `setBooleanPartialImage(java.lang.String booleanPartialImage)` Image to display for a partially true value in a boolean field (typically selection).
    `void` | `setBooleanTrueImage(java.lang.String booleanTrueImage)` Image to display for a true value in a boolean field.
    `void` | `setCanAcceptDroppedRecords(java.lang.Boolean canAcceptDroppedRecords)` Indicates whether records can be dropped into this listGrid.
    `void` | `setCanAddFormulaFields(java.lang.Boolean canAddFormulaFields)` Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.
    `void` | `setCanAddSummaryFields(java.lang.Boolean canAddSummaryFields)` Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.
    `void` | `setCanAutoFitFields(java.lang.Boolean canAutoFitFields)` Whether the user able to autofit specific columns to their data and/or title via a context menu item or `headerAutoFitEvent`.
    `void` | `setCancelEditingConfirmationMessage(java.lang.String cancelEditingConfirmationMessage)` If this is an editable listGrid, and `this.confirmCancelEditing` is true this property is used as the message to display in the confirmation dismissal prompt.
    `void` | `setCanCollapseGroup(java.lang.Boolean canCollapseGroup)` Can a group be collapsed/expanded? When true a collapse/expand icon is shown (`groupIcon`) and the user can collapse or expand the group by clicking either the row as a whole or the opener icon (see `collapseGroupOnRowClick`); When false the group icon is not shown and clicking on the row does not change group state.
    `void` | `setCanDragRecordsOut(java.lang.Boolean canDragRecordsOut)` Indicates whether records can be dragged from this listGrid and dropped elsewhere.
    `void` | `setCanDragSelect(java.lang.Boolean canDragSelect)` If this property is true, users can drag the mouse to select several rows or cells.
    `void` | `setCanDragSelectText(java.lang.Boolean canDragSelectText)` If this property is true, users can drag the mouse to select text within grid rows.
    `void` | `setCanDropInEmptyArea(java.lang.Boolean canDropInEmptyArea)` If set to false, dropping over an empty part of the grid body is disallowed and the no-drop indicator is displayed.
    `void` | `setCanEdit(java.lang.Boolean canEdit)` Can the user edit cells in this listGrid? Can be set for the listGrid, and overridden for individual fields. If 'canEdit' is false at the listGrid level, fields can never be edited - in this case the canEdit property on individual fields will be ignored. If 'canEdit' is set to true at the listGrid level, setting the 'canEdit' property to false at the field level will prevent the field from being edited inline. If 'canEdit' is not set at the listGrid level, setting 'canEdit' to true at the field level enables the field to be edited inline.
    `void` | `setCanEditFieldAttribute(java.lang.String canEditFieldAttribute)` If this component is bound to a dataSource, this attribute may be specified to customize what fields from the dataSource may be edited by default.
    `void` | `setCanEditHilites(boolean canEditHilites)` Adds an item to the header context menu allowing users to launch a dialog to define grid hilites using the `HiliteEditor`.
    `void` | `setCanEditTitles(boolean canEditTitles)` If set to true, the `advanced field picker` provides an interface allowing users to modify fields' titles.
    `void` | `setCanExpandMultipleRecords(java.lang.Boolean canExpandMultipleRecords)` When `canExpandRecords` is true, this property indicates whether multiple records can be expanded simultaneously.
    `void` | `setCanExpandRecordProperty(java.lang.String canExpandRecordProperty)` Property name on a record that will be checked to determine whether a record can be expanded.
    `void` | `setCanExpandRecords(java.lang.Boolean canExpandRecords)` When set to true, shows an additional field at the beginning of the field-list (respecting RTL) to allow users to expand and collapse individual records.
    `void` | `setCanFocusInEmptyGrid(boolean canFocusInEmptyGrid)` If the listGrid is empty, should the user be able to put focus into the grid body by tabbing to it?
    `void` | `setCanFreezeFields(java.lang.Boolean canFreezeFields)` Whether an interface should be shown to allow user is allowed to dynamically "freeze" or "unfreeze" columns with respect to horizontally scrolling.
    `void` | `setCanGroupBy(java.lang.Boolean canGroupBy)` If false, grouping via context menu will be disabled.
    `void` | `setCanHover(java.lang.Boolean canHover)` If true, cellHover and rowHover events will fire and then a hover will be shown (if not canceled) when the user leaves the mouse over a row / cell unless the corresponding field has `showHover` set to false.
    `void` | `setCanMultiGroup(boolean canMultiGroup)` When true, indicates that this ListGrid supports grouping on multiple fields.
    `void` | `setCanMultiSort(java.lang.Boolean canMultiSort)` When true, indicates that this ListGrid supports sorting on multiple fields.
    `void` | `setCanPickFields(java.lang.Boolean canPickFields)` Indicates whether the field picker item and submenu should be present in the header context menu.
    `void` | `setCanPickOmittedFields(java.lang.Boolean canPickOmittedFields)` If this grid has a specified `dataSource`, and `useAllDataSourceFields` is false, setting this property to true will cause all dataSource fields not included in the specified set of fields to show up in the `field picker menu item`.
    `void` | `setCanRemoveRecords(java.lang.Boolean canRemoveRecords)` If set, provide UI for the user to remove records from the grid as an additional field showing the `removeIcon`, which, when clicked, will call `ListGrid.removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `ListGrid.markRecordRemoved()` status for the record).
    `void` | `setCanReorderFields(java.lang.Boolean canReorderFields)` Indicates whether fields in this listGrid can be reordered by dragging and dropping header fields.
    `void` | `setCanReorderRecords(java.lang.Boolean canReorderRecords)` Indicates whether records can be reordered by dragging within this `ListGrid`.
    `void` | `setCanResizeFields(java.lang.Boolean canResizeFields)` Indicates whether fields in this listGrid can be resized by dragging header fields.
    `void` | `setCanSelectAll(java.lang.Boolean canSelectAll)` Controls whether a checkbox for selecting all records appears in the header with `selectionAppearance` set to "checkbox"
    `void` | `setCanSelectCells(java.lang.Boolean canSelectCells)` Enables cell-level selection behavior as well as `cell-level rollover`.
    `void` | `setCanSelectGroups(boolean canSelectGroups)` Controls whether a checkbox for selecting `groups` appears in the group node if `SelectionAppearance` is set to `"checkbox"`
    `void` | `setCanSort(java.lang.Boolean canSort)` Enables or disables interactive sorting behavior for this listGrid.
    `void` | `setCanTabToHeader(java.lang.Boolean canTabToHeader)` Should the header be included in the tab-order for the page? If not explicitly specified, the header will be included in the tab order for the page if `isc.setScreenReaderMode()` is called.
    `void` | `setCellFormatter(CellFormatter formatter)` Sets a formatter that returns the HTML to display in each cell of the grid, given the raw cell value.
    `void` | `setCellHeight(int cellHeight)` The default height of each row in pixels.
    `void` | `setCellPadding(int cellPadding)` The amount of empty space, in pixels, surrounding each value in its cell.
    `void` | `setCellValueHoverFormatter(CellValueHoverFormatter formatter)` Provide a custom implementation of `cellValueHoverHTML(ListGridRecord, int, int, String)`.
    `void` | `setChartConstructor(java.lang.String chartConstructor)` Name of the Smart GWT Class to be used when creating charts.
    `void` | `setChartType(ChartType chartType)` Default type of chart to plot.
    `void` | `setCheckboxFieldFalseImage(java.lang.String checkboxFieldFalseImage)` If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for an unselected row.
    `void` | `setCheckboxFieldImageHeight(java.lang.Integer checkboxFieldImageHeight)` If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the height of the checkbox image displayed to indicate whether a row is selected.
    `void` | `setCheckboxFieldImageWidth(java.lang.Integer checkboxFieldImageWidth)` If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the width of the checkbox image displayed to indicate whether a row is selected.
    `void` | `setCheckboxFieldPartialImage(java.lang.String checkboxFieldPartialImage)` If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a partially selected row.
    `void` | `setCheckboxFieldProperties(ListGridField checkboxField)` Standard properties to apply to the automatically generated checkbox field, shown when `selectionAppearance` is set to "checkbox".
    `void` | `setCheckboxFieldTrueImage(java.lang.String checkboxFieldTrueImage)` If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a selected row.
    `void` | `setChildExpansionMode(ExpansionMode childExpansionMode)` For `expansionModes` that show another grid or tree, what the child's expansionMode should be.
    `void` | `setClearAllSortingText(java.lang.String clearAllSortingText)` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear any existing sort on all fields.
    `void` | `setClearFilterText(java.lang.String clearFilterText)` If we're showing a `headerContextMenu` for this grid, and a `filter-editor` is visible, this attribute will be shown as the menu item title to clear any existing filter.
    `void` | `setClearSortFieldText(java.lang.String clearSortFieldText)` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear an existing sort on this field.
    `void` | `setClipHeaderTitles(java.lang.Boolean clipHeaderTitles)` Whether the ListGrid should manage the clipping of titles of header buttons, showing ellipses if the title is clipped, and potentially showing the full title on `hover`.
    `void` | `setCollapseGroupOnRowClick(boolean collapseGroupOnRowClick)` If `canCollapseGroup` is true, will a click anywhere on the group row toggle the group's expanded state? If false, the user must click the `groupIcon` directly to toggle the group.
    `void` | `setConfigureGroupingText(java.lang.String configureGroupingText)` If we're showing a `headerContextMenu` for this grid, and multi-grouping is enabled, this attribute is used as the title for a menu item that opens a `MultiGroupDialog` to configure the grouping for this grid.
    `void` | `setConfigureSortText(java.lang.String configureSortText)` If we're showing a `headerContextMenu` for this grid, and multi-sorting is enabled, this attribute is used as the title for a menu item that opens a MultiSortDialog to configure the sort-specification for this grid.
    `void` | `setConfirmCancelEditing(java.lang.Boolean confirmCancelEditing)` If this is an editable listGrid, when the user attempts to cancel an edit, should we display a confirmation prompt before discarding the edited values for the record?
    `void` | `setConfirmDiscardEdits(java.lang.Boolean confirmDiscardEdits)` For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded.
    `void` | `setConfirmDiscardEditsMessage(java.lang.String confirmDiscardEditsMessage)` If `this.confirmDiscardEdits` is true, this property can be used to customize the error message string displayed to the user in a dialog with options to cancel the action, or save or discard pending edits in response to sort/filter actions that would otherwise drop unsaved edit values.
    `void` | `setCriteria(Criteria criteria)` Sets this component's filter criteria.
    `void` | `setData(ListGridRecord... data)` A list of ListGridRecord objects, specifying the data to be used to populate the ListGrid.
    `void` | `setData(Record[] data)`
    `void` | `setData(RecordList data)`
    `void` | `setDataFetchMode(FetchMode dataFetchMode)` How to fetch and manage records retrieve from the server.
    `void` | `setDataPageSize(int dataPageSize)` When using data paging, how many records to fetch at a time.
    `void` | `setDataProperties(ResultSet resultSetProperties)` For databound ListGrids, this attribute can be used to customize the `ResultSet` object created for this grid when data is fetched
    `void` | `setDataSource(DataSource dataSource)` Bind to a DataSource.
    `void` | `setDataSource(DataSource dataSource, ListGridField... fields)` Bind to a DataSource.
    `void` | `setDataSource(java.lang.String dataSource)` Bind to a DataSource.
    `void` | `setDateFormatter(DateDisplayFormat dateFormatter)` How should Date type values be displayed in this ListGrid by default?
    `void` | `setDateInputFormat(java.lang.String dateInputFormat)` If this is an editable listGrid, this property will specify the `inputFormat` applied to editors for fields of type `"date"`.
    `void` | `setDatetimeFormatter(DateDisplayFormat datetimeFormatter)` Display format to use for fields specified as type 'datetime'.
    `void` | `setDefaultFields(ListGridField... defaultFields)` An array of listGrid field configuration objects.
    `static void` | `setDefaultProperties(ListGrid listGridProperties)` Class level method to set the default properties of this class.
    `void` | `setDeferRemoval(java.lang.Boolean deferRemoval)` When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `ListGrid.markRecordRemoved()` instead of immediately being removed.
    `void` | `setDetailDS(DataSource detailDS)` If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.
    `void` | `setDetailDS(java.lang.String detailDS)` If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.
    `void` | `setDetailField(java.lang.String detailField)` The field whose contents to show in the expanded portion of a record when `canExpandRecords` is `true` and `listGrid.expansionMode` is `detailField`.
    `void` | `setDiscardEditsOnHideField(boolean discardEditsOnHideField)` If a user is editing a `canEdit:true` listGrid, and they hide a field while the editor is showing, should we discard any edits in the edit row for the field being hidden?
    `void` | `setDiscardEditsSaveButtonTitle(java.lang.String discardEditsSaveButtonTitle)` If `confirmDiscardEdits` is true this is the title for the save button appearing in the lost edits confirmation dialog.
    `void` | `setDontAutoDestroyComponent(Canvas component, boolean dontAutoDestroy)` If `showRecordComponents` is true, by default any created record components are destroyed once they are no longer in use (for example, if the ListGrid as a whole is destroyed).
    `void` | `setDragDataAction(DragDataAction dragDataAction)` Indicates what to do with data dragged into another DataBoundComponent.
    `void` | `setDragTrackerIconCustomizer(DragTrackerIconCustomizer dragTrackerIconCustomizer)` HTML to be shown in hovers over cells in the column described by this field.
    `void` | `setDragTrackerMode(DragTrackerMode dragTrackerMode)` When records are being dragged from within a ListGrid, what sort of drag-tracker should be displayed? Note that if multiple records are being dragged the displayed tracker will be based on the first selected record.
    `void` | `setDragTrackerStyle(java.lang.String dragTrackerStyle)` CSS Style to apply to the drag tracker when dragging occurs on this component.
    `void` | `setDragTrackerTitleCustomizer(DragTrackerTitleCustomizer dragTrackerTitleCustomizer)` Return "title" HTML to display as a drag tracker when the user drags some record. Default implementation will display the cell value for the title field (see +link{listGrid.getTitleField()}) for the record(s) being dragged (including any icons / custom formatting / styling, etc).
    `void` | `setDrawAheadRatio(float drawAheadRatio)` How far should we render rows ahead of the currently visible area? This is expressed as a ratio from viewport size to rendered area size.
    `void` | `setDrawAllMaxCells(int drawAllMaxCells)` If drawing all rows would cause less than `drawAllMaxCells` cells to be rendered, the full dataset will instead be drawn even if `showAllRecords` is false and the viewport size and `drawAheadRatio` setting would normally have caused incremental rendering to be used.
    `void` | `setDropCriteriaOnHideField(boolean dropCriteriaOnHideField)` For ListGrids with `showFilterEditor` set to true, if the user hides a field, should we discard the criteria for the hidden field when the user next performs a filter? This is an equivalent of using the AutoChild system to set `discardEditsOnHideField` on the `filterEditor`.
    `void` | `setDropValues(java.util.Map dropValues)` When an item is dropped on this component, and `addDropValues` is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.
    `void` | `setDuplicateDragMessage(java.lang.String duplicateDragMessage)` Message to show when a user attempts to transfer duplicate records into this component, and `preventDuplicates` is enabled.
    `void` | `setEditByCell(java.lang.Boolean editByCell)` Determines whether when the user edits a cell in this listGrid the entire row becomes editable, or just the cell that received the edit event.
    `void` | `setEditEvent(ListGridEditEvent editEvent)` Event that will trigger inline editing, see `ListGridEditEvent` for options.
    `void` | `setEditFailedBaseStyle(java.lang.String editFailedBaseStyle)` A base name for the CSS class applied to cells when editing has failed. If this listGrid is editable, this style will be applied to any edited cells for which validation failed. As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell. If null, cells for which editing has failed will be rendered using the normal base style classNames, but with custom CSSText applied as derived from `this.editFailedCSSText`
    `void` | `setEditFailedCSSText(java.lang.String editFailedCSSText)` Custom CSS text to be applied to cells when editing has failed. If this listGrid is editable, this css text will be applied to any edited cells for which validation failed, on top of the base style for the cell. For further customization of styling for cells that failed editing validation, use `this.editFailedBaseStyle` instead.
    `void` | `setEditFormulaFieldText(java.lang.String editFormulaFieldText)` Text for a menu item allowing users to edit a formula field
    `void` | `setEditOnF2Keypress(java.lang.Boolean editOnF2Keypress)` Should we start editing when the widget has focus and the user presses the "f2" key (if this ListGrid supports editing)?
    `void` | `setEditOnFocus(java.lang.Boolean editOnFocus)` Should we start editing when this widget receives focus (if this ListGrid supports editing)?
    `void` | `setEditorCustomizer(ListGridEditorCustomizer customizer)` This method allows developers to dynamically customize the form item displayed in an editable grid, based on the cell being edited.
    `void` | `setEditorValueMap(java.lang.String fieldName, java.util.LinkedHashMap valueMap)` Set a valueMap to display for this field while editing. This method sets the +link{ListGridField.editorValueMap, field.editorValueMap} property and may be called at runtime while editing the grid.
    `void` | `setEditorValueMap(java.lang.String fieldName, java.lang.String... valueMap)` Set a valueMap to display for this field while editing. This method sets the +link{ListGridField.editorValueMap, field.editorValueMap} property and may be called at runtime while editing the grid.
    `void` | `setEditPendingBaseStyle(java.lang.String editPendingBaseStyle)` A base name for the CSS class applied to cells containing pending (unsaved) edits As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell.
    `void` | `setEditPendingCSSText(java.lang.String editPendingCSSText)` Custom CSS text to be applied to cells with pending edits that have not yet been submitted. For further customization of styling for cells with pending edits use `this.editPendingBaseStyle` instead.
    `void` | `setEditProxyConstructor(java.lang.String editProxyConstructor)` Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
    `void` | `setEditSummaryFieldText(java.lang.String editSummaryFieldText)` Text for a menu item allowing users to edit the formatter for a field
    `void` | `setEditValue(int rowNum, int colNum, boolean value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, java.util.Date value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, double value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, float value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, int value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, JavaScriptObject value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, java.lang.Object value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, Record value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, Record[] value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, java.lang.String value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, boolean value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, java.util.Date value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, double value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, float value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, int value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, JavaScriptObject value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, Record value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, Record[] value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, java.lang.String value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValues(int rowNum, java.util.Map values)` This method sets up a set of editValues for some row / cell.
    `void` | `setEmptyCellValue(java.lang.String emptyCellValue)` The value to display for cells whose value is null or the empty string after applying `formatting` and valueMap (if any).
    `void` | `setEmptyMessage(java.lang.String emptyMessage)` The string to display in the body of a listGrid with an empty data array, if showEmptyMessage is true.
    `void` | `setEmptyMessageStyle(java.lang.String emptyMessageStyle)` The CSS style name applied to the `emptyMessage` if displayed.
    `void` | `setEnforceVClipping(java.lang.Boolean enforceVClipping)` For performance reasons, even when `fixedRecordHeights` is set, vertical clipping is not enforced by default for some kinds of content (such as images) on all browsers.
    `void` | `setEnterKeyEditAction(EnterKeyEditAction enterKeyEditAction)` What to do when a user hits enter while editing a cell: "nextCell": start editing the next editable cell in this record (or the first editable cell in the next record if focus is in the last editable cell in the row) "nextRow": start editing the same field in the next row (skipping any rows where that would be a non-editable cell.
    `void` | `setEnumCriteriaAsInitialValues(java.lang.Boolean enumCriteriaAsInitialValues)` In a ListGrid that has a DataSource and has filter criteria that include values for fields declared as `type "enum"` in the DataSource, by default a newly edited row will use those filter criteria as initial values.
    `void` | `setErrorIconHeight(java.lang.Integer errorIconHeight)` Height of the error icon, if we're showing icons when validation errors occur.
    `void` | `setErrorIconSrc(java.lang.String errorIconSrc)` Src of the image to show as an error icon, if we're showing icons when validation errors occur.
    `void` | `setErrorIconWidth(java.lang.Integer errorIconWidth)` Height of the error icon, if we're showing icons when validation errors occur.
    `void` | `setEscapeKeyEditAction(EscapeKeyEditAction escapeKeyEditAction)` What to do when a user hits escape while editing a cell: "cancel": close the editor and discard the current set of edit values "done": just close the editor (the edit is complete, but the edited values are retained).
    `void` | `setExpansionCanEdit(java.lang.Boolean expansionCanEdit)` For `expansionModes` that show another grid or tree, is that component editable?
    `void` | `setExpansionComponentPoolingMode(ExpansionComponentPoolingMode expansionComponentPoolingMode)` The method of `component-pooling` to employ for `expansionComponents`.
    `void` | `setExpansionEditorSaveDialogPrompt(java.lang.String expansionEditorSaveDialogPrompt)` When `canExpandRecords` is true and `expansionMode` is editor, the prompt to display in a dialog when an expanded row is collapsed while it's nested editor has changed values.
    `void` | `setExpansionEditorShowSaveDialog(java.lang.Boolean expansionEditorShowSaveDialog)` When `canExpandRecords` is true and `expansionMode` is editor, whether a dialog should be displayed when an expanded row is collapsed while it's nested editor has changed values.
    `void` | `setExpansionFieldFalseImage(java.lang.String expansionFieldFalseImage)` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for collapsed rows.
    `void` | `setExpansionFieldImageHeight(java.lang.Integer expansionFieldImageHeight)` If `canExpandRecords` is set to `true`, this property may be set to govern the height of the expansion image displayed to indicate whether a row is expanded.
    `void` | `setExpansionFieldImageWidth(java.lang.Integer expansionFieldImageWidth)` If `canExpandRecords` is set to `true`, this property may be set to govern the width of the expansion image displayed to indicate whether a row is expanded.
    `void` | `setExpansionFieldTrueImage(java.lang.String expansionFieldTrueImage)` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for expanded rows.
    `void` | `setExpansionMode(ExpansionMode expansionMode)` The `ExpansionMode` for records in this grid.
    `void` | `setExportAll(java.lang.Boolean exportAll)` Setting exportAll to true prevents the component from passing its list of fields to the export call.
    `void` | `setExportAlternateRowBGColor(java.lang.String exportAlternateRowBGColor)` When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for even-numbered rows, to create a "banded" or "ledger" effect.
    `void` | `setExportDefaultBGColor(java.lang.String exportDefaultBGColor)` Default background color to use when exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`.
    `void` | `setExportFieldAlignments(boolean exportFieldAlignments)` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether field `horizontal header alignments` and `data value alignments` should be replicated in the resulting spreadsheet.
    `void` | `setExportFields(java.lang.String[] exportFields)` The list of field-names to export.
    `void` | `setExportFieldWidths(boolean exportFieldWidths)` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether widths of fields should be replicated in the resulting spreadsheet.
    `void` | `setExportHeaderHeights(boolean exportHeaderHeights)` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, causes the `headerHeight` and `headerSpan heights` to be applied to the corresponding cells in the spreadsheet.
    `void` | `setExportRawValues(java.lang.Boolean exportRawValues)` Dictates whether the data in this grid should be exported raw by `exportClientData()`.
    `void` | `setExportWidthScale(double exportWidthScale)` Scaling factor to translate from ListGrid field widths in pixels to Excel/OpenOffice units for field width, which are 1/256th of the width of the widest digit character in the default font for the spreadsheet.
    `void` | `setExportWrapHeaderTitles(boolean exportWrapHeaderTitles)` When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether titles in the `ListGrid header` and `headerSpans` should be allowed to wrap.
    `void` | `setFastCellUpdates(java.lang.Boolean fastCellUpdates)` Note: This property only has an effect in Internet Explorer
    `void` | `setFetchDelay(int fetchDelay)` If we're showing the filterEditor (`showFilterEditor` is true), and we're re-filtering on every keypress (`filterOnKeypress` is true), this property is the delay in milliseconds between the user changing the filter and the filter request being kicked off.
    `void` | `setFetchOperation(java.lang.String fetchOperation)` Operation ID this component should use when performing fetch operations.
    `void` | `setFieldButtonProperties(java.lang.String name, Canvas properties)` Method to update properties on a field's header button at runtime.
    `void` | `setFieldCellIcon(java.lang.String fieldName, java.lang.String cellIcon)` Change the `cellIcon` for a field after the grid is created
    `void` | `setFieldError(int rowNum, java.lang.String fieldName, java.lang.String errorMessage)` Set a validation error for some cell.
    `void` | `setFieldError(int rowNum, java.lang.String fieldName, java.lang.String[] errorMessages)`
    `void` | `setFieldHeaderBaseStyle(java.lang.String name, java.lang.String newStyle)` Update the `headerBaseStyle` for a field within the grid at runtime.
    `void` | `setFieldHeaderTitleStyle(java.lang.String name, java.lang.String newStyle)` Update the `headerTitleStyle` for a field within the grid at runtime.
    `void` | `setFieldIcon(java.lang.String fieldName, java.lang.String icon)` Change the `icon` for a field after the grid is created
    `void` | `setFieldPickerFieldProperties(java.lang.String... fieldPickerFieldProperties)` Names of properties on `ListGridField` for which the `FieldPicker` should show an editing interface, for convenience.
    `void` | `setFieldPickerShowSampleValues(java.lang.Boolean fieldPickerShowSampleValues)` When set to false, sample values of the FieldPicker are never shown.
    `void` | `setFieldProperties(int fieldNum, ListGridField properties)` Dynamically set properties for a particular field.
    `void` | `setFields(ListGridField... fields)` An array of field objects, specifying the order, layout, formatting, and sorting behavior of each field in the listGrid object.
    `void` | `setFieldState(java.lang.String fieldState)` Initial `field state` for the grid.
    `void` | `setFieldTitle(int fieldNum, java.lang.String title)` Change the title of a field after the grid is created.
    `void` | `setFieldTitle(java.lang.String fieldName, java.lang.String title)`
    `void` | `setFieldVisibilitySubmenuTitle(java.lang.String fieldVisibilitySubmenuTitle)` If we're showing a `headerContextMenu` for this grid, and `this.canPickFields` is true, this attribute will be shown as the title for the menu item which contains a submenu with items allowing the user to show and hide fields in the grid.
    `void` | `setFilterButtonPrompt(java.lang.String filterButtonPrompt)` The prompt to show when the mouse hovers over the Filter button in the FilterEditor.
    `void` | `setFilterButtonProperties(Button filterButtonProperties)` If `showFilterEditor` is true, this attribute may be used to customize the filter button shown to the right of the filterEditor row.
    `void` | `setFilterByCell(java.lang.Boolean filterByCell)` If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user puts focus in a different field in the filter editor.
    `void` | `setFilterEditorCriteria(Criteria criteria)` If `showFilterEditor` is true, this method will update the criteria shown in the `filterEditor` without performing a filter.
    `void` | `setFilterEditorHeight(int filterEditorHeight)` Height for the filterEditor, if shown.
    `void` | `setFilterEditorProperties(ListGrid filterEditorProperties)` Deprecated. in favor of `setFilterEditorProperties(RecordEditor)`
    `void` | `setFilterEditorProperties(RecordEditor filterEditorProperties)` Properties to apply to the automatically generated `filterEditor` if `showFilterEditor` is true.
    `void` | `setFilterLocalData(java.lang.Boolean filterLocalData)` If this grid has its `data property` set to a static array of records, should `ListGrid.filterData()` filter this array?
    `void` | `setFilterOnKeypress(java.lang.Boolean filterOnKeypress)` If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user modifies the value in a field of the filter-editor.
    `void` | `setFixedFieldWidths(java.lang.Boolean fixedFieldWidths)` Should we horizontally clip cell contents, or allow columns to expand horizontally to show all contents?
    `void` | `setFixedRecordHeights(java.lang.Boolean fixedRecordHeights)` Should we vertically clip cell contents, or allow rows to expand vertically to show all contents?
    `void` | `setFormulaBuilderSpanTitleSeparator(java.lang.String formulaBuilderSpanTitleSeparator)` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInFormulaBuilder` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid in the FormulaBuilder and SummaryBuilder.
    `void` | `setFreezeFieldText(java.lang.String freezeFieldText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.
    `void` | `setFreezeOnLeftText(java.lang.String freezeOnLeftText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the left of the scrollable body.
    `void` | `setFreezeOnRightText(java.lang.String freezeOnRightText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the right of the scrollable body.
    `void` | `setFrozenBaseStyle(java.lang.String frozenBaseStyle)` If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields.
    `void` | `setFrozenHeaderBaseStyle(java.lang.String frozenHeaderBaseStyle)` If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields.
    `void` | `setFrozenHeaderTitleStyle(java.lang.String frozenHeaderTitleStyle)` If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields.
    `void` | `setGenerateClickOnEnter(java.lang.Boolean generateClickOnEnter)` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.
    `void` | `setGenerateClickOnSpace(java.lang.Boolean generateClickOnSpace)` If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.
    `void` | `setGenerateDoubleClickOnEnter(java.lang.Boolean generateDoubleClickOnEnter)` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.
    `void` | `setGenerateDoubleClickOnSpace(java.lang.Boolean generateDoubleClickOnSpace)` If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.
    `void` | `setGridComponents(ListGridComponent... gridComponents)` Array of components that make up this grid.
    `void` | `setGridComponents(java.lang.Object... gridComponents)` Array of components that make up this grid.
    `void` | `setGridSummaryRecordProperty(java.lang.String gridSummaryRecordProperty)` If `showGridSummary` is true, this attribute will be set to true on the record object representing the grid summary row.
    `void` | `setGroupByAsyncThreshold(int groupByAsyncThreshold)` When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.
    `void` | `setGroupByField(java.lang.String... groupByField)` List of fields to group grid records.
    `void` | `setGroupByField(java.lang.String groupByField)` List of fields to group grid records.
    `void` | `setGroupByFieldSummaries(java.lang.String... groupByFieldSummaries)` If this grid is `grouped`, and `showGroupSummary` is true, this attribute may be set to an array of groupBy field names for which group summaries should appear.
    `void` | `setGroupByMaxRecords(int groupByMaxRecords)` Maximum number of records to which a groupBy can be applied.
    `void` | `setGroupByText(java.lang.String groupByText)` If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.
    `void` | `setGroupIcon(java.lang.String groupIcon)` The URL of the base icon for the group icons in this listGrid.
    `void` | `setGroupIconSize(int groupIconSize)` Default width and height of group icons for this ListGrid.
    `void` | `setGroupIndentSize(int groupIndentSize)` Default number of pixels by which to indent subgroups relative to parent group.
    `void` | `setGroupLeadingIndent(int groupLeadingIndent)` Default number of pixels by which to indent all groups.
    `void` | `setGroupNodeBaseStyle(java.lang.String groupNodeBaseStyle)` `Base style` for `group` rows.
    `void` | `setGroupNodeStyle(java.lang.String groupNodeStyle)` The CSS style that `group` rows will have.
    `void` | `setGroupSortDirection(SortDirection groupSortDirection)` When `sortByGroupFirst` is active, the sorting direction applied for implicit sorting by the field(s) used for grouping.
    `void` | `setGroupStartOpen(GroupStartOpen group)` Describes the default state of ListGrid groups when groupBy is called.
    `void` | `setGroupStartOpen(java.lang.Object... groupValues)`
    `void` | `setGroupState(java.lang.String groupState)` Initial group state for the grid.
    `void` | `setGroupSummaryRecordProperty(java.lang.String groupSummaryRecordProperty)` If `showGroupSummary` is true, this attribute will be set to true on each record object representing a group-level summary row.
    `void` | `setGroupSummaryStyle(java.lang.String groupSummaryStyle)` `customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
    `void` | `setGroupTitleColumnProperties(ListGridField groupTitleColumnProperties)` Custom properties for the automatically generated `groupTitleColumn`.
    `void` | `setGroupTitleField(java.lang.String groupTitleField)` When a list grid is `grouped`, each group shows under an auto generated header node.
    `void` | `setHeaderAutoFitEvent(AutoFitEvent headerAutoFitEvent)` Event on a ListGrid header that triggers auto fitting to data and/or title.
    `void` | `setHeaderBackgroundColor(java.lang.String headerBackgroundColor)` BackgroundColor for the header toolbar.
    `void` | `setHeaderBarStyle(java.lang.String headerBarStyle)` Set the CSS style used for the header as a whole.
    `void` | `setHeaderBaseStyle(java.lang.String headerBaseStyle)` `baseStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `void` | `setHeaderButtonProperties(Button headerButtonProperties)` Properties to apply to all header buttons.
    `void` | `setHeaderHeight(int headerHeight)` The height of this listGrid's header, in pixels.
    `void` | `setHeaderHoverAlign(Alignment headerHoverAlign)` This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover()`.
    `void` | `setHeaderHoverFormatter(HeaderHoverFormatter formatter)` Provide a custom implementation of `headerHoverHTML(int,java.lang.String)`.
    `void` | `setHeaderHoverHeight(java.lang.Integer headerHoverHeight)` Optional default height for the hover shown on `ListGrid.headerHover()`.
    `void` | `setHeaderHoverOpacity(java.lang.Integer headerHoverOpacity)` This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover()`.
    `void` | `setHeaderHoverStyle(java.lang.String headerHoverStyle)` This property may be set to customize the css style for the hover shown on `ListGrid.headerHover()`.
    `void` | `setHeaderHoverVAlign(VerticalAlignment headerHoverVAlign)` This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover()`.
    `void` | `setHeaderHoverWidth(java.lang.Integer headerHoverWidth)` Optional default width for the hover shown on `ListGrid.headerHover()`.
    `void` | `setHeaderHoverWrap(java.lang.Boolean headerHoverWrap)` This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover()`.
    `void` | `setHeaderMenuButtonHeight(int headerMenuButtonHeight)` If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonIcon(java.lang.String headerMenuButtonIcon)` If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonIconHeight(int headerMenuButtonIconHeight)` If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonIconWidth(int headerMenuButtonIconWidth)` If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonWidth(int headerMenuButtonWidth)` If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`
    `void` | `setHeaderSpanBaseStyle(java.lang.String name, java.lang.String newStyle)` Update the `headerBaseStyle` for a span within the grid at runtime.
    `void` | `setHeaderSpanButtonProperties(java.lang.String name, Canvas properties)` Method to update properties on a headerSpan's header button at runtime.
    `void` | `setHeaderSpanHeaderTitle(java.lang.String name, java.lang.String newTitle)` Update the headerTitle of a `headerSpan` dynamically.
    `void` | `setHeaderSpanHeight(java.lang.Integer headerSpanHeight)` Default height for a `headerSpan` with no height specified.
    `void` | `setHeaderSpans(HeaderSpan... headerSpans)` Header spans are a second level of headers that appear above the normal ListGrid headers, spanning one or more listGrid fields in a manner similar to a column-spanning cell in an HTML table.
    `void` | `setHeaderSpanTitle(java.lang.String name, java.lang.String newTitle)` Update the title of a `headerSpan` dynamically.
    `void` | `setHeaderSpanTitleStyle(java.lang.String name, java.lang.String newTitle)` Update the `headerTitleStyle` for a span within the grid at runtime.
    `void` | `setHeaderTitleStyle(java.lang.String headerTitleStyle)` `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `void` | `setHiliteCanReplaceValue(java.lang.Boolean hiliteCanReplaceValue)` If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value.
    `void` | `setHiliteEditorSpanTitleSeparator(java.lang.String hiliteEditorSpanTitleSeparator)` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInHiliteEditor` is true, this string will be inserted between the headerSpan title and the field title in the hiliteEditor field chooser grid.
    `void` | `setHiliteHTMLAfterFormat(boolean hiliteHTMLAfterFormat)` If set to true, custom HTML applied as part of hiliting will be applied after `formatting` for each cell.
    `void` | `setHiliteIconHeight(java.lang.Integer hiliteIconHeight)` Height for hilite icons for this listGrid.
    `void` | `setHiliteIconLeftPadding(int hiliteIconLeftPadding)` How much padding should there be on the left of `hilite icons` by default? Can be overridden at the field level
    `void` | `setHiliteIconPosition(HiliteIconPosition hiliteIconPosition)` When `hiliteIcons` are present, where the hilite icon will be placed relative to the field value.
    `void` | `setHiliteIconRightPadding(int hiliteIconRightPadding)` How much padding should there be on the right of `hilite icons` by default? Can be overridden at the field level
    `void` | `setHiliteIcons(java.lang.String... hiliteIcons)` Specifies a list of icons that can be used in `hilites`.
    `void` | `setHiliteIconSize(int hiliteIconSize)` Default width and height of `hilite icons` for this component.
    `void` | `setHiliteIconWidth(java.lang.Integer hiliteIconWidth)` Width for hilite icons for this component.
    `void` | `setHiliteProperty(java.lang.String hiliteProperty)` Marker that can be set on a record to flag that record as hilited.
    `void` | `setHiliteReplaceValueFieldTitle(java.lang.String hiliteReplaceValueFieldTitle)` Title used for the text box shown when `hiliteCanReplaceValue` is set.
    `void` | `setHiliteRowOnFocus(java.lang.Boolean hiliteRowOnFocus)` When the grid body gets keyboard focus, should we highlight the current focus row, using the rollover cell style?
    `void` | `setHilites(Hilite[] hilites)` Accepts an array of hilite objects and applies them to this DataBoundComponent.
    `void` | `setHiliteState(java.lang.String hiliteState)` Set the current hilites based on a hiliteState String previously returned from getHilitesState.
    `void` | `setHoverCustomizer(HoverCustomizer hoverCustomizer)` HTML to be shown in hovers over cells in the column described by this field.
    `void` | `setHoverMode(HoverMode hoverMode)` When `showHoverComponents` is true, the builtin mode to use when automatically creating a hover component for rows in this grid.
    `void` | `setHoverStyle(java.lang.String hoverStyle)` Style to apply to hovers shown over this grid.
    `void` | `setIconPadding(java.lang.Integer iconPadding)` When using `autoFitFieldWidths`, padding in pixels left on each side of fields that show images.
    `void` | `setImageSize(int imageSize)` Default size of thumbnails shown for fieldTypes image and imageFile.
    `void` | `setIncludeHilitesInSummaryFields(boolean includeHilitesInSummaryFields)` When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?
    `void` | `setIncludeInSummaryProperty(java.lang.String includeInSummaryProperty)` Property name on a record that will be checked to determine whether a record should be included when calculating totals for the `grid summary`.
    `void` | `setInitialCriteria(Criteria initialCriteria)` Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
    `void` | `setInitialSort(SortSpecifier... initialSort)` An array of `SortSpecifier` objects used to set up the initial sort configuration for this grid.
    `void` | `setInstantScrollTrackRedraw(java.lang.Boolean instantScrollTrackRedraw)` If true, if the user clicks on the scroll buttons at the end of the track or clicks once on the scroll track, there will be an instant redraw of the grid content so that the user doesn't see any blank space.
    `void` | `setInvalidSummaryValue(java.lang.String invalidSummaryValue)` Value to display to the user if showing summary values (through `showGridSummary`, `showGroupSummary` or `listGridFieldType:"summary"`), and the summary function returns `"null"` (implying it was unable to calculate a valid summary value).
    `void` | `setIsSeparatorProperty(java.lang.String isSeparatorProperty)` If `record[this.isSeparatorProperty]` is set for some record, the record will be displayed as a simple separator row.
    `void` | `setLeaveHeaderMenuButtonSpace(java.lang.Boolean leaveHeaderMenuButtonSpace)` If `showHeaderMenuButton` is true, when auto-fitting fields to the title width via `autoFitFieldWidths` or `autoFitWidth`, should the button be sized such that there is enough space for the header menu button to show without covering the field title?
    `void` | `setLeaveScrollbarGap(java.lang.Boolean leaveScrollbarGap)` Whether to leave a gap for the vertical scrollbar, even when it's not present.
    `void` | `setLinkTextProperty(java.lang.String linkTextProperty)` Property name on a record that will hold the link text for that record.
    `void` | `setListEndEditAction(RowEndEditAction listEndEditAction)` If the user is editing the last record in this listGrid, and attempts to navigate beyond the last row either by tabbing off the last editable field, or using the down arrow key, this property determines what action to take: "next": start editing a new record at the end of the list.
    `void` | `setLoadingDataMessage(java.lang.String loadingDataMessage)` The string to display in the body of a listGrid while data is being loaded.
    `void` | `setLoadingDataMessageStyle(java.lang.String loadingDataMessageStyle)` The CSS style name applied to the loadingDataMessage string if displayed.
    `void` | `setLoadingMessage(java.lang.String loadingMessage)` If you have a databound listGrid and you scroll out of the currently loaded dataset, by default you will see blank rows until the server returns the data for those rows.
    `void` | `setLocateColumnsBy(java.lang.String locateColumnsBy)` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the column be identified? Note that getLocator() will actually store all available information about the column in the generated string -- this attribute effects how a stored string will be parsed only.
    `void` | `setLocateRowsBy(java.lang.String locateRowsBy)` When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the row be identified? Note that getLocator() will actually store all available information about the row in the generated string -- this attribute effects how a stored string will be parsed only.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.grid.ListGridLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setLongTextEditorThreshold(int longTextEditorThreshold)` When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
    `void` | `setLongTextEditorType(java.lang.String longTextEditorType)` When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
    `void` | `setMaxExpandedRecords(java.lang.Integer maxExpandedRecords)` When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously.
    `void` | `setMaxExpandedRecordsPrompt(java.lang.String maxExpandedRecordsPrompt)` This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.
    `void` | `setMinFieldWidth(int minFieldWidth)` Minimum size, in pixels, for ListGrid headers.
    `void` | `setMissingSummaryFieldValue(java.lang.String missingSummaryFieldValue)` If a summary format string contains an invalid field reference, replace the reference with the missingSummaryFieldValue.
    `void` | `setModalEditing(java.lang.Boolean modalEditing)` If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.
    `void` | `setNavigateOnTab(boolean navigateOnTab)` If `canSelectCells` is true, this property allows the user to navigate through the cells of a grid using Tab and Shift+Tab keypresses.
    `void` | `setNeverValidate(java.lang.Boolean neverValidate)` If true, validation will not occur as a result of cell editing for this grid.
    `void` | `setNormalBaseStyle(java.lang.String normalBaseStyle)` "Normal" baseStyle for this listGrid.
    `void` | `setNormalCellHeight(int normalCellHeight)` If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value.
    `void` | `setNullGroupTitle(java.lang.String nullGroupTitle)` Default alias to use for groups with no value
    `void` | `setOfflineMessageStyle(java.lang.String offlineMessageStyle)` The CSS style name applied to the `offlineMessage` if displayed.
    `void` | `setOriginBaseStyle(java.lang.String originBaseStyle)` Name of a CSS Style to use as the `baseStyle` for a cell that is currently a selection origin for shifted incremental cell selection.
    `void` | `setPoolComponentsPerColumn(java.lang.Boolean poolComponentsPerColumn)` Should recycled `record components`, be pooled per column or per record.
    `void` | `setPreventDuplicates(java.lang.Boolean preventDuplicates)` If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`.
    `void` | `setPrintAutoFit(java.lang.Boolean printAutoFit)` Whether cell contents should wrap during printing.
    `void` | `setPrintBaseStyle(java.lang.String printBaseStyle)` Style for non-header cells in printed output.
    `void` | `setPrintBooleanBaseStyle(java.lang.String printBooleanBaseStyle)` If set, the `booleanBaseStyle` to use when printing.
    `void` | `setPrintBooleanFalseImage(java.lang.String printBooleanFalseImage)` If set, the `booleanFalseImage` to use when printing.
    `void` | `setPrintBooleanPartialImage(java.lang.String printBooleanPartialImage)` If set, the `booleanPartialImage` to use when printing.
    `void` | `setPrintBooleanTrueImage(java.lang.String printBooleanTrueImage)` If set, the `booleanTrueImage` to use when printing.
    `void` | `setPrintCheckboxFieldFalseImage(java.lang.String printCheckboxFieldFalseImage)` If set, the `checkboxFieldFalseImage` to use when printing.
    `void` | `setPrintCheckboxFieldPartialImage(java.lang.String printCheckboxFieldPartialImage)` If set, the `checkboxFieldPartialImage` to use when printing.
    `void` | `setPrintCheckboxFieldTrueImage(java.lang.String printCheckboxFieldTrueImage)` If set, the `checkboxFieldTrueImage` to use when printing.
    `void` | `setPrintHeaderStyle(java.lang.String printHeaderStyle)` Style for header cells in printed output.
    `void` | `setPrintMaxRows(int printMaxRows)` Advanced property - when generating printHTML for a large ListGrid, rows are printed in batches in order to avoid triggering a native "script is running slowly" browser dialog.
    `void` | `setPrintWrapCells(java.lang.Boolean printWrapCells)` Whether cell contents should wrap during printing.
    `void` | `setProgressiveLoading(java.lang.Boolean progressiveLoading)` Indicates whether or not this component will load its data `progressively`
    `void` | `setQuickDrawAheadRatio(float quickDrawAheadRatio)` Alternative to `drawAheadRatio`, to be used when the user is rapidly changing the grids viewport (for example drag scrolling through the grid).
    `void` | `setRecordBaseStyleProperty(java.lang.String recordBaseStyleProperty)` This attribute allows custom base styles to be displayed on a per-record basis.
    `void` | `setRecordCanRemoveProperty(java.lang.String recordCanRemoveProperty)` If set to false on a record and `canRemoveRecords` is true, removal of that record is disallowed in the UI.
    `void` | `setRecordCanSelectProperty(java.lang.String recordCanSelectProperty)` If set to false on a record, selection of that record is disallowed.
    `void` | `setRecordComponentHeight(java.lang.Integer recordComponentHeight)` If `showRecordComponents` is true, this attribute may be used to specify a standard height for record components.
    `void` | `setRecordComponentPoolingMode(RecordComponentPoolingMode recordComponentPoolingMode)` The method of `component-pooling` to employ for `recordComponents`.
    `void` | `setRecordComponentPosition(EmbeddedPosition recordComponentPosition)` if `showRecordComponents` is true, how should the component appear within the cell.
    `void` | `setRecordDetailDSProperty(java.lang.String recordDetailDSProperty)` The name of the ListGridRecord property that specifies the DataSource to use when `listGrid.expansionMode` is "related".
    `void` | `setRecordDropAppearance(RecordDropAppearance recordDropAppearance)` If `canAcceptDroppedRecords` is true for this listGrid, this property governs whether the user can drop between, or over records within the grid.
    `void` | `setRecordEditProperty(java.lang.String recordEditProperty)` Property name on a record that should be checked to determine whether the record may be edited.
    `void` | `setRecordEnabledProperty(java.lang.String recordEnabledProperty)` Property name on a record that will be checked to determine whether a record is enabled.
    `void` | `setRecords(ListGridRecord[] records)` Synonym for `setData(ListGridRecord[])`
    `void` | `setRecordSummaryBaseStyle(java.lang.String recordSummaryBaseStyle)` If showing any record summary fields (IE: fields of `type:"summary"`), this attribute specifies a custom base style to apply to cells in the summary field
    `void` | `setRemovedCSSText(java.lang.String removedCSSText)` Custom CSS text to be applied to records that have been `marked for removal`.
    `void` | `setRemoveFieldProperties(ListGridField removeFieldProperties)` Configuration properties for the "remove field" displayed when `canRemoveRecords` is enabled.
    `void` | `setRemoveFieldTitle(java.lang.String removeFieldTitle)` The title to use for the `remove field`.
    `void` | `setRemoveIcon(java.lang.String removeIcon)` When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
    `void` | `setRemoveIconSize(int removeIconSize)` Default width and height of `remove icons` for this ListGrid.
    `void` | `setRemoveOperation(java.lang.String removeOperation)` Operation ID this component should use when performing remove operations.
    `void` | `setReselectOnUpdate(boolean reselectOnUpdate)` If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes.
    `void` | `setReselectOnUpdateNotifications(SelectionNotificationType reselectOnUpdateNotifications)` if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.
    `void` | `setResizeFieldsInRealTime(boolean resizeFieldsInRealTime)` If `true`, the grid contents are redrawn in real time as fields are resized.
    `void` | `setReverseRTLAlign(java.lang.Boolean reverseRTLAlign)` If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?
    `void` | `setRollUnderCanvasProperties(Canvas rollUnderCanvasProperties)` The RollUnder Canvas properties when `showRollover` is true and `showRollOverCanvas` is true.
    `void` | `setRowEndEditAction(RowEndEditAction rowEndEditAction)` If the user is editing a record in this listGrid, and attempts to navigate to a field beyond the end of the row, via tab (or shift-tab off the first editable field), this property determines what action to take: "next": start editing the next (or previous) record in the list "same": put focus back into the first editable field of the same record.
    `void` | `setRowErrors(int rowNum, java.util.Map errors)` Set the validation errors for some row (replacing any pre-existent validation errors)
    `void` | `setRowErrors(int rowNum, java.lang.Object errors)` Set the validation errors for some row (replacing any pre-existent validation errors)
    `void` | `setRowNumberFieldProperties(ListGridField rowNumberFieldProperties)` Set the properties generated field that displays the current row number when `showRowNumbers` is true.
    `void` | `setRowNumberStart(int rowNumberStart)` The number to start the row-count from - default value is 1.
    `void` | `setRowNumberStyle(java.lang.String rowNumberStyle)` The CSS Style name for the `rowNumberField`.
    `void` | `setRowSpanEditMode(RowSpanEditMode rowSpanEditMode)` If `allowRowSpanning` is enabled, this property may be used to specify editing behavior for cells that span multiple rows.
    `void` | `setRowSpanSelectionMode(RowSpanSelectionMode rowSpanSelectionMode)` Chooses the selection mode when `useRowSpanStyling` is enabled.
    `void` | `setSaveByCell(java.lang.Boolean saveByCell)` Whether edits should be saved whenever the user moves between cells in the current edit row.
    `void` | `setSaveLocally(java.lang.Boolean saveLocally)` For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server.
    `void` | `setSaveRequestProperties(DSRequest saveRequestProperties)` For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).
    `void` | `setScreenReaderCellSeparator(java.lang.String screenReaderCellSeparator)` When `screen reader mode` is enabled, this invisible separator string is written out between each cell value.
    `void` | `setScreenReaderRowSeparator(java.lang.String screenReaderRowSeparator)` When `screen reader mode` is enabled, this invisible string will be written out after the last cell in a row.
    `void` | `setScrollRedrawDelay(int scrollRedrawDelay)` While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user.
    `void` | `setScrollToCellXPosition(Alignment scrollToCellXPosition)` When scrollToCell is called, this is used as defaults if xPosition weren't explicitly passed into the method.
    `void` | `setScrollToCellYPosition(VerticalAlignment scrollToCellYPosition)` When scrollToCell is called, this is used as defaults if yPosition weren't explicitly passed into the method.
    `void` | `setScrollWheelRedrawDelay(java.lang.Integer scrollWheelRedrawDelay)` While scrolling an incrementally rendered grid, using the mouseWheel, time in milliseconds to wait before redrawing, after the last mouseWheel movement by the user.
    `void` | `setSelectedState(java.lang.String selectedState)` Returns a snapshot of the current selection within this listGrid as a `ListGridSelectedState` object. This object can be passed to `ListGrid.setSelectedState()` to reset this grid's selection the current state (assuming the same data is present in the grid). If this method is called after the component has been drawn/initialized: Reset this grid's selection to match the `ListGridSelectedState` object passed in. Used to restore previous state retrieved from the grid by a call to `ListGrid.getSelectedState()`.
    `void` | `setSelectHeaderOnSort(java.lang.Boolean selectHeaderOnSort)` If true, show the field-header for the sorted field (or the first field in a `multi-sort` grid) in the selected state.
    `void` | `setSelectionAppearance(SelectionAppearance selectionAppearance)` How selection of rows should be presented to the user.
    `void` | `setSelectionCanvasProperties(Canvas selectionCanvasProperties)` Canvas with properties to apply to the auto-generated Selection Canvas properties when `showSelectionCanvas` is true.
    `void` | `setSelectionProperty(java.lang.String selectionProperty)` If specified, the selection object for this list will use this property to mark records as selected.
    `void` | `setSelectionType(SelectionStyle selectionType)` Defines a listGrid's clickable-selection behavior.
    `void` | `setSelectionUnderCanvasProperties(Canvas selectionUnderCanvasProperties)` Canvas with properties to apply to the auto-generated Selection Under Canvas properties when `showSelectionCanvas` is true.
    `void` | `setSelectOnEdit(java.lang.Boolean selectOnEdit)` When the user starts editing a row, should the row also be selected?
    `void` | `setShowAllColumns(java.lang.Boolean showAllColumns)` Whether all columns should be drawn all at once, or only columns visible in the viewport.
    `void` | `setShowAllRecords(java.lang.Boolean showAllRecords)` Whether all rows should be drawn all at once, or only rows visible in the viewport.
    `void` | `setShowAsynchGroupingPrompt(java.lang.Boolean showAsynchGroupingPrompt)` If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
    `void` | `setShowBackgroundComponents(java.lang.Boolean showBackgroundComponents)` If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
    `void` | `setShowCellContextMenus(java.lang.Boolean showCellContextMenus)` Whether to show a context menu with standard items for all context clicks on rows in the body.
    `void` | `setShowClippedHeaderTitlesOnHover(boolean showClippedHeaderTitlesOnHover)` If true and a header button's title is clipped, then a hover containing the full field title is enabled.
    `void` | `setShowClippedValuesOnHover(java.lang.Boolean showClippedValuesOnHover)` If true and a cell's value is clipped, then a hover containing the full cell value is enabled.
    `void` | `setShowCollapsedGroupSummary(java.lang.Boolean showCollapsedGroupSummary)` Should group summaries be visible when the group is collapsed?
    `void` | `setShowComplexFields(java.lang.Boolean showComplexFields)` Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.
    `void` | `setShowDetailFields(java.lang.Boolean showDetailFields)` Whether to include fields marked `detail:true` from this component's `DataSource`.
    `void` | `setShowEmptyMessage(java.lang.Boolean showEmptyMessage)` Indicates whether the text of the emptyMessage property should be displayed if no data is available.
    `void` | `setShowErrorIcons(boolean showErrorIcons)` If this grid is editable, and an edit has caused validation failure for some cell, should we show an icon to indicate validation failure?
    `void` | `setShowFilterEditor(boolean showFilterEditor)` Should this listGrid display a filter row.
    `void` | `setShowGridSummary(java.lang.Boolean showGridSummary)` Should this ListGrid show a summary row beneath the last record of the grid.
    `void` | `setShowGroupSummary(java.lang.Boolean showGroupSummary)` If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields.
    `void` | `setShowGroupSummaryInHeader(java.lang.Boolean showGroupSummaryInHeader)` If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.
    `void` | `setShowGroupTitleColumn(java.lang.Boolean showGroupTitleColumn)` If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.
    `void` | `setShowHeader(java.lang.Boolean showHeader)` Should we show the header for this ListGrid? If this method is called after the component has been drawn/initialized: Show or hide the ListGrid header.
    `void` | `setShowHeaderContextMenu(java.lang.Boolean showHeaderContextMenu)` Whether to show a context menu on the header with standard items for showing and hiding fields.
    `void` | `setShowHeaderMenuButton(java.lang.Boolean showHeaderMenuButton)` If set to true and `showHeaderContextMenu` is true, the `headerMenuButton` will be displayed when the user rolls over the header buttons in this grid.
    `void` | `setShowHeaderSpanTitlesInFormulaBuilder(java.lang.Boolean showHeaderSpanTitlesInFormulaBuilder)` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
    `void` | `setShowHeaderSpanTitlesInHiliteEditor(java.lang.Boolean showHeaderSpanTitlesInHiliteEditor)` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
    `void` | `setShowHeaderSpanTitlesInSortEditor(java.lang.Boolean showHeaderSpanTitlesInSortEditor)` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
    `void` | `setShowHiddenFields(java.lang.Boolean showHiddenFields)` Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.
    `void` | `setShowHilitesInGroupSummary(boolean showHilitesInGroupSummary)` Determines whether hiliting for any field in this grid is shown in a group summary.
    `void` | `setShowHover(java.lang.Boolean showHover)` If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse.
    `void` | `setShowHoverComponents(java.lang.Boolean showHoverComponents)` When set to true and canHover is also true, shows a widget hovering at the mouse point.
    `void` | `setShowPartialSelection(java.lang.Boolean showPartialSelection)` Should partially selected parents (in a Tree data set) be shown with special icon? This has an impact in grouped grids where `canSelectGroups` is true.
    `void` | `setShowRecordComponents(java.lang.Boolean showRecordComponents)` When enabled, `ListGrid.createRecordComponent()` will be called when saved rows are being rendered, and any returned component will be displayed embedded within the row or cell.
    `void` | `setShowRecordComponentsByCell(java.lang.Boolean showRecordComponentsByCell)` If true, shows `recordComponents` in cells, rather than just in records.
    `void` | `setShowRollOver(java.lang.Boolean showRollOver)` Should a different styling be shown for the cell that the mouse is over? By default, this is `true`, except on touch devices (`isTouch` is `true`) for which the default `showRollOver` setting is `false`.
    `void` | `setShowRollOverCanvas(java.lang.Boolean showRollOverCanvas)` When enabled, when the mouse moves over a row or cell (depending on `useCellRollOvers`), an arbitrary Canvas can be shown layered on top of the row or cell (the `rollOverCanvas`), layered underneath the row or cell (the `rollUnderCanvas`), or both.
    `void` | `setShowRollUnderCanvas(java.lang.Boolean showRollUnderCanvas)` If roll overs are enabled, should the `rollUnderCanvas` be displayed?
    `void` | `setShowRowNumbers(java.lang.Boolean showRowNumbers)` When set to true, shows an additional field at the beginning of the field-list (respecting RTL) that displays the current rowNum for each record.
    `void` | `setShowSelectedStyle(java.lang.Boolean showSelectedStyle)` Should the "Selected" style be applied to selected records?
    `void` | `setShowSelectionCanvas(java.lang.Boolean showSelectionCanvas)` If `selectionType` is set to `SelectionStyle.SINGLE`, setting this property to `true` means selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling.
    `void` | `setShowSelectionUnderCanvas(java.lang.Boolean showSelectionUnderCanvas)` If `selectionType` is set to `SelectionStyle.SINGLE`, and either `showSelectionCanvas` is `true` and `showSelectionUnderCanvas` is unset, or `showSelectionUnderCanvas` is explicitly set to `true`, then selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling.
    `void` | `setShowSortArrow(SortArrow showSortArrow)` Indicates whether a sorting arrow should appear for the listGrid, and its location.
    `void` | `setShowSortNumerals(java.lang.Boolean showSortNumerals)` When multiple fields are sorted, set this to false to hide the sort-numeral displayed by default after the sort-arrows in the header-buttons of sorted fields.
    `void` | `setShowTreeColumnPicker(java.lang.Boolean showTreeColumnPicker)` When `headerSpans` are in use, whether to show a hierarchical column picker that includes both headerSpans and normal headers, with normal headers indented under headerSpans similarly to how a `TreeGrid` displays a Tree.
    `void` | `setShrinkForFreeze(java.lang.Boolean shrinkForFreeze)` If this list grid is showing any `frozen` fields, and a horizontal scrollbar is visible at the bottom of the liquid columns, should an equivalent scrollbar gap be left visible below the frozen columns? Note that if set to `true` any backgroundColor or border applied to the ListGrid will show up below the bottom row of the frozen column(s).
    `void` | `setSingleCellValueProperty(java.lang.String singleCellValueProperty)` If `record[this.singleCellValueProperty]` is set for some record, the record will be displayed as a single cell spanning every column in the grid, with contents set to the value of `record[this.singleCellValueProperty]`.
    `void` | `setSkinImgDir(java.lang.String skinImgDir)` Where do 'skin' images (those provided with the class) live?
    `void` | `setSort(SortSpecifier... sortSpecifiers)` Sort the grid on one or more fields.
    `void` | `setSortAscendingImage(ImgProperties sortAscendingImage)` Image to show when sorting ascending.
    `void` | `setSortByGroupFirst(java.lang.Boolean sortByGroupFirst)` If set, whenever grouping is performed by an end user or by a programmatic call to `ListGrid.groupBy()`, data is implicitly sorted by all of the grouped columns, in the order they were passed to groupBy.
    `void` | `setSortDescendingImage(ImgProperties sortDescendingImage)` Image to show when sorting descending.
    `void` | `setSortDirection(SortDirection sortDirection)` Sorting direction of this ListGrid.
    `void` | `setSortEditorSpanTitleSeparator(java.lang.String sortEditorSpanTitleSeparator)` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInSortEditor` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid on the multi-sort editor
    `void` | `setSorterButtonTitle(java.lang.String sorterButtonTitle)` The title for the corner sort button.
    `void` | `setSortField(int fieldIndex)` Specifies the field by which this grid should be initially sorted.
    `void` | `setSortField(java.lang.Integer sortField)` Specifies the field by which this grid should be initially sorted.
    `void` | `setSortField(java.lang.String sortField)` Specifies the field by which this grid should be initially sorted.
    `void` | `setSortFieldAscendingText(java.lang.String sortFieldAscendingText)` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in ascending order.
    `void` | `setSortFieldDescendingText(java.lang.String sortFieldDescendingText)` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in descending order.
    `void` | `setSortNumeralStyle(java.lang.String sortNumeralStyle)` When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.
    `void` | `setSortState(java.lang.String sortState)` Initial sort state for the grid.
    `void` | `setStopOnErrors(java.lang.Boolean stopOnErrors)` If this is an editable listGrid, this property determines how failure to save due to validation errors should be displayed to the user.
    `void` | `setStyleName(java.lang.String styleName)` Default CSS class for the ListGrid as a whole.
    `void` | `setSummaryRowCriteria(Criteria summaryRowCriteria)` If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row.
    `void` | `setSummaryRowDataSource(DataSource summaryRowDataSource)` If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary()` and `ListGrid.getGridSummaryFunction()`).
    `void` | `setSummaryRowFetchRequestProperties(DSRequest summaryRowFetchRequestProperties)` If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to customize the fetch request used when retrieving summary data to show in the summary row.
    `void` | `setSummaryRowHeight(int summaryRowHeight)` Default height for the `summary row autoChild`.
    `void` | `setSummaryRowStyle(java.lang.String summaryRowStyle)` `baseStyle` for the `summaryRow`
    `void` | `setTallBaseStyle(java.lang.String tallBaseStyle)` "Tall" baseStyle for this listGrid.
    `void` | `setTitleField(java.lang.String titleField)` Sets the best field to use for a user-visible title for an individual record from this component.
    `void` | `setTrackerImage(ImgProperties trackerImage)` Default image to use for the dragTracker when things are dragged within or out of this list.
    `void` | `setUnfreezeFieldText(java.lang.String unfreezeFieldText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.
    `void` | `setUngroupText(java.lang.String ungroupText)` If we're showing a `headerContextMenu` for this grid, and `this.isGrouped` is true, this attribute will be shown as the title for the menu item to ungroup the grid.
    `void` | `setUnremoveIcon(java.lang.String unremoveIcon)` When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved()`.
    `void` | `setUpdateOperation(java.lang.String updateOperation)` Operation ID this component should use when performing update operations.
    `void` | `setUseAdvancedFieldPicker(java.lang.Boolean useAdvancedFieldPicker)` If set to true, an advanced field picker based on the `FieldPicker` will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.
    `void` | `setUseAllDataSourceFields(java.lang.Boolean useAllDataSourceFields)` If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.
    `void` | `setUseCellRollOvers(java.lang.Boolean useCellRollOvers)` Are rollovers cell-level or row-level?
    `void` | `setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts)` Enables copy/paste shortcuts, provided `canSelectCells` is true
    `void` | `setUseFlatFields(java.lang.Boolean useFlatFields)` The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.
    `void` | `setUseRemoteValidators(java.lang.Boolean useRemoteValidators)` If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed. Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode.
    `void` | `setUseRowSpanStyling(java.lang.Boolean useRowSpanStyling)` Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan()` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right.
    `void` | `setValidateByCell(java.lang.Boolean validateByCell)` Whether client-side validation checks should be performed when the user moves between cells in the current edit row.
    `void` | `setValidateOnChange(java.lang.Boolean validateOnChange)` If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
    `void` | `setValueIconHeight(java.lang.Integer valueIconHeight)` Height for value icons for this listGrid.
    `void` | `setValueIconLeftPadding(int valueIconLeftPadding)` How much padding should there be on the left of valueIcons by default Can be overridden at the field level
    `void` | `setValueIconRightPadding(int valueIconRightPadding)` How much padding should there be on the right of valueIcons by default
    `void` | `setValueIconSize(int valueIconSize)` Default width and height of value icons for this ListGrid.
    `void` | `setValueIconWidth(java.lang.Integer valueIconWidth)` Width for value icons for this listGrid.
    `void` | `setValueMap(java.lang.String fieldName, java.util.LinkedHashMap valueMap)` Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
    `void` | `setValueMap(java.lang.String fieldName, java.lang.String... valueMap)` Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
    `void` | `setViewState(java.lang.String viewState)` Initial `view state` for the grid.
    `void` | `setVirtualScrolling(java.lang.Boolean virtualScrolling)` When incremental rendering is switched on and there are variable record heights, the virtual scrolling mechanism manages the differences in scroll height calculations due to the unknown sizes of un-rendered rows to make the scrollbar and viewport appear correctly.
    `void` | `setWaitForSave(java.lang.Boolean waitForSave)` If this is an editable listGrid, this property determines whether the user will be able to dismiss the edit form, or navigate to another cell while the save is in process (before the asynchronous server response returns).
    `void` | `setWarnOnRemoval(java.lang.Boolean warnOnRemoval)` If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
    `void` | `setWarnOnRemovalMessage(java.lang.String warnOnRemovalMessage)` Warning message to show the user on a click on the 'remove' icon if `canRemoveRecords` is true and `warnOnRemoval` is true.
    `void` | `setWarnOnUnmappedValueFieldChange(java.lang.Boolean warnOnUnmappedValueFieldChange)` If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).
    `void` | `setWrapCells(java.lang.Boolean wrapCells)` Should content within cells be allowed to wrap?
    `void` | `setWrapHeaderTitles(java.lang.Boolean wrapHeaderTitles)` If `wrap` is not explicitly set, should fields wrap?
    `boolean` | `shouldIncludeHiliteInSummaryField(java.lang.String summaryFieldName, java.lang.String usedFieldName)` When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?
    `void` | `showField(java.lang.String field)` Force a field to be shown.
    `void` | `showField(java.lang.String field, boolean suppressRelayout)` Force a field to be shown.
    `void` | `showFields(ListGridField... field)` Force an array of fields to be shown.
    `void` | `showFields(ListGridField[] fields, boolean suppressRelayout)`
    `void` | `showFields(java.lang.String... field)` Force an array of fields to be shown.
    `void` | `showFields(java.lang.String[] field, boolean suppressRelayout)` Force an array of fields to be shown.
    `protected boolean` | `showRecordComponent(ListGridRecord record, java.lang.Integer colNum)` When `showRecordComponents` is true, return false from this method to prevent showRecordComponent behavior for the passed record.
    `java.lang.Boolean` | `sort()` Sort this grid's data, with the option to explicitly specify a single field to sort by and sort direction.
    `java.lang.Boolean` | `sort(int sortCol, SortDirection sortDirection)`
    `java.lang.Boolean` | `sort(java.lang.String sortField)`
    `java.lang.Boolean` | `sort(java.lang.String sortField, SortDirection sortDirection)` Sort this grid's data, with the option to explicitly specify a single field to sort by and sort direction.
    `java.lang.Boolean` | `startEditing()` Start inline editing at the provided coordinates.
    `java.lang.Boolean` | `startEditing(java.lang.Integer rowNum)`
    `java.lang.Boolean` | `startEditing(java.lang.Integer rowNum, java.lang.Integer colNum)`
    `java.lang.Boolean` | `startEditing(java.lang.Integer rowNum, java.lang.Integer colNum, java.lang.Boolean suppressFocus)` Start inline editing at the provided coordinates.
    `void` | `startEditingNew()` Start editing a new row, after the last pre-existing record in the current set of data.
    `void` | `startEditingNew(java.util.Map newValues)`
    `void` | `startEditingNew(java.util.Map newValues, java.lang.Boolean suppressFocus)` Start editing a new row, after the last pre-existing record in the current set of data.
    `void` | `startEditingNew(Record defaultRecordValue)` Start editing a new row, after the last pre-existing record in the current set of data.
    `void` | `stopHover()` Notification that the user is no longer hovering over some cell.
    `void` | `summaryUpdated(ListGridField field, UserSummary summary)` Notification fired when a user either creates a new summary field or edits an existing summary field.
    `void` | `toggleSort(java.lang.String fieldName)` Toggles the sort-direction of the field with the passed name and resorts the grid.
    `void` | `transferSelectedData(DataBoundComponent source)` Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction.
    `void` | `transferSelectedData(DataBoundComponent source, int index)` Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction.
    `void` | `unfreezeField(java.lang.Integer field)` Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `unfreezeField(ListGridField field)` Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `unfreezeField(java.lang.String field)` Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `unfreezeField(java.lang.String[] field)` Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `unfreezeFields(int[] colNums)`
    `void` | `unfreezeFields(java.lang.String[] fieldNames)`
    `void` | `ungroup()` Removes the grouping from the listgrid, restoring its original data
    `void` | `unmarkRecordRemoved(int rowNum)` Reverses a previous call to `ListGrid.markRecordRemoved()`.
    `void` | `unsort()` Turn sorting off, typically because data has changed and is no longer sorted.
    `void` | `updateData(Record updatedRecord)` Perform a DataSource "update" operation to update existing records in this component's DataSource.
    `void` | `updateData(Record updatedRecord, DSCallback callback)`
    `void` | `updateData(Record updatedRecord, DSCallback callback, DSRequest requestProperties)` Perform a DataSource "update" operation to update existing records in this component's DataSource.
    `Canvas` | `updateRecordComponent(ListGridRecord record, java.lang.Integer colNum, Canvas component, boolean recordChanged)` When `showRecordComponents` is true, this method is called to update components created by `ListGrid.createRecordComponent()` when they are to be applied to a different record in the grid.
    `void` | `userSelectAllRecords()` Selects every user-selectable record in the grid.
    `java.lang.Boolean` | `validateCell(int rowNum, int colIndex)` Validate the current edit value for the cell in question.
    `java.lang.Boolean` | `validateCell(int rowNum, java.lang.String fieldName)` Validate the current edit value for the cell in question.
    `java.lang.Boolean` | `validateRow(int rowNum)` Validate the current set of edit values for the row in question.
    `java.lang.Boolean` | `willAcceptDrop()` This method overrides `Canvas.willAcceptDrop()` and works as follows: If `Canvas.willAcceptDrop()` (the superclass definition) returns false, this method always returns false.
    `java.lang.Boolean` | `willFetchData(Criteria newCriteria)` Compares the specified criteria with the current criteria applied to this component's data object and determines whether the new criteria could be satisfied from the currently cached set of data, or if a new filter/fetch operation will be required.
    `java.lang.Boolean` | `willFetchData(Criteria newCriteria, TextMatchStyle textMatchStyle)` Compares the specified criteria with the current criteria applied to this component's data object and determines whether the new criteria could be satisfied from the currently cached set of data, or if a new filter/fetch operation will be required.

    - ### Methods inherited from class com.smartgwt.client.widgets.layout.VLayout

      `setDefaultProperties, setLogicalStructure`

    - ### Methods inherited from class com.smartgwt.client.widgets.layout.Layout

      `addMember, addMember, addMember, addMember, addMemberPostCreate, addMemberPostCreate, addMemberPreCreate, addMemberPreCreate, addMembers, addMembers, addMembersChangedHandler, getAnimateMembers, getAnimateMemberTime, getCanDropComponents, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutTopMargin, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersMargin, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, onInit_Layout, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutTopMargin, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinMemberSize, setOverflow, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember`

    - ### Methods inherited from class com.smartgwt.client.widgets.Canvas

      `addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getTabIndex, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoMaskComponents, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanSelectText, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, applyFactoryProperties, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.smartgwt.client.widgets.DataBoundComponent

      `getOrCreateJsObj`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### ListGrid

          public ListGrid()

    - #### ListGrid

          public ListGrid(JavaScriptObject jsObj)

    - #### ListGrid

          public ListGrid(DataSource dataSource)

  - ### Method Detail

    - #### getOrCreateRef

          public static ListGrid getOrCreateRef(JavaScriptObject jsObj)

    - #### getTestInstance

          protected ListGrid getTestInstance()

      Overrides:
        `getTestInstance` in class `Canvas`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### create

          protected JavaScriptObject create()

      Overrides:
        `create` in class `VLayout`

    - #### setAdvancedFieldPickerThreshold

          public void setAdvancedFieldPickerThreshold(int advancedFieldPickerThreshold)
                                               throws java.lang.IllegalStateException

      When `useAdvancedFieldPicker` is set, total number of available fields that must be present in the grid before the advanced field picker interface is used instead of the normal columns submenu.

      Set to 0 to have the advanced picker always used (when useAdvancedFieldPicker is true).

      Parameters:
        `advancedFieldPickerThreshold` - Default value is 25
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAdvancedFieldPickerThreshold

          public int getAdvancedFieldPickerThreshold()

      When `useAdvancedFieldPicker` is set, total number of available fields that must be present in the grid before the advanced field picker interface is used instead of the normal columns submenu.

      Set to 0 to have the advanced picker always used (when useAdvancedFieldPicker is true).

      Returns:
        int

    - #### setAllowFilterExpressions

          public void setAllowFilterExpressions(java.lang.Boolean allowFilterExpressions)
                                         throws java.lang.IllegalStateException

      For use with `showFilterEditor`:true, allows simple search expressions to be entered into filter fields, as though `allowExpressions` were true.

      Can also be enabled or disabled on a field-by-field basis via `filterEditorProperties`.

      Parameters:
        `allowFilterExpressions` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAllowFilterExpressions

          public java.lang.Boolean getAllowFilterExpressions()

      For use with `showFilterEditor`:true, allows simple search expressions to be entered into filter fields, as though `allowExpressions` were true.

      Can also be enabled or disabled on a field-by-field basis via `filterEditorProperties`.

      Returns:
        Boolean

    - #### setAllowRowSpanning

          public void setAllowRowSpanning(java.lang.Boolean allowRowSpanning)
                                   throws java.lang.IllegalStateException

      Should cells in this grid be allowed to span multiple rows? If set to `true`, the `ListGrid.getRowSpan()` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.

      See `ListGrid.getRowSpan()` for more details

      Parameters:
        `allowRowSpanning` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAllowRowSpanning

          public java.lang.Boolean getAllowRowSpanning()

      Should cells in this grid be allowed to span multiple rows? If set to `true`, the `ListGrid.getRowSpan()` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.

      See `ListGrid.getRowSpan()` for more details

      Returns:
        Boolean

    - #### setAlternateBodyStyleName

          public void setAlternateBodyStyleName(java.lang.String alternateBodyStyleName)

      Optional css style to apply to the body if `alternateRecordStyles` is true for this grid. If unset `bodyStyleName` will be used to style the body regardless of the `alternateRecordStyles` setting.
      If this method is called after the component has been drawn/initialized: Update the `alternateBodyStyleName` for this listGrid.

      Note : This is an advanced setting

      Parameters:
        `alternateBodyStyleName` - new body style name when showing alternateRecordStyles See `CSSStyleName` . Default value is null

    - #### getAlternateBodyStyleName

          public java.lang.String getAlternateBodyStyleName()

      Optional css style to apply to the body if `alternateRecordStyles` is true for this grid. If unset `bodyStyleName` will be used to style the body regardless of the `alternateRecordStyles` setting.
      Returns:
        See `CSSStyleName`

    - #### setAlternateFieldFrequency

          public void setAlternateFieldFrequency(int alternateFieldFrequency)

      The number of consecutive columns to draw in the same style before alternating, when `alternateColumnStyles` is true.
      Parameters:
        `alternateFieldFrequency` - Default value is 1

    - #### getAlternateFieldFrequency

          public int getAlternateFieldFrequency()

      The number of consecutive columns to draw in the same style before alternating, when `alternateColumnStyles` is true.
      Returns:
        int

    - #### setAlternateFieldStyles

          public void setAlternateFieldStyles(boolean alternateFieldStyles)

      Whether alternating columns should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading. If enabled, the cell style for alternate columns will have "Dark" appended to it.
      Parameters:
        `alternateFieldStyles` - Default value is false

    - #### getAlternateFieldStyles

          public boolean getAlternateFieldStyles()

      Whether alternating columns should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading. If enabled, the cell style for alternate columns will have "Dark" appended to it.
      Returns:
        boolean

    - #### setAlternateRecordFrequency

          public void setAlternateRecordFrequency(int alternateRecordFrequency)

      The number of consecutive rows to draw in the same style before alternating, when `alternateRowStyles` is true.
      Parameters:
        `alternateRecordFrequency` - Default value is 1

    - #### getAlternateRecordFrequency

          public int getAlternateRecordFrequency()

      The number of consecutive rows to draw in the same style before alternating, when `alternateRowStyles` is true.
      Returns:
        int

    - #### setAlternateRecordStyles

          public void setAlternateRecordStyles(java.lang.Boolean alternateRecordStyles)

      Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading. If enabled, the cell style for alternate rows will have "Dark" appended to it.
      If this method is called after the component has been drawn/initialized: Setter for `alternateRecordStyles`
      Parameters:
        `alternateRecordStyles` - New value for `this.alternateRecordStyles`. Default value is false
      See Also:
        Grid cells Example

    - #### getAlternateRecordStyles

          public java.lang.Boolean getAlternateRecordStyles()

      Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading. If enabled, the cell style for alternate rows will have "Dark" appended to it.
      Returns:
        Boolean
      See Also:
        Grid cells Example

    - #### setAlwaysShowEditors

          public void setAlwaysShowEditors(java.lang.Boolean alwaysShowEditors)
                                    throws java.lang.IllegalStateException

      When this attribute is set, editors will be rendered into every row of the grid rather than showing up in a single record at a time. This attribute is only valid when `editByCell` is false
      Parameters:
        `alwaysShowEditors` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Editing overview and related methods`

    - #### getAlwaysShowEditors

          public java.lang.Boolean getAlwaysShowEditors()

      When this attribute is set, editors will be rendered into every row of the grid rather than showing up in a single record at a time. This attribute is only valid when `editByCell` is false
      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setAnimateFolderEffect

          public void setAnimateFolderEffect(AnimationAcceleration animateFolderEffect)

      When animating folder opening / closing, this property can be set to apply an animated acceleration effect. This allows the animation speed to be "weighted", for example expanding or collapsing at a faster rate toward the beginning of the animation than at the end.

      For a ListGrid, this property applies when `grouping` is enabled.

      Parameters:
        `animateFolderEffect` - Default value is null

    - #### getAnimateFolderEffect

          public AnimationAcceleration getAnimateFolderEffect()

      When animating folder opening / closing, this property can be set to apply an animated acceleration effect. This allows the animation speed to be "weighted", for example expanding or collapsing at a faster rate toward the beginning of the animation than at the end.

      For a ListGrid, this property applies when `grouping` is enabled.

      Returns:
        AnimationAcceleration

    - #### setAnimateFolderMaxRows

          public void setAnimateFolderMaxRows(java.lang.Integer animateFolderMaxRows)

      If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.

      For a ListGrid, this property applies when `grouping` is enabled.

      Parameters:
        `animateFolderMaxRows` - Default value is null
      See Also:
        `TreeGrid.getAnimateFolderMaxRows()`

    - #### getAnimateFolderMaxRows

          public java.lang.Integer getAnimateFolderMaxRows()

      If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.

      For a ListGrid, this property applies when `grouping` is enabled.

      Returns:
        Integer
      See Also:
        `TreeGrid.getAnimateFolderMaxRows()`

    - #### setAnimateFolders

          public void setAnimateFolders(java.lang.Boolean animateFolders)

      If true, when folders are opened / closed children will be animated into view.

      For a ListGrid, this property applies when `grouping` is enabled.

      Parameters:
        `animateFolders` - Default value is true

    - #### getAnimateFolders

          public java.lang.Boolean getAnimateFolders()

      If true, when folders are opened / closed children will be animated into view.

      For a ListGrid, this property applies when `grouping` is enabled.

      Returns:
        Boolean

    - #### setAnimateFolderSpeed

          public void setAnimateFolderSpeed(int animateFolderSpeed)

      When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second. Takes precedence over the `animateFolderTime` property, which allows the developer to specify a duration for the animation rather than a speed.

      For a ListGrid, this property applies when `grouping` is enabled.

      Parameters:
        `animateFolderSpeed` - Default value is 3000
      See Also:
        `setAnimateFolderTime(int)`

    - #### getAnimateFolderSpeed

          public int getAnimateFolderSpeed()

      When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second. Takes precedence over the `animateFolderTime` property, which allows the developer to specify a duration for the animation rather than a speed.

      For a ListGrid, this property applies when `grouping` is enabled.

      Returns:
        int
      See Also:
        `getAnimateFolderTime()`

    - #### setAnimateFolderTime

          public void setAnimateFolderTime(int animateFolderTime)

      When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.

      For a ListGrid, this property applies when `grouping` is enabled.

      Parameters:
        `animateFolderTime` - Default value is 100
      See Also:
        `setAnimateFolderSpeed(int)`

    - #### getAnimateFolderTime

          public int getAnimateFolderTime()

      When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.

      For a ListGrid, this property applies when `grouping` is enabled.

      Returns:
        int
      See Also:
        `getAnimateFolderSpeed()`

    - #### setAnimateRemoveRecord

          public void setAnimateRemoveRecord(java.lang.Boolean animateRemoveRecord)

      When `canRemoveRecords` is enabled, should records be animated out of view when they are removed by the user?
      Parameters:
        `animateRemoveRecord` - Default value is true

    - #### getAnimateRemoveRecord

          public java.lang.Boolean getAnimateRemoveRecord()

      When `canRemoveRecords` is enabled, should records be animated out of view when they are removed by the user?
      Returns:
        Boolean

    - #### setAnimateRemoveSpeed

          public void setAnimateRemoveSpeed(int animateRemoveSpeed)

      When `animating record removal`, this property designates the speed of the animation in pixels per second. Takes precedence over the `animateRemoveTime` property, which allows the developer to specify a duration for the animation rather than a speed.
      Parameters:
        `animateRemoveSpeed` - Default value is 200
      See Also:
        `setAnimateRemoveRecord(java.lang.Boolean)`

    - #### getAnimateRemoveSpeed

          public int getAnimateRemoveSpeed()

      When `animating record removal`, this property designates the speed of the animation in pixels per second. Takes precedence over the `animateRemoveTime` property, which allows the developer to specify a duration for the animation rather than a speed.
      Returns:
        int
      See Also:
        `getAnimateRemoveRecord()`

    - #### setAnimateRemoveTime

          public void setAnimateRemoveTime(int animateRemoveTime)

      When animating record removal `(see animateRemoveRecord)`, if `animateRemoveSpeed` is not set, this property designates the duration of the animation in ms.
      Parameters:
        `animateRemoveTime` - Default value is 100
      See Also:
        `setAnimateRemoveRecord(java.lang.Boolean)`

    - #### getAnimateRemoveTime

          public int getAnimateRemoveTime()

      When animating record removal `(see animateRemoveRecord)`, if `animateRemoveSpeed` is not set, this property designates the duration of the animation in ms.
      Returns:
        int
      See Also:
        `getAnimateRemoveRecord()`

    - #### setAnimateRollOver

          public void setAnimateRollOver(java.lang.Boolean animateRollOver)

      If the `rollOverCanvas` is enabled, setting this property to `true` ensures that when the `rollOverCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `rollOverCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateRollOver` - Default value is false

    - #### getAnimateRollOver

          public java.lang.Boolean getAnimateRollOver()

      If the `rollOverCanvas` is enabled, setting this property to `true` ensures that when the `rollOverCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `rollOverCanvasProperties`.
      Returns:
        Boolean

    - #### setAnimateRollUnder

          public void setAnimateRollUnder(java.lang.Boolean animateRollUnder)

      If the `rollUnderCanvas` is enabled, setting this property to `true` ensures that when the `rollUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `rollUnderCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateRollUnder` - Default value is false
      See Also:
        Animated Selection Example

    - #### getAnimateRollUnder

          public java.lang.Boolean getAnimateRollUnder()

      If the `rollUnderCanvas` is enabled, setting this property to `true` ensures that when the `rollUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `rollUnderCanvasProperties`.
      Returns:
        Boolean
      See Also:
        Animated Selection Example

    - #### setAnimateSelection

          public void setAnimateSelection(java.lang.Boolean animateSelection)

      If the `selectionCanvas` is enabled, setting this property to `true` ensures that when the `selectionCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `selectionCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateSelection` - Default value is false
      See Also:
        `setAnimateSelectionUnder(java.lang.Boolean)`

    - #### getAnimateSelection

          public java.lang.Boolean getAnimateSelection()

      If the `selectionCanvas` is enabled, setting this property to `true` ensures that when the `selectionCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `selectionCanvasProperties`.
      Returns:
        Boolean
      See Also:
        `getAnimateSelectionUnder()`

    - #### setAnimateSelectionUnder

          public void setAnimateSelectionUnder(java.lang.Boolean animateSelectionUnder)

      If the `selectionUnderCanvas` is enabled, setting this property to `true` ensures that when the `selectionUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `selectionUnderCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateSelectionUnder` - Default value is false
      See Also:
        `setAnimateSelection(java.lang.Boolean)`, Animated Selection Example

    - #### getAnimateSelectionUnder

          public java.lang.Boolean getAnimateSelectionUnder()

      If the `selectionUnderCanvas` is enabled, setting this property to `true` ensures that when the `selectionUnderCanvas` is displayed it is animated into view via `Canvas.animateShow()`. Note that the animation effect may be customized via `animateShowEffect`, `animateShowTime` and `animateShowAcceleration` set in `selectionUnderCanvasProperties`.
      Returns:
        Boolean
      See Also:
        `getAnimateSelection()`, Animated Selection Example

    - #### setApplyFormulaAfterSummary

          public void setApplyFormulaAfterSummary(java.lang.Boolean applyFormulaAfterSummary)

      If `userFormula` is set for some field, and this grid is showing `group summaries` or a `grid summary`, this property determines what field value should be present in those summary rows. Should the field apply the user-formula to the calculated summary row, or should it apply a standard grid or group summary to the user-formula values displayed in the grid?

      May be overridden at the field level via `applyAfterSummary`

      Parameters:
        `applyFormulaAfterSummary` - Default value is false

    - #### getApplyFormulaAfterSummary

          public java.lang.Boolean getApplyFormulaAfterSummary()

      If `userFormula` is set for some field, and this grid is showing `group summaries` or a `grid summary`, this property determines what field value should be present in those summary rows. Should the field apply the user-formula to the calculated summary row, or should it apply a standard grid or group summary to the user-formula values displayed in the grid?

      May be overridden at the field level via `applyAfterSummary`

      Returns:
        Boolean

    - #### setApplyRowNumberStyle

          public void setApplyRowNumberStyle(boolean applyRowNumberStyle)

      If `showRowNumbers` is true, should we apply the `rowNumberStyle` to the `rowNumberField`

      Note : This is an advanced setting

      Parameters:
        `applyRowNumberStyle` - Default value is true

    - #### getApplyRowNumberStyle

          public boolean getApplyRowNumberStyle()

      If `showRowNumbers` is true, should we apply the `rowNumberStyle` to the `rowNumberField`
      Returns:
        boolean

    - #### setArrowKeyAction

          public void setArrowKeyAction(java.lang.String arrowKeyAction)

      Action to perform when the listGrid has keyboard focus (but not editing focus) and a user presses the up or down arrow key. Possible values are:
      - `"select"` : select the next row in the list (calls `recordClick` handler)
      - `"focus"` : move focus to the next row in the list without changing the selection
      - `"activate"` : select and activate the next row in the list (calls `recordDoubleClick` handler)
      - `"none"` : no action
      - `null` : if `selectionAppearance` is "checkbox", behaves as if set to "focus"; otherwise, behaves as if set to "select"

      Note : This is an advanced setting

      Parameters:
        `arrowKeyAction` - Default value is null

    - #### getArrowKeyAction

          public java.lang.String getArrowKeyAction()

      Action to perform when the listGrid has keyboard focus (but not editing focus) and a user presses the up or down arrow key. Possible values are:
      - `"select"` : select the next row in the list (calls `recordClick` handler)
      - `"focus"` : move focus to the next row in the list without changing the selection
      - `"activate"` : select and activate the next row in the list (calls `recordDoubleClick` handler)
      - `"none"` : no action
      - `null` : if `selectionAppearance` is "checkbox", behaves as if set to "focus"; otherwise, behaves as if set to "select"
      Returns:
        String

    - #### setAsynchGroupingPrompt

          public void setAsynchGroupingPrompt(java.lang.String asynchGroupingPrompt)
                                       throws java.lang.IllegalStateException

      The prompt to display while interactivity is blocked during `asynchronous grouping`.
      Parameters:
        `asynchGroupingPrompt` - See `HTMLString` . Default value is "${loadingImage}&nbsp;Grouping data..."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAsynchGroupingPrompt

          public java.lang.String getAsynchGroupingPrompt()

      The prompt to display while interactivity is blocked during `asynchronous grouping`.
      Returns:
        See `HTMLString`

    - #### setAutoComplete

          public void setAutoComplete(AutoComplete autoComplete)

      Whether to do inline autoComplete in text fields during inline editing
      Overridden by `autoComplete` if specified. If unset picks up the default from the appropriate editor class (subclass of FormItem).
      Parameters:
        `autoComplete` - Default value is null
      See Also:
        `ListGridField.setAutoComplete(com.smartgwt.client.types.AutoComplete)`

    - #### getAutoComplete

          public AutoComplete getAutoComplete()

      Whether to do inline autoComplete in text fields during inline editing
      Overridden by `autoComplete` if specified. If unset picks up the default from the appropriate editor class (subclass of FormItem).
      Returns:
        AutoComplete
      See Also:
        `ListGridField.getAutoComplete()`

    - #### setAutoFetchDisplayMap

          public void setAutoFetchDisplayMap(java.lang.Boolean autoFetchDisplayMap)

      If true, for fields where `optionDataSource` is specified, a valueMap will be automatically created by making a `DataSource.fetchData()` call against the specified dataSource and extracting a valueMap from the returned records based on the displayField and valueField.

      If set to false, valueMaps will not be automatically fetched. In this case, setting field.optionDataSource is effectively a shortcut for setting optionDataSource on the editor via `editorProperties`.

      Can also be disabled on a per-field basis with `autoFetchDisplayMap`.

      Parameters:
        `autoFetchDisplayMap` - Default value is true
      See Also:
        `ListGridField.setAutoFetchDisplayMap(java.lang.Boolean)`, `ListGridField.setOptionDataSource(com.smartgwt.client.data.DataSource)`

    - #### getAutoFetchDisplayMap

          public java.lang.Boolean getAutoFetchDisplayMap()

      If true, for fields where `optionDataSource` is specified, a valueMap will be automatically created by making a `DataSource.fetchData()` call against the specified dataSource and extracting a valueMap from the returned records based on the displayField and valueField.

      If set to false, valueMaps will not be automatically fetched. In this case, setting field.optionDataSource is effectively a shortcut for setting optionDataSource on the editor via `editorProperties`.

      Can also be disabled on a per-field basis with `autoFetchDisplayMap`.

      Returns:
        Boolean
      See Also:
        `ListGridField.getAutoFetchDisplayMap()`, `com.smartgwt.client.widgets.grid.ListGridField#getOptionDataSource`

    - #### setAutoFitAllText

          public void setAutoFitAllText(java.lang.String autoFitAllText)

      If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of all visible fields via the `ListGrid.autoFitField()` method.
      Parameters:
        `autoFitAllText` - Default value is "Auto Fit All Columns"

    - #### getAutoFitAllText

          public java.lang.String getAutoFitAllText()

      If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of all visible fields via the `ListGrid.autoFitField()` method.
      Returns:
        String

    - #### setAutoFitClipFields

          public void setAutoFitClipFields(java.lang.String... autoFitClipFields)
                                    throws java.lang.IllegalStateException

      If `autoFitFieldWidths` is enabled and the calculated field sizes are wide enough that horizontal scrolling would be introduced, this attribute may be set to an array of fieldNames, causing those fields to be clipped rather than forcing horizontal scrollbars to appear.

      Note: If any `frozen columns` are included in this list they will not be clipped.

      Parameters:
        `autoFitClipFields` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoFitClipFields

          public java.lang.String[] getAutoFitClipFields()

      If `autoFitFieldWidths` is enabled and the calculated field sizes are wide enough that horizontal scrolling would be introduced, this attribute may be set to an array of fieldNames, causing those fields to be clipped rather than forcing horizontal scrollbars to appear.

      Note: If any `frozen columns` are included in this list they will not be clipped.

      Returns:
        String...

    - #### setAutoFitData

          public void setAutoFitData(Autofit autoFitData)

      Should this ListGrid automatically expand to accommodate the size of records and fields?

      Valid settings are

      - `"vertical"`: expand vertically to accommodate records.
      - `"horizontal"`: expand horizontally to accommodate fields.
      - `"both"`: expand horizontally and vertically to accommodate content.
      How far the ListGrid will expand may be limited via the following properties: `autoFitMaxHeight`, `autoFitMaxRecords`, `autoFitMaxWidth`, `autoFitMaxColumns`.

      Note that this property causes the grid as a whole to expand to fit records or fields. To have the fields or records themselves expand to fit cell contents, see `autoFitFieldWidths` and `fixedRecordHeights`.
      If this method is called after the component has been drawn/initialized: Setter for `autoFitData`.

      Parameters:
        `autoFitData` - One of `"vertical"`, `"horizontal"` or `"both"`. To disable auto fit behavior, pass in `null`.. Default value is null

    - #### getAutoFitData

          public Autofit getAutoFitData()

      Should this ListGrid automatically expand to accommodate the size of records and fields?

      Valid settings are

      - `"vertical"`: expand vertically to accommodate records.
      - `"horizontal"`: expand horizontally to accommodate fields.
      - `"both"`: expand horizontally and vertically to accommodate content.
      How far the ListGrid will expand may be limited via the following properties: `autoFitMaxHeight`, `autoFitMaxRecords`, `autoFitMaxWidth`, `autoFitMaxColumns`.

      Note that this property causes the grid as a whole to expand to fit records or fields. To have the fields or records themselves expand to fit cell contents, see `autoFitFieldWidths` and `fixedRecordHeights`.

      Returns:
        Autofit

    - #### setAutoFitExpandField

          public void setAutoFitExpandField(java.lang.String autoFitExpandField)
                                     throws java.lang.IllegalStateException

      The field to expand if `autoFitFieldWidths` and `autoFitFieldsFillViewport` are enabled and auto-fitting will not fill all available horizontal space.

      If unset, will default to the text field with the longest `length` if length is set, otherwise, the first text field with no width specified.

      Note that expanding `frozen columns` is not supported.

      Parameters:
        `autoFitExpandField` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoFitExpandField

          public java.lang.String getAutoFitExpandField()

      The field to expand if `autoFitFieldWidths` and `autoFitFieldsFillViewport` are enabled and auto-fitting will not fill all available horizontal space.

      If unset, will default to the text field with the longest `length` if length is set, otherwise, the first text field with no width specified.

      Note that expanding `frozen columns` is not supported.

      Returns:
        String

    - #### setAutoFitExtraRecords

          public void setAutoFitExtraRecords(java.lang.Integer autoFitExtraRecords)

      If `autoFitData` is set to `"vertical"` or `"both"` this property specifies the number of additional records for which the grid will expand. If more records are present, scrolling will be introduced to reach them as normal.
      If this method is called after the component has been drawn/initialized: Setter for `autoFitExtraRecords`.
      Parameters:
        `autoFitExtraRecords` - Number of extra rows beyond the data-size we'll expand to accommodate if `auto fit` is enabled vertically.. Default value is null

    - #### getAutoFitExtraRecords

          public java.lang.Integer getAutoFitExtraRecords()

      If `autoFitData` is set to `"vertical"` or `"both"` this property specifies the number of additional records for which the grid will expand. If more records are present, scrolling will be introduced to reach them as normal.
      Returns:
        Integer

    - #### setAutoFitFieldsFillViewport

          public void setAutoFitFieldsFillViewport(java.lang.Boolean autoFitFieldsFillViewport)
                                            throws java.lang.IllegalStateException

      If `autoFitFieldWidths` is enabled, and extra space is available after autofitting all fields, should the grid automatically expand one field to fill the extra space.

      When enabled, the field to expand may be specified via `autoFitExpandField`.

      Note this logic will not expand a `frozen column`.

      Parameters:
        `autoFitFieldsFillViewport` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoFitFieldsFillViewport

          public java.lang.Boolean getAutoFitFieldsFillViewport()

      If `autoFitFieldWidths` is enabled, and extra space is available after autofitting all fields, should the grid automatically expand one field to fill the extra space.

      When enabled, the field to expand may be specified via `autoFitExpandField`.

      Note this logic will not expand a `frozen column`.

      Returns:
        Boolean

    - #### setAutoFitFieldText

          public void setAutoFitFieldText(java.lang.String autoFitFieldText)

      If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of the field to its title or content via a call to `ListGrid.autoFitField()`.
      Parameters:
        `autoFitFieldText` - Default value is "Auto Fit"

    - #### getAutoFitFieldText

          public java.lang.String getAutoFitFieldText()

      If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of the field to its title or content via a call to `ListGrid.autoFitField()`.
      Returns:
        String

    - #### setAutoFitFieldWidths

          public void setAutoFitFieldWidths(java.lang.Boolean autoFitFieldWidths)
                                     throws java.lang.IllegalStateException

      Enables autofitting of fields to values or titles. This property may be overridden on a per-field basis via `autoFitWidth`.

      The `autoFitWidthApproach` controls whether fitting is to values, titles or both. This property may also be overridden on a per field basis.

      If `field.width` is also set on the field, it will be taken as a minimum width. `minFieldWidth` will also be respected.

      By default, the entire available width of the grid will still be used, by allocating any "extra" space to specific columns - see `autoFitFieldsFillViewport` for details on controlling this behavior.

      Autofitting will be performed:

      - whenever the dataset is completely changed or rows are added or removed
      - whenever a field which is autofitting is changed
      - on a manual call to `ListGrid.autoFitField()` or `ListGrid.autoFitFields()`
      Auto-fitting behavior continues until the user resizes the field manually, at which point it stops. The user can also perform a one-time auto-fit of fields via the header context menu if `canAutoFitFields` is enabled.

      When autofitting to column values, `ListGrid.getDefaultFieldWidth()` will be called to determine the space required for a field's values. This method uses values from the rendered set of rows to calculate the required column width, which means the field width may still be smaller than values from non-rendered rows. See `showAllRecords` and `drawAheadRatio`) to control incremental rendering of rows.

      Note that for `icon` type fields, the `autoFitIconFields` property setting may turn on auto-fit-width behavior for specific fields by default, even if `autoFitFieldWidths` is false for the grid as a whole.

      Using this feature has a performance penalty roughly comparable to always rendering one additional field per field where autofitting is enabled. Specifically, enabling it for all fields would be comparable to both doubling the number of fields and disabling `horizontal incremental rendering`. In a grid where only half the fields are normally visible and hence only half are normally rendered, this would be roughly 4 times slower overall.

      This performance penalty is a result of `ListGrid.getDefaultFieldWidth()` having to render out the data set offscreen and measure the rendered content - it does not apply for cases where this method can return a simple fixed values (as with icon fields).

      Which fields are currently autofitting is saved as part of the `view state` of the ListGrid.
      If this method is called after the component has been drawn/initialized: Setter for `autoFitFieldWidths`. Modifies the default auto-fit-width behavior for fields in this grid. Note that this may be overridden at the field level via `autoFitWidth`.

      Parameters:
        `autoFitFieldWidths` - New value for autoFitFieldWidths. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoFitFieldWidths

          public java.lang.Boolean getAutoFitFieldWidths()

      Enables autofitting of fields to values or titles. This property may be overridden on a per-field basis via `autoFitWidth`.

      The `autoFitWidthApproach` controls whether fitting is to values, titles or both. This property may also be overridden on a per field basis.

      If `field.width` is also set on the field, it will be taken as a minimum width. `minFieldWidth` will also be respected.

      By default, the entire available width of the grid will still be used, by allocating any "extra" space to specific columns - see `autoFitFieldsFillViewport` for details on controlling this behavior.

      Autofitting will be performed:

      - whenever the dataset is completely changed or rows are added or removed
      - whenever a field which is autofitting is changed
      - on a manual call to `ListGrid.autoFitField()` or `ListGrid.autoFitFields()`
      Auto-fitting behavior continues until the user resizes the field manually, at which point it stops. The user can also perform a one-time auto-fit of fields via the header context menu if `canAutoFitFields` is enabled.

      When autofitting to column values, `ListGrid.getDefaultFieldWidth()` will be called to determine the space required for a field's values. This method uses values from the rendered set of rows to calculate the required column width, which means the field width may still be smaller than values from non-rendered rows. See `showAllRecords` and `drawAheadRatio`) to control incremental rendering of rows.

      Note that for `icon` type fields, the `autoFitIconFields` property setting may turn on auto-fit-width behavior for specific fields by default, even if `autoFitFieldWidths` is false for the grid as a whole.

      Using this feature has a performance penalty roughly comparable to always rendering one additional field per field where autofitting is enabled. Specifically, enabling it for all fields would be comparable to both doubling the number of fields and disabling `horizontal incremental rendering`. In a grid where only half the fields are normally visible and hence only half are normally rendered, this would be roughly 4 times slower overall.

      This performance penalty is a result of `ListGrid.getDefaultFieldWidth()` having to render out the data set offscreen and measure the rendered content - it does not apply for cases where this method can return a simple fixed values (as with icon fields).

      Which fields are currently autofitting is saved as part of the `view state` of the ListGrid.

      Returns:
        Boolean

    - #### setAutoFitHeaderHeights

          public void setAutoFitHeaderHeights(java.lang.Boolean autoFitHeaderHeights)
                                       throws java.lang.IllegalStateException

      If this property is set to true, header buttons for either `fields` or `header spans` will automatically expand to accommodate their titles vertically. This means if you have a "tall" title - typically a long string where `wrap` is set to true such that you end up with several lines of text - the button will render large enough to accommodate it. If necessary this will cause the header for the grid as a whole to expand beyond the specified `headerHeight`.
      Parameters:
        `autoFitHeaderHeights` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoFitHeaderHeights

          public java.lang.Boolean getAutoFitHeaderHeights()

      If this property is set to true, header buttons for either `fields` or `header spans` will automatically expand to accommodate their titles vertically. This means if you have a "tall" title - typically a long string where `wrap` is set to true such that you end up with several lines of text - the button will render large enough to accommodate it. If necessary this will cause the header for the grid as a whole to expand beyond the specified `headerHeight`.
      Returns:
        Boolean

    - #### setAutoFitIconFields

          public void setAutoFitIconFields(AutoFitIconFieldType autoFitIconFields)

      Smart GWT listGrids have special logic to automatically size fields that are displayed as an icon - that is fields with `type:"icon"`, fields displaying only `value icons`, and boolean fields (which are rendered as a checkmark type icon by default.

      This attribute controls this behavior - governing whether icon fields should be sized to fit their content (icon), title, or whether to disable this behavior. Setting this value to `"title"` or `"iconWidth"` will cause `autoFitWidth` to be enabled by default for all icon fields with the `autoFitWidthApproach` set to `"value"` or `"both"` as appropriate. Note that the width required for the icons is calculated by `ListGrid.getDefaultFieldWidth()` which performs a simple calculation based on the specified icon width for these types of fields.

      This setting governs default behavior for icon fields - for specific fields within a grid, this default behavior can be overridden by setting an explicit `width` or explicitly enabling `autoFitWidth` and setting `autoFitWidthApproach` on the field in question.

      Parameters:
        `autoFitIconFields` - Default value is "title"
      See Also:
        `setAutoFitFieldWidths(java.lang.Boolean)`

    - #### getAutoFitIconFields

          public AutoFitIconFieldType getAutoFitIconFields()

      Smart GWT listGrids have special logic to automatically size fields that are displayed as an icon - that is fields with `type:"icon"`, fields displaying only `value icons`, and boolean fields (which are rendered as a checkmark type icon by default.

      This attribute controls this behavior - governing whether icon fields should be sized to fit their content (icon), title, or whether to disable this behavior. Setting this value to `"title"` or `"iconWidth"` will cause `autoFitWidth` to be enabled by default for all icon fields with the `autoFitWidthApproach` set to `"value"` or `"both"` as appropriate. Note that the width required for the icons is calculated by `ListGrid.getDefaultFieldWidth()` which performs a simple calculation based on the specified icon width for these types of fields.

      This setting governs default behavior for icon fields - for specific fields within a grid, this default behavior can be overridden by setting an explicit `width` or explicitly enabling `autoFitWidth` and setting `autoFitWidthApproach` on the field in question.

      Returns:
        AutoFitIconFieldType
      See Also:
        `getAutoFitFieldWidths()`

    - #### setAutoFitMaxColumns

          public void setAutoFitMaxColumns(int autoFitMaxColumns)

      If `autoFitData` is set to `"horizontal"` or `"both"` this property provides the maximum number of columns for which the ListGrid will expand. If more columns are present, scrolling will be introduced to reach them as normal. If unset the ListGrid will expand to accommodate as many columns as are defined for the grid.
      If this method is called after the component has been drawn/initialized: Setter for `autoFitMaxColumns`.
      Parameters:
        `autoFitMaxColumns` - Maximum number of fields we'll expand to accommodate if `auto fit` is enabled horizontally.. Default value is 50

    - #### getAutoFitMaxColumns

          public int getAutoFitMaxColumns()

      If `autoFitData` is set to `"horizontal"` or `"both"` this property provides the maximum number of columns for which the ListGrid will expand. If more columns are present, scrolling will be introduced to reach them as normal. If unset the ListGrid will expand to accommodate as many columns as are defined for the grid.
      Returns:
        int

    - #### setAutoFitMaxHeight

          public void setAutoFitMaxHeight(java.lang.Integer autoFitMaxHeight)

      If `autoFitData` is set to `"vertical"` or `"both"` this property provides an upper limit on how far the ListGrid will expand vertically to accommodate its content. If content exceeds this height, scrollbars will be introduced as usual. In addition to this property, `autoFitMaxRecords` allows you to limit vertical expansion based on the number of rows to be rendered.
      If this method is called after the component has been drawn/initialized: Setter for `autoFitMaxHeight`.
      Parameters:
        `autoFitMaxHeight` - Maximum height in px we'll expand to accommodate if `auto fit` is enabled vertically.. Default value is null

    - #### getAutoFitMaxHeight

          public java.lang.Integer getAutoFitMaxHeight()

      If `autoFitData` is set to `"vertical"` or `"both"` this property provides an upper limit on how far the ListGrid will expand vertically to accommodate its content. If content exceeds this height, scrollbars will be introduced as usual. In addition to this property, `autoFitMaxRecords` allows you to limit vertical expansion based on the number of rows to be rendered.
      Returns:
        Integer

    - #### setAutoFitMaxRecords

          public void setAutoFitMaxRecords(int autoFitMaxRecords)

      If `autoFitData` is set to `"vertical"` or `"both"` this property provides the maximum number of records for which the ListGrid will expand. If more records are present, scrolling will be introduced to reach them as normal. If unset, by default the ListGrid will expand to accommodate as many records as are present.
      If this method is called after the component has been drawn/initialized: Setter for `autoFitMaxRecords`.
      Parameters:
        `autoFitMaxRecords` - Maximum number of rows we'll expand to accommodate if `auto fit` is enabled vertically.. Default value is 50

    - #### getAutoFitMaxRecords

          public int getAutoFitMaxRecords()

      If `autoFitData` is set to `"vertical"` or `"both"` this property provides the maximum number of records for which the ListGrid will expand. If more records are present, scrolling will be introduced to reach them as normal. If unset, by default the ListGrid will expand to accommodate as many records as are present.
      Returns:
        int

    - #### setAutoFitMaxWidth

          public void setAutoFitMaxWidth(java.lang.Integer autoFitMaxWidth)

      If `autoFitData` is set to `"horizontal"` or `"both"` this property provides an upper limit on how far the ListGrid will expand horizontally to accommodate its content. If content exceeds this width, scrollbars will be introduced as usual. In addition to this property, `autoFitMaxColumns` allows you to limit horizontal expansion based on the number of columns to be rendered.
      If this method is called after the component has been drawn/initialized: Setter for `autoFitMaxWidth`.
      Parameters:
        `autoFitMaxWidth` - Width in px we'll expand to accommodate if `auto fit` is enabled horizontally.. Default value is null

    - #### getAutoFitMaxWidth

          public java.lang.Integer getAutoFitMaxWidth()

      If `autoFitData` is set to `"horizontal"` or `"both"` this property provides an upper limit on how far the ListGrid will expand horizontally to accommodate its content. If content exceeds this width, scrollbars will be introduced as usual. In addition to this property, `autoFitMaxColumns` allows you to limit horizontal expansion based on the number of columns to be rendered.
      Returns:
        Integer

    - #### setAutoFitWidthApproach

          public void setAutoFitWidthApproach(AutoFitWidthApproach autoFitWidthApproach)

      When a user requests column autofitting via the `header context menu` or via a `mouse gesture`, what autofit approach is used.
      If this method is called after the component has been drawn/initialized: Setter for the `autoFitWidthApproach`.
      Parameters:
        `autoFitWidthApproach` - new AutoFitWidth approach. Default value is "value"

    - #### getAutoFitWidthApproach

          public AutoFitWidthApproach getAutoFitWidthApproach()

      When a user requests column autofitting via the `header context menu` or via a `mouse gesture`, what autofit approach is used.
      Returns:
        AutoFitWidthApproach

    - #### setAutoSaveEdits

          public void setAutoSaveEdits(java.lang.Boolean autoSaveEdits)

      If this ListGrid is editable, should edits be saved out when the user finishes editing a row (or a cell if `saveByCell` is true).

      The default of `true` indicates that edits will be `automatically saved` as the user navigates through the grid and/or ${isc.DocUtils.linkForRef('type:EnterKeyEditAction','hits \'Enter\'')} to end editing. See the `Grid Editing` overview for details.

      Setting `autoSaveEdits` false creates a "mass update" / "mass delete" interaction where edits will be retained for all edited cells (across rows if appropriate) until `ListGrid.saveEdits()` is called to save a particular row, or `ListGrid.saveAllEdits()` is called to save all changes in a batch.

      Note : This is an advanced setting

      Parameters:
        `autoSaveEdits` - Default value is true
      See Also:
        `Editing overview and related methods`

    - #### getAutoSaveEdits

          public java.lang.Boolean getAutoSaveEdits()

      If this ListGrid is editable, should edits be saved out when the user finishes editing a row (or a cell if `saveByCell` is true).

      The default of `true` indicates that edits will be `automatically saved` as the user navigates through the grid and/or ${isc.DocUtils.linkForRef('type:EnterKeyEditAction','hits \'Enter\'')} to end editing. See the `Grid Editing` overview for details.

      Setting `autoSaveEdits` false creates a "mass update" / "mass delete" interaction where edits will be retained for all edited cells (across rows if appropriate) until `ListGrid.saveEdits()` is called to save a particular row, or `ListGrid.saveAllEdits()` is called to save all changes in a batch.

      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setAutoSizeHeaderSpans

          public void setAutoSizeHeaderSpans(java.lang.Boolean autoSizeHeaderSpans)
                                      throws java.lang.IllegalStateException

      If this listGrid has specified `headerSpans`, setting this attribute to true will cause spans to expand to accommodate long titles if necessary.
      Parameters:
        `autoSizeHeaderSpans` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAutoSizeHeaderSpans

          public java.lang.Boolean getAutoSizeHeaderSpans()

      If this listGrid has specified `headerSpans`, setting this attribute to true will cause spans to expand to accommodate long titles if necessary.
      Returns:
        Boolean

    - #### getBackgroundComponent

          public Canvas getBackgroundComponent()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Has no effect unless `showBackgroundComponents` is `true`.

      Canvas created and embedded in the body behind a given record. When `backgroundComponent` is set, this autoChild canvas will be constructed (if listGridRecord.backgroundComponent is not already a Canvas) and its properties combined with those of listGridRecord.backgroundComponent and then displayed behind a specific record in the page's z-order, meaning it will only be visible if the cell styling is transparent.

      Returns:
        null

    - #### setBadFormulaResultValue

          public void setBadFormulaResultValue(java.lang.String badFormulaResultValue)

      If the result of a formula evaluation is invalid (specifically, if isNaN(result)==true), badFormulaResultValue is displayed instead. The default value is ".".
      Parameters:
        `badFormulaResultValue` - Default value is "."
      See Also:
        `FormulaFields overview and related methods`

    - #### getBadFormulaResultValue

          public java.lang.String getBadFormulaResultValue()

      If the result of a formula evaluation is invalid (specifically, if isNaN(result)==true), badFormulaResultValue is displayed instead. The default value is ".".
      Returns:
        String
      See Also:
        `FormulaFields overview and related methods`

    - #### setBaseStyle

          public void setBaseStyle(java.lang.String baseStyle)
                            throws java.lang.IllegalStateException

      `base cell style` for this listGrid. If this property is unset, base style may be derived from `normalBaseStyle` or `tallBaseStyle` as described in `ListGrid.getBaseStyle()`.

      See `cellStyleSuffixes` for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Parameters:
        `baseStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance overview and related methods`

    - #### getBaseStyle

          public java.lang.String getBaseStyle()

      `base cell style` for this listGrid. If this property is unset, base style may be derived from `normalBaseStyle` or `tallBaseStyle` as described in `ListGrid.getBaseStyle()`.

      See `cellStyleSuffixes` for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Returns:
        Return the base stylename for this cell. Has the following implementation by default:
        - If `this.editFailedBaseStyle` is defined, and the cell is displaying a validation error return this value.
        - If `this.editFailedPendingStyle` is defined, and the cell is displaying an edit value that has not yet been saved (see `autoSaveEdits`) return this value.
        - Otherwise return `record[listGrid.recordBaseStyleProperty]`, if defined, otherwise `field.baseStyle`.
        If no custom style is found for the cell as described above, the default baseStyle will be returned. If `baseStyle` is specified this will be used. Otherwise for grids showing fixed height rows which match `normalCellHeight` `normalBaseStyle` will be used. For grids with variable, or modified cell heights, `tallBaseStyle` will be used.

        Note also that enabling `fastCellUpdates` will cause the `tallBaseStyle` to be used rather than `normalBaseStyle`.

        Note: This is an override point. See `CSSStyleName`

      See Also:
        `Appearance overview and related methods`

    - #### setBodyBackgroundColor

          public void setBodyBackgroundColor(java.lang.String bodyBackgroundColor)

      Background color applied to the ListGrid body (that is, the area of the grid where data values are rendered).
      Note that this will typically not be visible to the user unless there are few enough rows that there is visible space in the body below the last row. To style data cells, override `baseStyle` instead.
      Parameters:
        `bodyBackgroundColor` - Default value is "white"
      See Also:
        `Appearance overview and related methods`

    - #### getBodyBackgroundColor

          public java.lang.String getBodyBackgroundColor()

      Background color applied to the ListGrid body (that is, the area of the grid where data values are rendered).
      Note that this will typically not be visible to the user unless there are few enough rows that there is visible space in the body below the last row. To style data cells, override `baseStyle` instead.
      Returns:
        String
      See Also:
        `Appearance overview and related methods`

    - #### setBodyOverflow

          public void setBodyOverflow(Overflow bodyOverflow)

      Overflow setting for the "body", that is, the area of the grid where data values are rendered.

      By setting both the grid itself and the body to overflow:visible, it is possible to "auto-fit" to the rendered height or width of the rows. Note that in this case `grid.width` and `grid.height` act as minimums.
      If this method is called after the component has been drawn/initialized: Update the `bodyOverflow` for this listGrid.

      Note : This is an advanced setting

      Parameters:
        `bodyOverflow` - new overflow setting for the body. Default value is Canvas.AUTO
      See Also:
        `Sizing overview and related methods`, Rows Example

    - #### getBodyOverflow

          public Overflow getBodyOverflow()

      Overflow setting for the "body", that is, the area of the grid where data values are rendered.

      By setting both the grid itself and the body to overflow:visible, it is possible to "auto-fit" to the rendered height or width of the rows. Note that in this case `grid.width` and `grid.height` act as minimums.

      Returns:
        Overflow
      See Also:
        `Sizing overview and related methods`, Rows Example

    - #### setBodyStyleName

          public void setBodyStyleName(java.lang.String bodyStyleName)

      CSS style used for the body of this grid. If applying a background-color to the body via a CSS style applied using this property, be sure to set `bodyBackgroundColor` to `null`.
      If this method is called after the component has been drawn/initialized: Update the `bodyStyleName` for this listGrid.
      Parameters:
        `bodyStyleName` - new body style name See `CSSStyleName` . Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getBodyStyleName

          public java.lang.String getBodyStyleName()

      CSS style used for the body of this grid. If applying a background-color to the body via a CSS style applied using this property, be sure to set `bodyBackgroundColor` to `null`.
      Returns:
        See `CSSStyleName`
      See Also:
        `Appearance overview and related methods`

    - #### setBooleanBaseStyle

          public void setBooleanBaseStyle(java.lang.String booleanBaseStyle)
                                   throws java.lang.IllegalStateException

      An optional CSS style to apply to the checkbox image. If supplied, and the checkbox is enabled, the base style is suffixed with "True", "False", or "Partial" if the checkbox is selected, unselected, or partially selected; if the checkbox is disabled, the suffix is "TrueDisabled", "FalseDisabled", or "PartialDisabled".

      NOTE: This attribute is not supported by `TreeGrid`.

      Note : This is an advanced setting

      Parameters:
        `booleanBaseStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setPrintBooleanBaseStyle(java.lang.String)`, `ImageColumns overview and related methods`

    - #### getBooleanBaseStyle

          public java.lang.String getBooleanBaseStyle()

      An optional CSS style to apply to the checkbox image. If supplied, and the checkbox is enabled, the base style is suffixed with "True", "False", or "Partial" if the checkbox is selected, unselected, or partially selected; if the checkbox is disabled, the suffix is "TrueDisabled", "FalseDisabled", or "PartialDisabled".

      NOTE: This attribute is not supported by `TreeGrid`.

      Returns:
        See `CSSStyleName`
      See Also:
        `getPrintBooleanBaseStyle()`, `ImageColumns overview and related methods`

    - #### setBooleanFalseImage

          public void setBooleanFalseImage(java.lang.String booleanFalseImage)

      Image to display for a false value in a boolean field. Default `null` value or the special value "blank" means no image will be displayed.

      To turn this off explicitly set `suppressValueIcon` to true

      If this, `booleanTrueImage` and `booleanPartialImage` are undefined, this will be set to `uncheckedImage`.

      Note : This is an advanced setting

      Parameters:
        `booleanFalseImage` - See `SCImgURL` . Default value is null
      See Also:
        `setBooleanTrueImage(java.lang.String)`, `setBooleanPartialImage(java.lang.String)`, `setPrintBooleanFalseImage(java.lang.String)`, `ImageColumns overview and related methods`

    - #### getBooleanFalseImage

          public java.lang.String getBooleanFalseImage()

      Image to display for a false value in a boolean field. Default `null` value or the special value "blank" means no image will be displayed.

      To turn this off explicitly set `suppressValueIcon` to true

      If this, `booleanTrueImage` and `booleanPartialImage` are undefined, this will be set to `uncheckedImage`.

      Returns:
        See `SCImgURL`
      See Also:
        `getBooleanTrueImage()`, `getBooleanPartialImage()`, `getPrintBooleanFalseImage()`, `ImageColumns overview and related methods`

    - #### setBooleanImageHeight

          public void setBooleanImageHeight(int booleanImageHeight)

      Height for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`. Note: If `booleanTrueImage` is unset, the `checkedImage` will be used to indicate a true value in a boolean field. In this case this property is ignored in favor of `valueIconHeight`.

      Note : This is an advanced setting

      Parameters:
        `booleanImageHeight` - Default value is 16
      See Also:
        `ImageColumns overview and related methods`

    - #### getBooleanImageHeight

          public int getBooleanImageHeight()

      Height for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`. Note: If `booleanTrueImage` is unset, the `checkedImage` will be used to indicate a true value in a boolean field. In this case this property is ignored in favor of `valueIconHeight`.
      Returns:
        int
      See Also:
        `ImageColumns overview and related methods`

    - #### setBooleanImageWidth

          public void setBooleanImageWidth(int booleanImageWidth)

      Width for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`. Note: If `booleanTrueImage` is unset, the `checkedImage` will be used to indicate a true value in a boolean field. In this case this property is ignored in favor of `valueIconWidth`.

      Note : This is an advanced setting

      Parameters:
        `booleanImageWidth` - Default value is 16
      See Also:
        `ImageColumns overview and related methods`

    - #### getBooleanImageWidth

          public int getBooleanImageWidth()

      Width for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`. Note: If `booleanTrueImage` is unset, the `checkedImage` will be used to indicate a true value in a boolean field. In this case this property is ignored in favor of `valueIconWidth`.
      Returns:
        int
      See Also:
        `ImageColumns overview and related methods`

    - #### setBooleanPartialImage

          public void setBooleanPartialImage(java.lang.String booleanPartialImage)

      Image to display for a partially true value in a boolean field (typically selection). The special value "blank" means that no image will be shown.

      To turn this off explicitly set `suppressValueIcon` to true.

      If this, `booleanTrueImage` and `booleanFalseImage` are unset, this will be set to the default `partialSelectedImage`.

      Note : This is an advanced setting

      Parameters:
        `booleanPartialImage` - See `SCImgURL` . Default value is null
      See Also:
        `setBooleanTrueImage(java.lang.String)`, `setBooleanFalseImage(java.lang.String)`, `setPrintBooleanPartialImage(java.lang.String)`, `ImageColumns overview and related methods`

    - #### getBooleanPartialImage

          public java.lang.String getBooleanPartialImage()

      Image to display for a partially true value in a boolean field (typically selection). The special value "blank" means that no image will be shown.

      To turn this off explicitly set `suppressValueIcon` to true.

      If this, `booleanTrueImage` and `booleanFalseImage` are unset, this will be set to the default `partialSelectedImage`.

      Returns:
        See `SCImgURL`
      See Also:
        `getBooleanTrueImage()`, `getBooleanFalseImage()`, `getPrintBooleanPartialImage()`, `ImageColumns overview and related methods`

    - #### setBooleanTrueImage

          public void setBooleanTrueImage(java.lang.String booleanTrueImage)

      Image to display for a true value in a boolean field. The special value "blank" means that no image will be shown.

      To turn this off explicitly set `suppressValueIcon` to true.

      If this, `booleanFalseImage` and `booleanPartialImage` are unset, this will be set to the default `checkedImage`.

      Note : This is an advanced setting

      Parameters:
        `booleanTrueImage` - See `SCImgURL` . Default value is null
      See Also:
        `setBooleanFalseImage(java.lang.String)`, `setBooleanPartialImage(java.lang.String)`, `setPrintBooleanTrueImage(java.lang.String)`, `ImageColumns overview and related methods`

    - #### getBooleanTrueImage

          public java.lang.String getBooleanTrueImage()

      Image to display for a true value in a boolean field. The special value "blank" means that no image will be shown.

      To turn this off explicitly set `suppressValueIcon` to true.

      If this, `booleanFalseImage` and `booleanPartialImage` are unset, this will be set to the default `checkedImage`.

      Returns:
        See `SCImgURL`
      See Also:
        `getBooleanFalseImage()`, `getBooleanPartialImage()`, `getPrintBooleanTrueImage()`, `ImageColumns overview and related methods`

    - #### setCanAcceptDroppedRecords

          public void setCanAcceptDroppedRecords(java.lang.Boolean canAcceptDroppedRecords)

      Indicates whether records can be dropped into this listGrid.
      Parameters:
        `canAcceptDroppedRecords` - Default value is false
      See Also:
        `ListGridRecord.setCanDrag(java.lang.Boolean)`, `ListGridRecord.setCanAcceptDrop(java.lang.Boolean)`, Drag list (move) Example

    - #### getCanAcceptDroppedRecords

          public java.lang.Boolean getCanAcceptDroppedRecords()

      Indicates whether records can be dropped into this listGrid.
      Returns:
        Boolean
      See Also:
        `ListGridRecord.getCanDrag()`, `ListGridRecord.getCanAcceptDrop()`, Drag list (move) Example

    - #### setCanAutoFitFields

          public void setCanAutoFitFields(java.lang.Boolean canAutoFitFields)

      Whether the user able to autofit specific columns to their data and/or title via a context menu item or `headerAutoFitEvent`.

      Autofitting can also be programmatically enabled by setting `autoFitWidth`.

      When canResizeFields is set to false, canAutoFitFields will also be set to false

      Parameters:
        `canAutoFitFields` - Default value is true

    - #### getCanAutoFitFields

          public java.lang.Boolean getCanAutoFitFields()

      Whether the user able to autofit specific columns to their data and/or title via a context menu item or `headerAutoFitEvent`.

      Autofitting can also be programmatically enabled by setting `autoFitWidth`.

      When canResizeFields is set to false, canAutoFitFields will also be set to false

      Returns:
        Boolean

    - #### setCancelEditingConfirmationMessage

          public void setCancelEditingConfirmationMessage(java.lang.String cancelEditingConfirmationMessage)

      If this is an editable listGrid, and `this.confirmCancelEditing` is true this property is used as the message to display in the confirmation dismissal prompt.
      Parameters:
        `cancelEditingConfirmationMessage` - Default value is Cancelling this edit will discard unsaved changes for this record. Continue?
      See Also:
        `Editing overview and related methods`

    - #### getCancelEditingConfirmationMessage

          public java.lang.String getCancelEditingConfirmationMessage()

      If this is an editable listGrid, and `this.confirmCancelEditing` is true this property is used as the message to display in the confirmation dismissal prompt.
      Returns:
        String
      See Also:
        `Editing overview and related methods`

    - #### setCanCollapseGroup

          public void setCanCollapseGroup(java.lang.Boolean canCollapseGroup)
                                   throws java.lang.IllegalStateException

      Can a group be collapsed/expanded? When true a collapse/expand icon is shown (`groupIcon`) and the user can collapse or expand the group by clicking either the row as a whole or the opener icon (see `collapseGroupOnRowClick`); When false the group icon is not shown and clicking on the row does not change group state. Additionally `groupStartOpen` is initialized to "all".
      Parameters:
        `canCollapseGroup` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `groupBy(java.lang.String...)`

    - #### getCanCollapseGroup

          public java.lang.Boolean getCanCollapseGroup()

      Can a group be collapsed/expanded? When true a collapse/expand icon is shown (`groupIcon`) and the user can collapse or expand the group by clicking either the row as a whole or the opener icon (see `collapseGroupOnRowClick`); When false the group icon is not shown and clicking on the row does not change group state. Additionally `groupStartOpen` is initialized to "all".
      Returns:
        Boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setCanDragRecordsOut

          public void setCanDragRecordsOut(java.lang.Boolean canDragRecordsOut)

      Indicates whether records can be dragged from this listGrid and dropped elsewhere.

      NOTE: If `canDragRecordsOut` is initially enabled or might be dynamically enabled after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a drag operation rather than a scroll. If `disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag and drop of records out of the grid.

      Parameters:
        `canDragRecordsOut` - Default value is false
      See Also:
        `ListGridRecord.setCanDrag(java.lang.Boolean)`, `ListGridRecord.setCanAcceptDrop(java.lang.Boolean)`, Drag list (move) Example, Records across Windows Example

    - #### getCanDragRecordsOut

          public java.lang.Boolean getCanDragRecordsOut()

      Indicates whether records can be dragged from this listGrid and dropped elsewhere.

      NOTE: If `canDragRecordsOut` is initially enabled or might be dynamically enabled after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a drag operation rather than a scroll. If `disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag and drop of records out of the grid.

      Returns:
        Boolean
      See Also:
        `ListGridRecord.getCanDrag()`, `ListGridRecord.getCanAcceptDrop()`, Drag list (move) Example, Records across Windows Example

    - #### setCanDragSelect

          public void setCanDragSelect(java.lang.Boolean canDragSelect)

      If this property is true, users can drag the mouse to select several rows or cells. This is mutually exclusive with rearranging rows or cells by dragging.

      NOTE: If `canDragSelect` is initially enabled or might be dynamically enabled after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging records/cells selects them rather than starting a scroll. If `disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-selection.

      Parameters:
        `canDragSelect` - Default value is false
      See Also:
        `Selection overview and related methods`, Drag list (select) Example

    - #### getCanDragSelect

          public java.lang.Boolean getCanDragSelect()

      If this property is true, users can drag the mouse to select several rows or cells. This is mutually exclusive with rearranging rows or cells by dragging.

      NOTE: If `canDragSelect` is initially enabled or might be dynamically enabled after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging records/cells selects them rather than starting a scroll. If `disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-selection.

      Returns:
        Boolean
      See Also:
        `Selection overview and related methods`, Drag list (select) Example

    - #### setCanDragSelectText

          public void setCanDragSelectText(java.lang.Boolean canDragSelectText)

      If this property is true, users can drag the mouse to select text within grid rows. This is mutually exclusive with `rearranging rows or cells by dragging`, and with `drag selection of rows`.
      Parameters:
        `canDragSelectText` - Default value is false
      See Also:
        `Selection overview and related methods`

    - #### getCanDragSelectText

          public java.lang.Boolean getCanDragSelectText()

      If this property is true, users can drag the mouse to select text within grid rows. This is mutually exclusive with `rearranging rows or cells by dragging`, and with `drag selection of rows`.
      Returns:
        Boolean
      See Also:
        `Selection overview and related methods`

    - #### setCanDropInEmptyArea

          public void setCanDropInEmptyArea(java.lang.Boolean canDropInEmptyArea)

      If set to false, dropping over an empty part of the grid body is disallowed and the no-drop indicator is displayed.
      Parameters:
        `canDropInEmptyArea` - Default value is true
      See Also:
        `Dragdrop overview and related methods`

    - #### getCanDropInEmptyArea

          public java.lang.Boolean getCanDropInEmptyArea()

      If set to false, dropping over an empty part of the grid body is disallowed and the no-drop indicator is displayed.
      Returns:
        Boolean
      See Also:
        `Dragdrop overview and related methods`

    - #### setCanEdit

          public void setCanEdit(java.lang.Boolean canEdit)

      Can the user edit cells in this listGrid? Can be set for the listGrid, and overridden for individual fields.
      If 'canEdit' is false at the listGrid level, fields can never be edited - in this case the canEdit property on individual fields will be ignored.
      If 'canEdit' is set to true at the listGrid level, setting the 'canEdit' property to false at the field level will prevent the field from being edited inline.
      If 'canEdit' is not set at the listGrid level, setting 'canEdit' to true at the field level enables the field to be edited inline.
      Parameters:
        `canEdit` - Default value is null
      See Also:
        `startEditing()`, `ListGridField.setCanEdit(java.lang.Boolean)`, `setRecordEditProperty(java.lang.String)`, `canEditCell(int, int)`, `setFields(com.smartgwt.client.widgets.grid.ListGridField...)`, `Editing overview and related methods`, Edit by row Example

    - #### getCanEdit

          public java.lang.Boolean getCanEdit()

      Can the user edit cells in this listGrid? Can be set for the listGrid, and overridden for individual fields.
      If 'canEdit' is false at the listGrid level, fields can never be edited - in this case the canEdit property on individual fields will be ignored.
      If 'canEdit' is set to true at the listGrid level, setting the 'canEdit' property to false at the field level will prevent the field from being edited inline.
      If 'canEdit' is not set at the listGrid level, setting 'canEdit' to true at the field level enables the field to be edited inline.
      Returns:
        Boolean
      See Also:
        `startEditing()`, `ListGridField.getCanEdit()`, `getRecordEditProperty()`, `canEditCell(int, int)`, `getFields()`, `Editing overview and related methods`, Edit by row Example

    - #### setCanEditFieldAttribute

          public void setCanEditFieldAttribute(java.lang.String canEditFieldAttribute)
                                        throws java.lang.IllegalStateException

      If this component is bound to a dataSource, this attribute may be specified to customize what fields from the dataSource may be edited by default. For example the `SearchForm` class has this attribute set to `"canFilter"` which allows search forms to edit dataSource fields marked as `canEdit:false` (but not those marked as `canFilter:false`).

      Note that if `canEdit` is explicitly specified on a field in the `fields` array, that property will be respected in preference to the canEditAttribute value. (See `canEdit`, `canEdit`). Also note that individual dataBoundComponents may have additional logic around whether a field can be edited - for example `ListGrid.canEditCell()` may be overridden.

      Note : This is an advanced setting

      Parameters:
        `canEditFieldAttribute` - Default value is "canEdit"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCanEditFieldAttribute

          public java.lang.String getCanEditFieldAttribute()

      If this component is bound to a dataSource, this attribute may be specified to customize what fields from the dataSource may be edited by default. For example the `SearchForm` class has this attribute set to `"canFilter"` which allows search forms to edit dataSource fields marked as `canEdit:false` (but not those marked as `canFilter:false`).

      Note that if `canEdit` is explicitly specified on a field in the `fields` array, that property will be respected in preference to the canEditAttribute value. (See `canEdit`, `canEdit`). Also note that individual dataBoundComponents may have additional logic around whether a field can be edited - for example `ListGrid.canEditCell()` may be overridden.

      Returns:
        String

    - #### setCanEditHilites

          public void setCanEditHilites(boolean canEditHilites)

      Adds an item to the header context menu allowing users to launch a dialog to define grid hilites using the `HiliteEditor`.

      User-added hilites can be persisted via `DataBoundComponent.getHiliteState()` and `DataBoundComponent.setHiliteState()`.

      Parameters:
        `canEditHilites` - Default value is false
      See Also:
        `Hiliting overview and related methods`

    - #### getCanEditHilites

          public boolean getCanEditHilites()

      Adds an item to the header context menu allowing users to launch a dialog to define grid hilites using the `HiliteEditor`.

      User-added hilites can be persisted via `DataBoundComponent.getHiliteState()` and `DataBoundComponent.setHiliteState()`.

      Returns:
        boolean
      See Also:
        `Hiliting overview and related methods`

    - #### setCanEditTitles

          public void setCanEditTitles(boolean canEditTitles)

      If set to true, the `advanced field picker` provides an interface allowing users to modify fields' titles.

      Note that when enabled, the `field state` for this component will include field titles.

      Parameters:
        `canEditTitles` - Default value is false

    - #### getCanEditTitles

          public boolean getCanEditTitles()

      If set to true, the `advanced field picker` provides an interface allowing users to modify fields' titles.

      Note that when enabled, the `field state` for this component will include field titles.

      Returns:
        boolean

    - #### setCanExpandMultipleRecords

          public void setCanExpandMultipleRecords(java.lang.Boolean canExpandMultipleRecords)

      When `canExpandRecords` is true, this property indicates whether multiple records can be expanded simultaneously. If set to false, expanding a record will automatically collapse any record which is already expanded. The default value is `true`.

      Note : This is an advanced setting

      Parameters:
        `canExpandMultipleRecords` - Default value is true

    - #### getCanExpandMultipleRecords

          public java.lang.Boolean getCanExpandMultipleRecords()

      When `canExpandRecords` is true, this property indicates whether multiple records can be expanded simultaneously. If set to false, expanding a record will automatically collapse any record which is already expanded. The default value is `true`.
      Returns:
        Boolean

    - #### setCanExpandRecordProperty

          public void setCanExpandRecordProperty(java.lang.String canExpandRecordProperty)
                                          throws java.lang.IllegalStateException

      Property name on a record that will be checked to determine whether a record can be expanded.
      Parameters:
        `canExpandRecordProperty` - Default value is "canExpand"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ListGridRecord.setCanExpand(java.lang.Boolean)`

    - #### getCanExpandRecordProperty

          public java.lang.String getCanExpandRecordProperty()

      Property name on a record that will be checked to determine whether a record can be expanded.
      Returns:
        String
      See Also:
        `ListGridRecord.getCanExpand()`

    - #### setCanExpandRecords

          public void setCanExpandRecords(java.lang.Boolean canExpandRecords)

      When set to true, shows an additional field at the beginning of the field-list (respecting RTL) to allow users to expand and collapse individual records. See `ListGrid.expandRecord()` and `expansionMode` for details on record expansion.

      `virtualScrolling` is automatically enabled when canExpandRecords is set to true.

      Note that expanded records are not currently supported in conjunction with `frozen fields`.
      If this method is called after the component has been drawn/initialized: Setter for `canExpandRecords`

      Note : This is an advanced setting

      Parameters:
        `canExpandRecords` - new value for listGrid.canExpandRecords.. Default value is false

    - #### getCanExpandRecords

          public java.lang.Boolean getCanExpandRecords()

      When set to true, shows an additional field at the beginning of the field-list (respecting RTL) to allow users to expand and collapse individual records. See `ListGrid.expandRecord()` and `expansionMode` for details on record expansion.

      `virtualScrolling` is automatically enabled when canExpandRecords is set to true.

      Note that expanded records are not currently supported in conjunction with `frozen fields`.

      Returns:
        Boolean

    - #### setCanFocusInEmptyGrid

          public void setCanFocusInEmptyGrid(boolean canFocusInEmptyGrid)
                                      throws java.lang.IllegalStateException

      If the listGrid is empty, should the user be able to put focus into the grid body by tabbing to it?

      Note that if `editOnFocus` is true for this grid and `listEndEditAction` is set to next, having this property set to true will allow users to automatically create a new edit row by simply tabbing into the grid.

      Note : This is an advanced setting

      Parameters:
        `canFocusInEmptyGrid` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCanFocusInEmptyGrid

          public boolean getCanFocusInEmptyGrid()

      If the listGrid is empty, should the user be able to put focus into the grid body by tabbing to it?

      Note that if `editOnFocus` is true for this grid and `listEndEditAction` is set to next, having this property set to true will allow users to automatically create a new edit row by simply tabbing into the grid.

      Returns:
        boolean

    - #### setCanFreezeFields

          public void setCanFreezeFields(java.lang.Boolean canFreezeFields)

      Whether an interface should be shown to allow user is allowed to dynamically "freeze" or "unfreeze" columns with respect to horizontally scrolling. If unset, this property defaults to `true` unless:
      - `this.fixedRecordHeights` is `false`
      - `this.bodyOverflow` is `"visible"`
      - `this.autoFitData` is set to `"horizontal"` or `"both"`
      - Any field has overflow set to `"visible"`

      Note that the `canFreezeFields` setting enables or disables the user interface for freezing and unfreezing fields only. Fields can be programmatically frozen via setting `field.frozen` to true when the grid is created, or dynamically frozen and unfrozen via `ListGrid.freezeField()` and `ListGrid.unfreezeField()`.
      If this method is called after the component has been drawn/initialized: Setter method for `canFreezeFields`

      Parameters:
        `canFreezeFields` - New value for `listGrid.canFreezeFields`. Default value is null
      See Also:
        `FrozenFields overview and related methods`

    - #### getCanFreezeFields

          public java.lang.Boolean getCanFreezeFields()

      Whether an interface should be shown to allow user is allowed to dynamically "freeze" or "unfreeze" columns with respect to horizontally scrolling. If unset, this property defaults to `true` unless:
      - `this.fixedRecordHeights` is `false`
      - `this.bodyOverflow` is `"visible"`
      - `this.autoFitData` is set to `"horizontal"` or `"both"`
      - Any field has overflow set to `"visible"`

      Note that the `canFreezeFields` setting enables or disables the user interface for freezing and unfreezing fields only. Fields can be programmatically frozen via setting `field.frozen` to true when the grid is created, or dynamically frozen and unfrozen via `ListGrid.freezeField()` and `ListGrid.unfreezeField()`.

      Returns:
        Boolean
      See Also:
        `FrozenFields overview and related methods`

    - #### setCanGroupBy

          public void setCanGroupBy(java.lang.Boolean canGroupBy)

      If false, grouping via context menu will be disabled.
      Parameters:
        `canGroupBy` - Default value is true
      See Also:
        `groupBy(java.lang.String...)`

    - #### getCanGroupBy

          public java.lang.Boolean getCanGroupBy()

      If false, grouping via context menu will be disabled.
      Returns:
        Boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setCanHover

          public void setCanHover(java.lang.Boolean canHover)

      If true, cellHover and rowHover events will fire and then a hover will be shown (if not canceled) when the user leaves the mouse over a row / cell unless the corresponding field has `showHover` set to false. If unset or null, the hover will be shown if the corresponding field has showHover:true. If false, then hovers are disabled.

      Note that standard hovers override `clipped value hovers`. Thus, to enable clipped value hovers, canHover must be unset or null and the corresponding field must have showHover unset or null as well.

      Overrides:
        `setCanHover` in class `Canvas`
      Parameters:
        `canHover` - Default value is null
      See Also:
        `setShowHover(java.lang.Boolean)`, `ListGridField.setShowHover(java.lang.Boolean)`, Value hover tips Example

    - #### getCanHover

          public java.lang.Boolean getCanHover()

      If true, cellHover and rowHover events will fire and then a hover will be shown (if not canceled) when the user leaves the mouse over a row / cell unless the corresponding field has `showHover` set to false. If unset or null, the hover will be shown if the corresponding field has showHover:true. If false, then hovers are disabled.

      Note that standard hovers override `clipped value hovers`. Thus, to enable clipped value hovers, canHover must be unset or null and the corresponding field must have showHover unset or null as well.

      Overrides:
        `getCanHover` in class `Canvas`
      Returns:
        Boolean
      See Also:
        `getShowHover()`, `ListGridField.getShowHover()`, Value hover tips Example

    - #### setCanMultiGroup

          public void setCanMultiGroup(boolean canMultiGroup)

      When true, indicates that this ListGrid supports grouping on multiple fields.
      Parameters:
        `canMultiGroup` - Default value is false

    - #### getCanMultiGroup

          public boolean getCanMultiGroup()

      When true, indicates that this ListGrid supports grouping on multiple fields.
      Returns:
        boolean

    - #### setCanMultiSort

          public void setCanMultiSort(java.lang.Boolean canMultiSort)

      When true, indicates that this ListGrid supports sorting on multiple fields. Note that even when set to true, multi-field sorting may not be available if the grid is databound and the ${isc.DocUtils.linkForRef('attr:DataSource.canMultiSort','DataSource doesn\'t support multi-sort')}, or if sorting for a field is `client-only` but not all data is available.
      Parameters:
        `canMultiSort` - Default value is true

    - #### getCanMultiSort

          public java.lang.Boolean getCanMultiSort()

      When true, indicates that this ListGrid supports sorting on multiple fields. Note that even when set to true, multi-field sorting may not be available if the grid is databound and the ${isc.DocUtils.linkForRef('attr:DataSource.canMultiSort','DataSource doesn\'t support multi-sort')}, or if sorting for a field is `client-only` but not all data is available.
      Returns:
        Boolean

    - #### setCanPickFields

          public void setCanPickFields(java.lang.Boolean canPickFields)

      Indicates whether the field picker item and submenu should be present in the header context menu. This menu allows the user to hide visible fields and show hidden fields.

      By default only fields explicitly included in the `fields` array will be available in this menu, unless `canPickOmittedFields` is set to true for a databound grid.

      A specific field can be omitted from the column picker via `canHide`.

      Parameters:
        `canPickFields` - Default value is true

    - #### getCanPickFields

          public java.lang.Boolean getCanPickFields()

      Indicates whether the field picker item and submenu should be present in the header context menu. This menu allows the user to hide visible fields and show hidden fields.

      By default only fields explicitly included in the `fields` array will be available in this menu, unless `canPickOmittedFields` is set to true for a databound grid.

      A specific field can be omitted from the column picker via `canHide`.

      Returns:
        Boolean

    - #### setCanPickOmittedFields

          public void setCanPickOmittedFields(java.lang.Boolean canPickOmittedFields)
                                       throws java.lang.IllegalStateException

      If this grid has a specified `dataSource`, and `useAllDataSourceFields` is false, setting this property to true will cause all dataSource fields not included in the specified set of fields to show up in the `field picker menu item`.

      Has no effect if `fields` is unset (as in this case all dataSource fields will be displayed by default), or if `canPickFields` is false.

      Parameters:
        `canPickOmittedFields` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCanPickOmittedFields

          public java.lang.Boolean getCanPickOmittedFields()

      If this grid has a specified `dataSource`, and `useAllDataSourceFields` is false, setting this property to true will cause all dataSource fields not included in the specified set of fields to show up in the `field picker menu item`.

      Has no effect if `fields` is unset (as in this case all dataSource fields will be displayed by default), or if `canPickFields` is false.

      Returns:
        Boolean

    - #### setCanRemoveRecords

          public void setCanRemoveRecords(java.lang.Boolean canRemoveRecords)
                                   throws java.lang.IllegalStateException

      If set, provide UI for the user to remove records from the grid as an additional field showing the `removeIcon`, which, when clicked, will call `ListGrid.removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `ListGrid.markRecordRemoved()` status for the record). Individual records can be marked to prevent removal - see `recordCanRemoveProperty`.

      To add a confirmation dialog before a record is removed, set `warnOnRemoval`.

      If deferring removal, the record will appear marked with the `removedCSSText` until the removal is committed via a call to `ListGrid.saveEdits()`. Otherwise, the record will disappear from view. If `animateRemoveRecord` is true, the removed record will appear to shrink out of view when it is removed.

      By default the field will display the `removeIcon` next to each record, and will be rendered as the rightmost column. Two mechanisms exist to further modify this field:

      - To change the position of the remove-field, include an explicitly specified field with the attribute `isRemoveField:true` set. This will then be used as the remove field instead of adding a field to the beginning of the set of columns.
      - Additional direct configuration of the remove field may be achieved by modifying `removeFieldProperties`.
      If `deferRemoval` is true, when a record is marked as removed, the the icon will change to display the `unremoveIcon` for this row. Clicking on this icon will call `ListGrid.unmarkRecordRemoved()` to mark the record as no longer pending deletion.
      Parameters:
        `canRemoveRecords` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Databinding overview and related methods`

    - #### getCanRemoveRecords

          public java.lang.Boolean getCanRemoveRecords()

      If set, provide UI for the user to remove records from the grid as an additional field showing the `removeIcon`, which, when clicked, will call `ListGrid.removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `ListGrid.markRecordRemoved()` status for the record). Individual records can be marked to prevent removal - see `recordCanRemoveProperty`.

      To add a confirmation dialog before a record is removed, set `warnOnRemoval`.

      If deferring removal, the record will appear marked with the `removedCSSText` until the removal is committed via a call to `ListGrid.saveEdits()`. Otherwise, the record will disappear from view. If `animateRemoveRecord` is true, the removed record will appear to shrink out of view when it is removed.

      By default the field will display the `removeIcon` next to each record, and will be rendered as the rightmost column. Two mechanisms exist to further modify this field:

      - To change the position of the remove-field, include an explicitly specified field with the attribute `isRemoveField:true` set. This will then be used as the remove field instead of adding a field to the beginning of the set of columns.
      - Additional direct configuration of the remove field may be achieved by modifying `removeFieldProperties`.
      If `deferRemoval` is true, when a record is marked as removed, the the icon will change to display the `unremoveIcon` for this row. Clicking on this icon will call `ListGrid.unmarkRecordRemoved()` to mark the record as no longer pending deletion.
      Returns:
        Boolean
      See Also:
        `Databinding overview and related methods`

    - #### setCanReorderFields

          public void setCanReorderFields(java.lang.Boolean canReorderFields)

      Indicates whether fields in this listGrid can be reordered by dragging and dropping header fields.
      Parameters:
        `canReorderFields` - Default value is true
      See Also:
        Column order Example

    - #### getCanReorderFields

          public java.lang.Boolean getCanReorderFields()

      Indicates whether fields in this listGrid can be reordered by dragging and dropping header fields.
      Returns:
        Boolean
      See Also:
        Column order Example

    - #### setCanReorderRecords

          public void setCanReorderRecords(java.lang.Boolean canReorderRecords)

      Indicates whether records can be reordered by dragging within this `ListGrid`.

      NOTE: If `canReorderRecords` is initially enabled or might be `dynamically enabled` after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a reorder operation rather than a scroll. If `disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-reordering of records.
      If this method is called after the component has been drawn/initialized: Setter for the `canReorderRecords` attribute.

      Parameters:
        `canReorderRecords` - new value for `this.canReorderRecords`. Default value is false
      See Also:
        `ListGridRecord.setCanDrag(java.lang.Boolean)`, `ListGridRecord.setCanAcceptDrop(java.lang.Boolean)`, Drag list (move) Example, Drag reorder Example

    - #### getCanReorderRecords

          public java.lang.Boolean getCanReorderRecords()

      Indicates whether records can be reordered by dragging within this `ListGrid`.

      NOTE: If `canReorderRecords` is initially enabled or might be `dynamically enabled` after the grid is created, it may be desirable to disable `touch scrolling` so that touch-dragging a record starts a reorder operation rather than a scroll. If `disableTouchScrollingForDrag` is set to `true`, then touch scrolling will be disabled automatically. However, for `accessibility` reasons, it is recommended to leave touch scrolling enabled and provide an alternative set of controls that can be used to perform drag-reordering of records.

      Returns:
        Boolean
      See Also:
        `ListGridRecord.getCanDrag()`, `ListGridRecord.getCanAcceptDrop()`, Drag list (move) Example, Drag reorder Example

    - #### setCanResizeFields

          public void setCanResizeFields(java.lang.Boolean canResizeFields)

      Indicates whether fields in this listGrid can be resized by dragging header fields.
      If this method is called after the component has been drawn/initialized: Setter method for updating `canResizeFields` at runtime.
      Parameters:
        `canResizeFields` - new value for this.canResizeFields. Default value is true
      See Also:
        Column size Example

    - #### getCanResizeFields

          public java.lang.Boolean getCanResizeFields()

      Indicates whether fields in this listGrid can be resized by dragging header fields.
      Returns:
        Boolean
      See Also:
        Column size Example

    - #### setCanSelectAll

          public void setCanSelectAll(java.lang.Boolean canSelectAll)

      Controls whether a checkbox for selecting all records appears in the header with `selectionAppearance` set to "checkbox"
      Parameters:
        `canSelectAll` - Default value is null
      See Also:
        `Selection overview and related methods`

    - #### getCanSelectAll

          public java.lang.Boolean getCanSelectAll()

      Controls whether a checkbox for selecting all records appears in the header with `selectionAppearance` set to "checkbox"
      Returns:
        Boolean
      See Also:
        `Selection overview and related methods`

    - #### setCanSelectCells

          public void setCanSelectCells(java.lang.Boolean canSelectCells)
                                 throws java.lang.IllegalStateException

      Enables cell-level selection behavior as well as `cell-level rollover`.

      To query and manipulate cell-level selections, use `ListGrid.getCellSelection()` to retrieve the `CellSelection`.

      Note that the ListGrid has a data model of one `Record` per row, unlike the `CubeGrid` which supports one `CellRecord` per cell. For this reason record-oriented APIs that act on the selection will act on entire Records that have any selected cells (examples include drag and drop and transferSelectedData()).

      More generally, `canSelectCells` is primarily intended to enable developers to build Excel-like interactions on local datasets, by using `ListGrid.setData()` plus `saveLocally`:true rather than record-oriented DataSources and data binding.

      The following keyboard selection behaviors are enabled with this property in addition to standard single-selection Arrow Key navigation:

      SHIFT + [Arrow Key]: begin or continue incremental selection

      SHIFT + CTRL + [Arrow Key]: incremental selection to the end of row or column

      CTRL + A: select all cells (enabled only with `canSelectAll`)

      Incremental selection allows selection of rows and columns of cells via keyboard or mouse provided the shift key is down. Behavior is designed to match Excel. Thus, if a previous selection has begun, cells will be selected from that origin.

      Users may also navigate through cells using the Tab and Shift+Tab keypresses if `navigateOnTab` is true. When a user tabs to the end of the row, the `rowEndEditAction` is used to determine whether to shift selection to the next row, return to the beginning of the same row, or simply move on through the page's tab order.

      Parameters:
        `canSelectCells` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCanSelectCells

          public java.lang.Boolean getCanSelectCells()

      Enables cell-level selection behavior as well as `cell-level rollover`.

      To query and manipulate cell-level selections, use `ListGrid.getCellSelection()` to retrieve the `CellSelection`.

      Note that the ListGrid has a data model of one `Record` per row, unlike the `CubeGrid` which supports one `CellRecord` per cell. For this reason record-oriented APIs that act on the selection will act on entire Records that have any selected cells (examples include drag and drop and transferSelectedData()).

      More generally, `canSelectCells` is primarily intended to enable developers to build Excel-like interactions on local datasets, by using `ListGrid.setData()` plus `saveLocally`:true rather than record-oriented DataSources and data binding.

      The following keyboard selection behaviors are enabled with this property in addition to standard single-selection Arrow Key navigation:

      SHIFT + [Arrow Key]: begin or continue incremental selection

      SHIFT + CTRL + [Arrow Key]: incremental selection to the end of row or column

      CTRL + A: select all cells (enabled only with `canSelectAll`)

      Incremental selection allows selection of rows and columns of cells via keyboard or mouse provided the shift key is down. Behavior is designed to match Excel. Thus, if a previous selection has begun, cells will be selected from that origin.

      Users may also navigate through cells using the Tab and Shift+Tab keypresses if `navigateOnTab` is true. When a user tabs to the end of the row, the `rowEndEditAction` is used to determine whether to shift selection to the next row, return to the beginning of the same row, or simply move on through the page's tab order.

      Returns:
        Boolean

    - #### setCanSelectGroups

          public void setCanSelectGroups(boolean canSelectGroups)

      Controls whether a checkbox for selecting `groups` appears in the group node if `SelectionAppearance` is set to `"checkbox"`
      Parameters:
        `canSelectGroups` - Default value is false
      See Also:
        `Selection overview and related methods`

    - #### getCanSelectGroups

          public boolean getCanSelectGroups()

      Controls whether a checkbox for selecting `groups` appears in the group node if `SelectionAppearance` is set to `"checkbox"`
      Returns:
        boolean
      See Also:
        `Selection overview and related methods`

    - #### setCanSort

          public void setCanSort(java.lang.Boolean canSort)

      Enables or disables interactive sorting behavior for this listGrid. Does not affect sorting by direct calls to the `sort` or `setSort` methods.
      Parameters:
        `canSort` - Default value is true

    - #### getCanSort

          public java.lang.Boolean getCanSort()

      Enables or disables interactive sorting behavior for this listGrid. Does not affect sorting by direct calls to the `sort` or `setSort` methods.
      Returns:
        Boolean

    - #### setCanTabToHeader

          public void setCanTabToHeader(java.lang.Boolean canTabToHeader)
                                 throws java.lang.IllegalStateException

      Should the header be included in the tab-order for the page? If not explicitly specified, the header will be included in the tab order for the page if `isc.setScreenReaderMode()` is called.
      Parameters:
        `canTabToHeader` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Accessibility overview and related methods`

    - #### getCanTabToHeader

          public java.lang.Boolean getCanTabToHeader()

      Should the header be included in the tab-order for the page? If not explicitly specified, the header will be included in the tab order for the page if `isc.setScreenReaderMode()` is called.
      Returns:
        Boolean
      See Also:
        `Accessibility overview and related methods`

    - #### getCellContextMenu

          public Layout getCellContextMenu()
                                    throws java.lang.IllegalStateException

      The menu displayed when a cell is right clicked on.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Layout
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setCellHeight

          public void setCellHeight(int cellHeight)

      The default height of each row in pixels.
      Parameters:
        `cellHeight` - Default value is 20
      See Also:
        Multiline values Example

    - #### getCellHeight

          public int getCellHeight()

      The default height of each row in pixels.
      Returns:
        int
      See Also:
        Multiline values Example

    - #### setCellPadding

          public void setCellPadding(int cellPadding)

      The amount of empty space, in pixels, surrounding each value in its cell.
      Parameters:
        `cellPadding` - Default value is 2

    - #### getCellPadding

          public int getCellPadding()

      The amount of empty space, in pixels, surrounding each value in its cell.
      Returns:
        int

    - #### setChartConstructor

          public void setChartConstructor(java.lang.String chartConstructor)
                                   throws java.lang.IllegalStateException

      Name of the Smart GWT Class to be used when creating charts. Must support the Chart interface.
      Parameters:
        `chartConstructor` - Default value is "FacetChart"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getChartConstructor

          public java.lang.String getChartConstructor()

      Name of the Smart GWT Class to be used when creating charts. Must support the Chart interface.
      Returns:
        String

    - #### setChartType

          public void setChartType(ChartType chartType)

      Default type of chart to plot.
      Parameters:
        `chartType` - Default value is "Column"

    - #### getChartType

          public ChartType getChartType()

      Default type of chart to plot.
      Returns:
        ChartType

    - #### setCheckboxFieldFalseImage

          public void setCheckboxFieldFalseImage(java.lang.String checkboxFieldFalseImage)

      If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for an unselected row. If unset, the `booleanFalseImage` will be used. Note that the special value "blank" means that no image will be shown.

      Note : This is an advanced setting

      Parameters:
        `checkboxFieldFalseImage` - See `SCImgURL` . Default value is null
      See Also:
        `setCheckboxFieldTrueImage(java.lang.String)`, `setCheckboxFieldImageWidth(java.lang.Integer)`, `setCheckboxFieldImageHeight(java.lang.Integer)`, `setPrintCheckboxFieldFalseImage(java.lang.String)`

    - #### getCheckboxFieldFalseImage

          public java.lang.String getCheckboxFieldFalseImage()

      If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for an unselected row. If unset, the `booleanFalseImage` will be used. Note that the special value "blank" means that no image will be shown.
      Returns:
        See `SCImgURL`
      See Also:
        `getCheckboxFieldTrueImage()`, `getCheckboxFieldImageWidth()`, `getCheckboxFieldImageHeight()`, `getPrintCheckboxFieldFalseImage()`

    - #### setCheckboxFieldImageHeight

          public void setCheckboxFieldImageHeight(java.lang.Integer checkboxFieldImageHeight)
                                           throws java.lang.IllegalStateException

      If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the height of the checkbox image displayed to indicate whether a row is selected. If unset, the checkboxField image will be sized to match the `booleanImageHeight` for this grid.
      Parameters:
        `checkboxFieldImageHeight` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCheckboxFieldImageHeight

          public java.lang.Integer getCheckboxFieldImageHeight()

      If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the height of the checkbox image displayed to indicate whether a row is selected. If unset, the checkboxField image will be sized to match the `booleanImageHeight` for this grid.
      Returns:
        Integer

    - #### setCheckboxFieldImageWidth

          public void setCheckboxFieldImageWidth(java.lang.Integer checkboxFieldImageWidth)
                                          throws java.lang.IllegalStateException

      If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the width of the checkbox image displayed to indicate whether a row is selected. If unset, the checkboxField image will be sized to match the `booleanImageWidth` for this grid.
      Parameters:
        `checkboxFieldImageWidth` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCheckboxFieldImageWidth

          public java.lang.Integer getCheckboxFieldImageWidth()

      If `selectionAppearance` is set to `"checkbox"` this property may be set to govern the width of the checkbox image displayed to indicate whether a row is selected. If unset, the checkboxField image will be sized to match the `booleanImageWidth` for this grid.
      Returns:
        Integer

    - #### setCheckboxFieldPartialImage

          public void setCheckboxFieldPartialImage(java.lang.String checkboxFieldPartialImage)

      If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a partially selected row. If unset, the `booleanPartialImage` will be used. Note that the special value "blank" means that no image will be shown.

      Note : This is an advanced setting

      Parameters:
        `checkboxFieldPartialImage` - See `SCImgURL` . Default value is null
      See Also:
        `setCheckboxFieldTrueImage(java.lang.String)`, `setCheckboxFieldImageWidth(java.lang.Integer)`, `setCheckboxFieldImageHeight(java.lang.Integer)`, `setPrintCheckboxFieldPartialImage(java.lang.String)`

    - #### getCheckboxFieldPartialImage

          public java.lang.String getCheckboxFieldPartialImage()

      If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a partially selected row. If unset, the `booleanPartialImage` will be used. Note that the special value "blank" means that no image will be shown.
      Returns:
        See `SCImgURL`
      See Also:
        `getCheckboxFieldTrueImage()`, `getCheckboxFieldImageWidth()`, `getCheckboxFieldImageHeight()`, `getPrintCheckboxFieldPartialImage()`

    - #### setCheckboxFieldTrueImage

          public void setCheckboxFieldTrueImage(java.lang.String checkboxFieldTrueImage)

      If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a selected row. If unset, the `booleanTrueImage` will be used. Note that the special value "blank" means that no image will be shown.

      Note : This is an advanced setting

      Parameters:
        `checkboxFieldTrueImage` - See `SCImgURL` . Default value is null
      See Also:
        `setCheckboxFieldFalseImage(java.lang.String)`, `setCheckboxFieldImageWidth(java.lang.Integer)`, `setCheckboxFieldImageHeight(java.lang.Integer)`, `setPrintCheckboxFieldTrueImage(java.lang.String)`

    - #### getCheckboxFieldTrueImage

          public java.lang.String getCheckboxFieldTrueImage()

      If `selectionAppearance` is set to `"checkbox"` this property determines the image to display in the checkbox field for a selected row. If unset, the `booleanTrueImage` will be used. Note that the special value "blank" means that no image will be shown.
      Returns:
        See `SCImgURL`
      See Also:
        `getCheckboxFieldFalseImage()`, `getCheckboxFieldImageWidth()`, `getCheckboxFieldImageHeight()`, `getPrintCheckboxFieldTrueImage()`

    - #### setChildExpansionMode

          public void setChildExpansionMode(ExpansionMode childExpansionMode)

      For `expansionModes` that show another grid or tree, what the child's expansionMode should be.

      Default value `null` means no further expansion.

      Note : This is an advanced setting

      Parameters:
        `childExpansionMode` - Default value is null

    - #### getChildExpansionMode

          public ExpansionMode getChildExpansionMode()

      For `expansionModes` that show another grid or tree, what the child's expansionMode should be.

      Default value `null` means no further expansion.

      Returns:
        ExpansionMode

    - #### setClearAllSortingText

          public void setClearAllSortingText(java.lang.String clearAllSortingText)

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear any existing sort on all fields. This menu-item is displayed only in the context menu for the sorter button.
      Parameters:
        `clearAllSortingText` - Default value is "Clear All Sorting"

    - #### getClearAllSortingText

          public java.lang.String getClearAllSortingText()

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear any existing sort on all fields. This menu-item is displayed only in the context menu for the sorter button.
      Returns:
        String

    - #### setClearFilterText

          public void setClearFilterText(java.lang.String clearFilterText)

      If we're showing a `headerContextMenu` for this grid, and a `filter-editor` is visible, this attribute will be shown as the menu item title to clear any existing filter. This menu-item is displayed only in the context menu for the sorter button.
      Parameters:
        `clearFilterText` - Default value is "Clear Filter"

    - #### getClearFilterText

          public java.lang.String getClearFilterText()

      If we're showing a `headerContextMenu` for this grid, and a `filter-editor` is visible, this attribute will be shown as the menu item title to clear any existing filter. This menu-item is displayed only in the context menu for the sorter button.
      Returns:
        String

    - #### setClearSortFieldText

          public void setClearSortFieldText(java.lang.String clearSortFieldText)

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear an existing sort on this field.
      Parameters:
        `clearSortFieldText` - Default value is "Clear Sort"

    - #### getClearSortFieldText

          public java.lang.String getClearSortFieldText()

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear an existing sort on this field.
      Returns:
        String

    - #### setClipHeaderTitles

          public void setClipHeaderTitles(java.lang.Boolean clipHeaderTitles)
                                   throws java.lang.IllegalStateException

      Whether the ListGrid should manage the clipping of titles of header buttons, showing ellipses if the title is clipped, and potentially showing the full title on `hover`.

      In some cases this may be preferable to the button component's default clipping behavior because if a `sort arrow` or sort numeral is displayed for a header, then the button's default clipping behavior may clip the sort arrow/numeral whereas ListGrid-managed title clipping utilizes special HTML which keeps the sort arrow/numeral visible.

      This feature is automatically enabled if supported by the browser. The only supported use of this attribute is to disable the feature by setting clipHeaderTitles to false.

      Note that this feature is incompatible with `wrap`, and will automatically be disabled for wrapping fields.

      Note : This is an advanced setting

      Parameters:
        `clipHeaderTitles` - Default value is varies
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getClipHeaderTitles

          public java.lang.Boolean getClipHeaderTitles()

      Whether the ListGrid should manage the clipping of titles of header buttons, showing ellipses if the title is clipped, and potentially showing the full title on `hover`.

      In some cases this may be preferable to the button component's default clipping behavior because if a `sort arrow` or sort numeral is displayed for a header, then the button's default clipping behavior may clip the sort arrow/numeral whereas ListGrid-managed title clipping utilizes special HTML which keeps the sort arrow/numeral visible.

      This feature is automatically enabled if supported by the browser. The only supported use of this attribute is to disable the feature by setting clipHeaderTitles to false.

      Note that this feature is incompatible with `wrap`, and will automatically be disabled for wrapping fields.

      Returns:
        Boolean
      See Also:
        `GridHeader overview and related methods`

    - #### setCollapseGroupOnRowClick

          public void setCollapseGroupOnRowClick(boolean collapseGroupOnRowClick)
                                          throws java.lang.IllegalStateException

      If `canCollapseGroup` is true, will a click anywhere on the group row toggle the group's expanded state? If false, the user must click the `groupIcon` directly to toggle the group.
      Parameters:
        `collapseGroupOnRowClick` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `groupBy(java.lang.String...)`

    - #### getCollapseGroupOnRowClick

          public boolean getCollapseGroupOnRowClick()

      If `canCollapseGroup` is true, will a click anywhere on the group row toggle the group's expanded state? If false, the user must click the `groupIcon` directly to toggle the group.
      Returns:
        boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setConfigureGroupingText

          public void setConfigureGroupingText(java.lang.String configureGroupingText)

      If we're showing a `headerContextMenu` for this grid, and multi-grouping is enabled, this attribute is used as the title for a menu item that opens a `MultiGroupDialog` to configure the grouping for this grid.
      Parameters:
        `configureGroupingText` - Default value is "Configure Grouping..."

    - #### getConfigureGroupingText

          public java.lang.String getConfigureGroupingText()

      If we're showing a `headerContextMenu` for this grid, and multi-grouping is enabled, this attribute is used as the title for a menu item that opens a `MultiGroupDialog` to configure the grouping for this grid.
      Returns:
        String

    - #### setConfigureSortText

          public void setConfigureSortText(java.lang.String configureSortText)

      If we're showing a `headerContextMenu` for this grid, and multi-sorting is enabled, this attribute is used as the title for a menu item that opens a MultiSortDialog to configure the sort-specification for this grid. This menu-item is displayed only in the context menu for the sorter button.
      Parameters:
        `configureSortText` - Default value is "Configure Sort..."

    - #### getConfigureSortText

          public java.lang.String getConfigureSortText()

      If we're showing a `headerContextMenu` for this grid, and multi-sorting is enabled, this attribute is used as the title for a menu item that opens a MultiSortDialog to configure the sort-specification for this grid. This menu-item is displayed only in the context menu for the sorter button.
      Returns:
        String

    - #### setConfirmCancelEditing

          public void setConfirmCancelEditing(java.lang.Boolean confirmCancelEditing)

      If this is an editable listGrid, when the user attempts to cancel an edit, should we display a confirmation prompt before discarding the edited values for the record?
      Parameters:
        `confirmCancelEditing` - Default value is false
      See Also:
        `Editing overview and related methods`

    - #### getConfirmCancelEditing

          public java.lang.Boolean getConfirmCancelEditing()

      If this is an editable listGrid, when the user attempts to cancel an edit, should we display a confirmation prompt before discarding the edited values for the record?
      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setConfirmDiscardEdits

          public void setConfirmDiscardEdits(java.lang.Boolean confirmDiscardEdits)

      For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded. This flag determines whether we should display a confirmation dialog with options to save or discard the edits, or cancel the action in this case.
      Parameters:
        `confirmDiscardEdits` - Default value is true
      See Also:
        `Editing overview and related methods`

    - #### getConfirmDiscardEdits

          public java.lang.Boolean getConfirmDiscardEdits()

      For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded. This flag determines whether we should display a confirmation dialog with options to save or discard the edits, or cancel the action in this case.
      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setConfirmDiscardEditsMessage

          public void setConfirmDiscardEditsMessage(java.lang.String confirmDiscardEditsMessage)

      If `this.confirmDiscardEdits` is true, this property can be used to customize the error message string displayed to the user in a dialog with options to cancel the action, or save or discard pending edits in response to sort/filter actions that would otherwise drop unsaved edit values.
      Parameters:
        `confirmDiscardEditsMessage` - Default value is "This action will discard unsaved changes for this list."
      See Also:
        `Editing overview and related methods`

    - #### getConfirmDiscardEditsMessage

          public java.lang.String getConfirmDiscardEditsMessage()

      If `this.confirmDiscardEdits` is true, this property can be used to customize the error message string displayed to the user in a dialog with options to cancel the action, or save or discard pending edits in response to sort/filter actions that would otherwise drop unsaved edit values.
      Returns:
        String
      See Also:
        `Editing overview and related methods`

    - #### setData

          public void setData(ListGridRecord... data)

      A list of ListGridRecord objects, specifying the data to be used to populate the ListGrid. In ListGrids, the data array specifies rows.

      When using a `DataSource`, rather than directly provide `data`, you will typically call `ListGrid.fetchData()` instead, which will automatically establish `data` as a `ResultSet` (see the `ListGrid.fetchData()` docs for details).

      If you call `fetchData`, any previously supplied `data` is discarded. Also, it is not necessary to call `setData()` after calling `ListGrid.fetchData()`.

      When calling `setData()`, if `data` is provided as a RecordList or ResultSet, direct changes to the list such as adding or removing records will be automatically observed and the ListGrid will redraw in response. Direct changes to individual Records will not be automatically observed and require calls to `ListGrid.refreshCell()` or `ListGrid.refreshRow()` to cause the ListGrid to visually update. Calling methods such as `ListGrid.updateData()`, `ListGrid.removeData()` or `ListGrid.addData()` always causes automatic visual refresh.
      If this method is called after the component has been drawn/initialized: Provides a new data set to the ListGrid after the grid has been created or drawn. The ListGrid will redraw to show the new data automatically.

      Parameters:
        `data` - data to show in the list. Default value is null
      See Also:
        `ListGridRecord`, Inline data Example, Local data Example

    - #### setDataFetchMode

          public void setDataFetchMode(FetchMode dataFetchMode)
                                throws java.lang.IllegalStateException

      How to fetch and manage records retrieve from the server. See `FetchMode`.

      This setting only applies to the `ResultSet` automatically created by calling `fetchData()`. If a pre-existing ResultSet is passed to setData() instead, it's existing setting for `fetchMode` applies.

      Specified by:
        `setDataFetchMode` in interface `DataBoundComponent`
      Parameters:
        `dataFetchMode` - Default value is "paged"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Databinding overview and related methods`

    - #### getDataFetchMode

          public FetchMode getDataFetchMode()

      How to fetch and manage records retrieve from the server. See `FetchMode`.

      This setting only applies to the `ResultSet` automatically created by calling `fetchData()`. If a pre-existing ResultSet is passed to setData() instead, it's existing setting for `fetchMode` applies.

      Specified by:
        `getDataFetchMode` in interface `DataBoundComponent`
      Returns:
        FetchMode
      See Also:
        `Databinding overview and related methods`

    - #### setDateFormatter

          public void setDateFormatter(DateDisplayFormat dateFormatter)

      How should Date type values be displayed in this ListGrid by default?

      This property specifies the default DateDisplayFormat to apply to Date values displayed in this grid for all fields except those of `type "time"` (See also `timeFormatter`).
      If `datetimeFormatter` is specified, that will be applied by default to fields of type `"datetime"`.

      Note that if `dateFormatter` or `timeFormatter` are specified those properties will take precedence over the component level settings.

      If unset, date values will be formatted according to the system wide `short display format` or `short datetime display format` for datetime type fields.

      If this field is editable the dateFormatter will also be passed to the editor created to edit this field as `dateFormatter`. In this case you may also need to set `dateInputFormat`.

      Parameters:
        `dateFormatter` - Default value is null

    - #### getDateFormatter

          public DateDisplayFormat getDateFormatter()

      How should Date type values be displayed in this ListGrid by default?

      This property specifies the default DateDisplayFormat to apply to Date values displayed in this grid for all fields except those of `type "time"` (See also `timeFormatter`).
      If `datetimeFormatter` is specified, that will be applied by default to fields of type `"datetime"`.

      Note that if `dateFormatter` or `timeFormatter` are specified those properties will take precedence over the component level settings.

      If unset, date values will be formatted according to the system wide `short display format` or `short datetime display format` for datetime type fields.

      If this field is editable the dateFormatter will also be passed to the editor created to edit this field as `dateFormatter`. In this case you may also need to set `dateInputFormat`.

      Returns:
        DateDisplayFormat

    - #### setDateInputFormat

          public void setDateInputFormat(java.lang.String dateInputFormat)

      If this is an editable listGrid, this property will specify the `inputFormat` applied to editors for fields of type `"date"`. May be overridden per field via `inputFormat`.

      Note : This is an advanced setting

      Parameters:
        `dateInputFormat` - See `DateInputFormat` . Default value is null
      See Also:
        `setDateFormatter(com.smartgwt.client.types.DateDisplayFormat)`

    - #### setDatetimeFormatter

          public void setDatetimeFormatter(DateDisplayFormat datetimeFormatter)

      Display format to use for fields specified as type 'datetime'. Default is to use the system-wide default date time format, configured via `Date.setShortDatetimeDisplayFormat()`. Specify any valid `DateDisplayFormat` to change the display format for datetimes used by this grid.

      May also be specified at the field level via `dateFormatter`

      If this field is editable the dateFormatter will also be passed to the editor created to edit this field as `dateFormatter`. In this case you may also need to set `dateInputFormat`.

      Parameters:
        `datetimeFormatter` - Default value is null
      See Also:
        `ListGridField.setDateFormatter(com.smartgwt.client.types.DateDisplayFormat)`, `Appearance overview and related methods`

    - #### getDatetimeFormatter

          public DateDisplayFormat getDatetimeFormatter()

      Display format to use for fields specified as type 'datetime'. Default is to use the system-wide default date time format, configured via `Date.setShortDatetimeDisplayFormat()`. Specify any valid `DateDisplayFormat` to change the display format for datetimes used by this grid.

      May also be specified at the field level via `dateFormatter`

      If this field is editable the dateFormatter will also be passed to the editor created to edit this field as `dateFormatter`. In this case you may also need to set `dateInputFormat`.

      Returns:
        DateDisplayFormat
      See Also:
        `ListGridField.getDateFormatter()`, `Appearance overview and related methods`

    - #### setDefaultFields

          public void setDefaultFields(ListGridField... defaultFields)
                                throws java.lang.IllegalStateException

      An array of listGrid field configuration objects. When a listGrid is initialized, if this property is set and there is no value for the `fields` attribute, this.fields will be defaulted to a generated array of field objects duplicated from this array.

      This property is useful for cases where a standard set of fields will be displayed in multiple listGrids - for example a subclass of ListGrid intended to display a particular type of data:
      In this example we would not assign a single `fields` array directly to the class via `addProperties()` as every generated instance of this class would then point to the same fields array object. This would cause unexpected behavior such as changes to the field order in one grid effecting other grids on the page.
      Instead we could use `addProperties()` on our new subclass to set `defaultFields` to a standard array of fields to display. Each generated instance of the subclass would then show up with default fields duplicated from this array.

      Note : This is an advanced setting

      Parameters:
        `defaultFields` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDefaultFields

          public ListGridField[] getDefaultFields()

      An array of listGrid field configuration objects. When a listGrid is initialized, if this property is set and there is no value for the `fields` attribute, this.fields will be defaulted to a generated array of field objects duplicated from this array.

      This property is useful for cases where a standard set of fields will be displayed in multiple listGrids - for example a subclass of ListGrid intended to display a particular type of data:
      In this example we would not assign a single `fields` array directly to the class via `addProperties()` as every generated instance of this class would then point to the same fields array object. This would cause unexpected behavior such as changes to the field order in one grid effecting other grids on the page.
      Instead we could use `addProperties()` on our new subclass to set `defaultFields` to a standard array of fields to display. Each generated instance of the subclass would then show up with default fields duplicated from this array.

      Returns:
        ListGridField...

    - #### setDeferRemoval

          public void setDeferRemoval(java.lang.Boolean deferRemoval)
                               throws java.lang.IllegalStateException

      When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `ListGrid.markRecordRemoved()` instead of immediately being removed.

      When a record has been marked for removal, an icon in the `canRemoveRecords` field allowing it to be unmarked will be displayed.

      If not explicitly specified by this property, removal of records will be deferred if `autoSaveEdits` is false for the grid.

      Parameters:
        `deferRemoval` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Editing overview and related methods`

    - #### getDeferRemoval

          public java.lang.Boolean getDeferRemoval()

      When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `ListGrid.markRecordRemoved()` instead of immediately being removed.

      When a record has been marked for removal, an icon in the `canRemoveRecords` field allowing it to be unmarked will be displayed.

      If not explicitly specified by this property, removal of records will be deferred if `autoSaveEdits` is false for the grid.

      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setDetailDS

          public void setDetailDS(java.lang.String detailDS)

      If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.

      This property may also be specified on a per-record basis - see `recordDetailDSProperty`

      Note : This is an advanced setting

      Parameters:
        `detailDS` - Default value is null

    - #### getDetailDS

          public java.lang.String getDetailDS()

      If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.

      This property may also be specified on a per-record basis - see `recordDetailDSProperty`

      Returns:
        String

    - #### setDetailField

          public void setDetailField(java.lang.String detailField)

      The field whose contents to show in the expanded portion of a record when `canExpandRecords` is `true` and `listGrid.expansionMode` is `detailField`.

      Note : This is an advanced setting

      Parameters:
        `detailField` - Default value is null

    - #### getDetailField

          public java.lang.String getDetailField()

      The field whose contents to show in the expanded portion of a record when `canExpandRecords` is `true` and `listGrid.expansionMode` is `detailField`.
      Returns:
        String

    - #### setDiscardEditsOnHideField

          public void setDiscardEditsOnHideField(boolean discardEditsOnHideField)

      If a user is editing a `canEdit:true` listGrid, and they hide a field while the editor is showing, should we discard any edits in the edit row for the field being hidden?

      Default behavior is to discard the edits - set this flag to false to preserve edits

      Note that the `dropCriteriaOnHideField` attribute allows developers to control behavior for filter-editor criteria when a field is hidden.

      Parameters:
        `discardEditsOnHideField` - Default value is true

    - #### getDiscardEditsOnHideField

          public boolean getDiscardEditsOnHideField()

      If a user is editing a `canEdit:true` listGrid, and they hide a field while the editor is showing, should we discard any edits in the edit row for the field being hidden?

      Default behavior is to discard the edits - set this flag to false to preserve edits

      Note that the `dropCriteriaOnHideField` attribute allows developers to control behavior for filter-editor criteria when a field is hidden.

      Returns:
        boolean

    - #### setDiscardEditsSaveButtonTitle

          public void setDiscardEditsSaveButtonTitle(java.lang.String discardEditsSaveButtonTitle)

      If `confirmDiscardEdits` is true this is the title for the save button appearing in the lost edits confirmation dialog. Override this for localization if necessary.
      Parameters:
        `discardEditsSaveButtonTitle` - Default value is "Save"
      See Also:
        `Editing overview and related methods`

    - #### getDiscardEditsSaveButtonTitle

          public java.lang.String getDiscardEditsSaveButtonTitle()

      If `confirmDiscardEdits` is true this is the title for the save button appearing in the lost edits confirmation dialog. Override this for localization if necessary.
      Returns:
        String
      See Also:
        `Editing overview and related methods`

    - #### setDragTrackerMode

          public void setDragTrackerMode(DragTrackerMode dragTrackerMode)
                                  throws java.lang.IllegalStateException

      When records are being dragged from within a ListGrid, what sort of drag-tracker should be displayed?
      Note that if multiple records are being dragged the displayed tracker will be based on the first selected record.

      Note : This is an advanced setting

      Parameters:
        `dragTrackerMode` - Default value is "icon"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDragTrackerMode

          public DragTrackerMode getDragTrackerMode()

      When records are being dragged from within a ListGrid, what sort of drag-tracker should be displayed?
      Note that if multiple records are being dragged the displayed tracker will be based on the first selected record.
      Returns:
        DragTrackerMode

    - #### setDrawAheadRatio

          public void setDrawAheadRatio(float drawAheadRatio)

      How far should we render rows ahead of the currently visible area? This is expressed as a ratio from viewport size to rendered area size.

      Tweaking drawAheadRatio allows you to make tradeoffs between continuous scrolling speed vs initial render time and render time when scrolling by large amounts.

      NOTE: Only applies when showAllRows is false.

      Parameters:
        `drawAheadRatio` - Default value is 1.3
      See Also:
        Databound fetch Example

    - #### getDrawAheadRatio

          public float getDrawAheadRatio()

      How far should we render rows ahead of the currently visible area? This is expressed as a ratio from viewport size to rendered area size.

      Tweaking drawAheadRatio allows you to make tradeoffs between continuous scrolling speed vs initial render time and render time when scrolling by large amounts.

      NOTE: Only applies when showAllRows is false.

      Returns:
        float
      See Also:
        Databound fetch Example

    - #### setDrawAllMaxCells

          public void setDrawAllMaxCells(int drawAllMaxCells)

      If drawing all rows would cause less than `drawAllMaxCells` cells to be rendered, the full dataset will instead be drawn even if `showAllRecords` is false and the viewport size and `drawAheadRatio` setting would normally have caused incremental rendering to be used.

      The `drawAllMaxCells` setting prevents incremental rendering from being used in situations where it's really unnecessary, such as a 40 row, 5 column dataset (only 200 cells) which happens to be in a grid with a viewport showing only 20 or so rows. Incremental rendering causes a brief "flash" during scrolling as the visible portion of the dataset is redrawn, and a better scrolling experience can be obtained in this situation by drawing the entire dataset up front, which in this example would have negligible effect on initial draw time.

      `drawAllMaxCells:0` disables this features. You may want to disable this feature if performance is an issue and:

      - you are very frequently redraw a grid
      - you do a lot of computation when rendering each cell (eg formulas)
      - you are showing many grids on one screen and the user won't scroll most of them

      Note : This is an advanced setting

      Parameters:
        `drawAllMaxCells` - Default value is 250

    - #### getDrawAllMaxCells

          public int getDrawAllMaxCells()

      If drawing all rows would cause less than `drawAllMaxCells` cells to be rendered, the full dataset will instead be drawn even if `showAllRecords` is false and the viewport size and `drawAheadRatio` setting would normally have caused incremental rendering to be used.

      The `drawAllMaxCells` setting prevents incremental rendering from being used in situations where it's really unnecessary, such as a 40 row, 5 column dataset (only 200 cells) which happens to be in a grid with a viewport showing only 20 or so rows. Incremental rendering causes a brief "flash" during scrolling as the visible portion of the dataset is redrawn, and a better scrolling experience can be obtained in this situation by drawing the entire dataset up front, which in this example would have negligible effect on initial draw time.

      `drawAllMaxCells:0` disables this features. You may want to disable this feature if performance is an issue and:

      - you are very frequently redraw a grid
      - you do a lot of computation when rendering each cell (eg formulas)
      - you are showing many grids on one screen and the user won't scroll most of them
      Returns:
        int

    - #### setDropCriteriaOnHideField

          public void setDropCriteriaOnHideField(boolean dropCriteriaOnHideField)

      For ListGrids with `showFilterEditor` set to true, if the user hides a field, should we discard the criteria for the hidden field when the user next performs a filter? This is an equivalent of using the AutoChild system to set `discardEditsOnHideField` on the `filterEditor`.
      Parameters:
        `dropCriteriaOnHideField` - Default value is true

    - #### getDropCriteriaOnHideField

          public boolean getDropCriteriaOnHideField()

      For ListGrids with `showFilterEditor` set to true, if the user hides a field, should we discard the criteria for the hidden field when the user next performs a filter? This is an equivalent of using the AutoChild system to set `discardEditsOnHideField` on the `filterEditor`.
      Returns:
        boolean

    - #### setEditByCell

          public void setEditByCell(java.lang.Boolean editByCell)

      Determines whether when the user edits a cell in this listGrid the entire row becomes editable, or just the cell that received the edit event.

      No effect if this.canEdit is false or null.

      Parameters:
        `editByCell` - Default value is null
      See Also:
        `setCanEdit(java.lang.Boolean)`, `Editing overview and related methods`, Edit by cell Example

    - #### getEditByCell

          public java.lang.Boolean getEditByCell()

      Determines whether when the user edits a cell in this listGrid the entire row becomes editable, or just the cell that received the edit event.

      No effect if this.canEdit is false or null.

      Returns:
        Boolean
      See Also:
        `getCanEdit()`, `Editing overview and related methods`, Edit by cell Example

    - #### setEditEvent

          public void setEditEvent(ListGridEditEvent editEvent)

      Event that will trigger inline editing, see `ListGridEditEvent` for options.

      Note this setting has no effect unless `canEdit` has been set to enable editing.

      See also `editOnFocus` and `ListGrid.startEditing()`.

      Parameters:
        `editEvent` - Default value is "doubleClick"
      See Also:
        `Editing overview and related methods`, Edit by row Example

    - #### getEditEvent

          public ListGridEditEvent getEditEvent()

      Event that will trigger inline editing, see `ListGridEditEvent` for options.

      Note this setting has no effect unless `canEdit` has been set to enable editing.

      See also `editOnFocus` and `ListGrid.startEditing()`.

      Returns:
        ListGridEditEvent
      See Also:
        `Editing overview and related methods`, Edit by row Example

    - #### setEditFailedBaseStyle

          public void setEditFailedBaseStyle(java.lang.String editFailedBaseStyle)

      A base name for the CSS class applied to cells when editing has failed.
      If this listGrid is editable, this style will be applied to any edited cells for which validation failed.
      As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell.
      If null, cells for which editing has failed will be rendered using the normal base style classNames, but with custom CSSText applied as derived from `this.editFailedCSSText`

      Note : This is an advanced setting

      Parameters:
        `editFailedBaseStyle` - See `CSSStyleName` . Default value is null
      See Also:
        `setBaseStyle(java.lang.String)`, `setEditFailedCSSText(java.lang.String)`, `Appearance overview and related methods`

    - #### getEditFailedBaseStyle

          public java.lang.String getEditFailedBaseStyle()

      A base name for the CSS class applied to cells when editing has failed.
      If this listGrid is editable, this style will be applied to any edited cells for which validation failed.
      As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell.
      If null, cells for which editing has failed will be rendered using the normal base style classNames, but with custom CSSText applied as derived from `this.editFailedCSSText`
      Returns:
        See `CSSStyleName`
      See Also:
        `getBaseStyle()`, `getEditFailedCSSText()`, `Appearance overview and related methods`

    - #### setEditFailedCSSText

          public void setEditFailedCSSText(java.lang.String editFailedCSSText)

      Custom CSS text to be applied to cells when editing has failed.
      If this listGrid is editable, this css text will be applied to any edited cells for which validation failed, on top of the base style for the cell.
      For further customization of styling for cells that failed editing validation, use `this.editFailedBaseStyle` instead.

      Note : This is an advanced setting

      Parameters:
        `editFailedCSSText` - Default value is "color:red;border:1px solid red;"
      See Also:
        `setEditFailedBaseStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getEditFailedCSSText

          public java.lang.String getEditFailedCSSText()

      Custom CSS text to be applied to cells when editing has failed.
      If this listGrid is editable, this css text will be applied to any edited cells for which validation failed, on top of the base style for the cell.
      For further customization of styling for cells that failed editing validation, use `this.editFailedBaseStyle` instead.
      Returns:
        String
      See Also:
        `getEditFailedBaseStyle()`, `Appearance overview and related methods`

    - #### setEditOnF2Keypress

          public void setEditOnF2Keypress(java.lang.Boolean editOnF2Keypress)

      Should we start editing when the widget has focus and the user presses the "f2" key (if this ListGrid supports editing)?

      Note that if `editEvent` is set to `"click"` or `"doubleClick"`, the `Space` or `Enter` key may also be used to start editing, depending on the value for `generateClickOnSpace`, `generateDoubleClickOnSpace`, `generateClickOnEnter` and `generateDoubleClickOnEnter`.

      If `canEdit` is false, or `editEvent` is set to "none" this property has no effect.

      Note : This is an advanced setting

      Parameters:
        `editOnF2Keypress` - Default value is true
      See Also:
        `Editing overview and related methods`

    - #### getEditOnF2Keypress

          public java.lang.Boolean getEditOnF2Keypress()

      Should we start editing when the widget has focus and the user presses the "f2" key (if this ListGrid supports editing)?

      Note that if `editEvent` is set to `"click"` or `"doubleClick"`, the `Space` or `Enter` key may also be used to start editing, depending on the value for `generateClickOnSpace`, `generateDoubleClickOnSpace`, `generateClickOnEnter` and `generateDoubleClickOnEnter`.

      If `canEdit` is false, or `editEvent` is set to "none" this property has no effect.

      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setEditOnFocus

          public void setEditOnFocus(java.lang.Boolean editOnFocus)

      Should we start editing when this widget receives focus (if this ListGrid supports editing)?

      Note that this property being set to true will cause editing to occur on a single click, even if `editEvent` is `"doubleClick"`, because single clicking the grid will place keyboard focus there automatically.

      If this property is set together with `listEndEditAction` being set to "next", users can create a new edit row in an empty grid by simply tabbing into the grid.

      Note : This is an advanced setting

      Parameters:
        `editOnFocus` - Default value is null
      See Also:
        `Editing overview and related methods`

    - #### getEditOnFocus

          public java.lang.Boolean getEditOnFocus()

      Should we start editing when this widget receives focus (if this ListGrid supports editing)?

      Note that this property being set to true will cause editing to occur on a single click, even if `editEvent` is `"doubleClick"`, because single clicking the grid will place keyboard focus there automatically.

      If this property is set together with `listEndEditAction` being set to "next", users can create a new edit row in an empty grid by simply tabbing into the grid.

      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setEditPendingBaseStyle

          public void setEditPendingBaseStyle(java.lang.String editPendingBaseStyle)
                                       throws java.lang.IllegalStateException

      A base name for the CSS class applied to cells containing pending (unsaved) edits
      As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell.

      If this property is null (the default setting), cells with pending edits will pick up custom css text to be applied on top of the normal base style from `this.editPendingCSSText`.

      Note : This is an advanced setting

      Parameters:
        `editPendingBaseStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setBaseStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getEditPendingBaseStyle

          public java.lang.String getEditPendingBaseStyle()

      A base name for the CSS class applied to cells containing pending (unsaved) edits
      As with the default 'baseStyle' property, this style will have "Dark", "Over", "Selected", or "Disabled" appended to it according to the state of the cell.

      If this property is null (the default setting), cells with pending edits will pick up custom css text to be applied on top of the normal base style from `this.editPendingCSSText`.

      Returns:
        See `CSSStyleName`
      See Also:
        `getBaseStyle()`, `Appearance overview and related methods`

    - #### setEditPendingCSSText

          public void setEditPendingCSSText(java.lang.String editPendingCSSText)

      Custom CSS text to be applied to cells with pending edits that have not yet been submitted.
      For further customization of styling for cells with pending edits use `this.editPendingBaseStyle` instead.

      Note : This is an advanced setting

      Parameters:
        `editPendingCSSText` - Default value is "color:#0066CC;"
      See Also:
        `setEditFailedBaseStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getEditPendingCSSText

          public java.lang.String getEditPendingCSSText()

      Custom CSS text to be applied to cells with pending edits that have not yet been submitted.
      For further customization of styling for cells with pending edits use `this.editPendingBaseStyle` instead.
      Returns:
        String
      See Also:
        `getEditFailedBaseStyle()`, `Appearance overview and related methods`

    - #### setEditProxyConstructor

          public void setEditProxyConstructor(java.lang.String editProxyConstructor)
                                       throws java.lang.IllegalStateException

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `setEditProxyConstructor` in class `Layout`
      Parameters:
        `editProxyConstructor` - See `SCClassName` . Default value is "GridEditProxy"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getEditProxyConstructor

          public java.lang.String getEditProxyConstructor()

      Default class used to construct the `EditProxy` for this component when the component is `first placed into edit mode`.
      Overrides:
        `getEditProxyConstructor` in class `Layout`
      Returns:
        See `SCClassName`

    - #### setEmptyCellValue

          public void setEmptyCellValue(java.lang.String emptyCellValue)

      The value to display for cells whose value is null or the empty string after applying `formatting` and valueMap (if any).

      This is the grid-wide attribute. You may also set the emptyCellValue on a per-field basis.

      Parameters:
        `emptyCellValue` - See `HTMLString` . Default value is "&nbsp;"
      See Also:
        `ListGridField.setEmptyCellValue(java.lang.String)`, Empty values Example

    - #### getEmptyCellValue

          public java.lang.String getEmptyCellValue()

      The value to display for cells whose value is null or the empty string after applying `formatting` and valueMap (if any).

      This is the grid-wide attribute. You may also set the emptyCellValue on a per-field basis.

      Returns:
        See `HTMLString`
      See Also:
        `ListGridField.getEmptyCellValue()`, Empty values Example

    - #### setEmptyMessage

          public void setEmptyMessage(java.lang.String emptyMessage)

      The string to display in the body of a listGrid with an empty data array, if showEmptyMessage is true.
      Parameters:
        `emptyMessage` - See `HTMLString` . Default value is "No items to show."
      See Also:
        Empty grid Example

    - #### getEmptyMessage

          public java.lang.String getEmptyMessage()

      The string to display in the body of a listGrid with an empty data array, if showEmptyMessage is true.
      Returns:
        See `HTMLString`
      See Also:
        Empty grid Example

    - #### setEmptyMessageStyle

          public void setEmptyMessageStyle(java.lang.String emptyMessageStyle)

      The CSS style name applied to the `emptyMessage` if displayed.
      Parameters:
        `emptyMessageStyle` - See `CSSStyleName` . Default value is "emptyMessage"

    - #### getEmptyMessageStyle

          public java.lang.String getEmptyMessageStyle()

      The CSS style name applied to the `emptyMessage` if displayed.
      Returns:
        See `CSSStyleName`

    - #### setEnforceVClipping

          public void setEnforceVClipping(java.lang.Boolean enforceVClipping)

      For performance reasons, even when `fixedRecordHeights` is set, vertical clipping is not enforced by default for some kinds of content (such as images) on all browsers. Set `enforceVClipping:true` to enforce clipping for all types of content on all browsers.

      This additional setting is likely to be phased out as browsers improve.

      Parameters:
        `enforceVClipping` - Default value is false

    - #### getEnforceVClipping

          public java.lang.Boolean getEnforceVClipping()

      For performance reasons, even when `fixedRecordHeights` is set, vertical clipping is not enforced by default for some kinds of content (such as images) on all browsers. Set `enforceVClipping:true` to enforce clipping for all types of content on all browsers.

      This additional setting is likely to be phased out as browsers improve.

      Returns:
        Boolean

    - #### setEnterKeyEditAction

          public void setEnterKeyEditAction(EnterKeyEditAction enterKeyEditAction)

      What to do when a user hits enter while editing a cell:
      - "nextCell": start editing the next editable cell in this record (or the first editable cell in the next record if focus is in the last editable cell in the row)
      - "nextRow": start editing the same field in the next row (skipping any rows where that would be a non-editable cell.
      - "nextRowStart": start editing the first editable cell in the next row.
      - "done": hide the editor (editing is complete)
      Note that if this.autoSaveEdits is true, this may cause a save of the current edit values
      Parameters:
        `enterKeyEditAction` - Default value is "done"
      See Also:
        `Editing overview and related methods`

    - #### getEnterKeyEditAction

          public EnterKeyEditAction getEnterKeyEditAction()

      What to do when a user hits enter while editing a cell:
      - "nextCell": start editing the next editable cell in this record (or the first editable cell in the next record if focus is in the last editable cell in the row)
      - "nextRow": start editing the same field in the next row (skipping any rows where that would be a non-editable cell.
      - "nextRowStart": start editing the first editable cell in the next row.
      - "done": hide the editor (editing is complete)
      Note that if this.autoSaveEdits is true, this may cause a save of the current edit values
      Returns:
        EnterKeyEditAction
      See Also:
        `Editing overview and related methods`

    - #### setEnumCriteriaAsInitialValues

          public void setEnumCriteriaAsInitialValues(java.lang.Boolean enumCriteriaAsInitialValues)
                                              throws java.lang.IllegalStateException

      In a ListGrid that has a DataSource and has filter criteria that include values for fields declared as `type "enum"` in the DataSource, by default a newly edited row will use those filter criteria as initial values.

      For example, if a ListGrid is showing all Accounts that have status:"Active" and a new row is created, the new row will default to status:"Active" unless this flag is set to false.

      Parameters:
        `enumCriteriaAsInitialValues` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Editing overview and related methods`

    - #### getEnumCriteriaAsInitialValues

          public java.lang.Boolean getEnumCriteriaAsInitialValues()

      In a ListGrid that has a DataSource and has filter criteria that include values for fields declared as `type "enum"` in the DataSource, by default a newly edited row will use those filter criteria as initial values.

      For example, if a ListGrid is showing all Accounts that have status:"Active" and a new row is created, the new row will default to status:"Active" unless this flag is set to false.

      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setErrorIconHeight

          public void setErrorIconHeight(java.lang.Integer errorIconHeight)

      Height of the error icon, if we're showing icons when validation errors occur.
      Parameters:
        `errorIconHeight` - Default value is 16

    - #### getErrorIconHeight

          public java.lang.Integer getErrorIconHeight()

      Height of the error icon, if we're showing icons when validation errors occur.
      Returns:
        Integer

    - #### setErrorIconSrc

          public void setErrorIconSrc(java.lang.String errorIconSrc)

      Src of the image to show as an error icon, if we're showing icons when validation errors occur.
      Parameters:
        `errorIconSrc` - See `SCImgURL` . Default value is "[SKIN]/ListGrid/validation_error_icon.png"

    - #### getErrorIconSrc

          public java.lang.String getErrorIconSrc()

      Src of the image to show as an error icon, if we're showing icons when validation errors occur.
      Returns:
        See `SCImgURL`

    - #### setErrorIconWidth

          public void setErrorIconWidth(java.lang.Integer errorIconWidth)

      Height of the error icon, if we're showing icons when validation errors occur.
      Parameters:
        `errorIconWidth` - Default value is 16

    - #### getErrorIconWidth

          public java.lang.Integer getErrorIconWidth()

      Height of the error icon, if we're showing icons when validation errors occur.
      Returns:
        Integer

    - #### setEscapeKeyEditAction

          public void setEscapeKeyEditAction(EscapeKeyEditAction escapeKeyEditAction)

      What to do when a user hits escape while editing a cell:
      - "cancel": close the editor and discard the current set of edit values
      - "done": just close the editor (the edit is complete, but the edited values are retained).
      Note that if `autoSaveEdits` is true, this may cause a save of the current edit values
      Parameters:
        `escapeKeyEditAction` - Default value is "cancel"
      See Also:
        `Editing overview and related methods`

    - #### getEscapeKeyEditAction

          public EscapeKeyEditAction getEscapeKeyEditAction()

      What to do when a user hits escape while editing a cell:
      - "cancel": close the editor and discard the current set of edit values
      - "done": just close the editor (the edit is complete, but the edited values are retained).
      Note that if `autoSaveEdits` is true, this may cause a save of the current edit values
      Returns:
        EscapeKeyEditAction
      See Also:
        `Editing overview and related methods`

    - #### setExpansionCanEdit

          public void setExpansionCanEdit(java.lang.Boolean expansionCanEdit)

      For `expansionModes` that show another grid or tree, is that component editable?

      The default value for this property is `false`.

      Note : This is an advanced setting

      Parameters:
        `expansionCanEdit` - Default value is null

    - #### getExpansionCanEdit

          public java.lang.Boolean getExpansionCanEdit()

      For `expansionModes` that show another grid or tree, is that component editable?

      The default value for this property is `false`.

      Returns:
        Boolean

    - #### setExpansionComponentPoolingMode

          public void setExpansionComponentPoolingMode(ExpansionComponentPoolingMode expansionComponentPoolingMode)

      The method of `component-pooling` to employ for `expansionComponents`.

      The default mode is "destroy", which means that automatically created expansionComponents are destroyed when rows are collapsed.

      Note : This is an advanced setting

      Parameters:
        `expansionComponentPoolingMode` - Default value is "destroy"

    - #### getExpansionComponentPoolingMode

          public ExpansionComponentPoolingMode getExpansionComponentPoolingMode()

      The method of `component-pooling` to employ for `expansionComponents`.

      The default mode is "destroy", which means that automatically created expansionComponents are destroyed when rows are collapsed.

      Returns:
        ExpansionComponentPoolingMode

    - #### getExpansionDetailField

          public HTMLFlow getExpansionDetailField()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Automatically generated `HTMLFlow` for displaying the contents of `a specified field` in a record's expanded section when `listGrid.expansionMode` is `detailField`.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.expansionDetailFieldProperties` and `listGrid.expansionDetailFieldDefaults`.

      Note, however, that this is a multi-instance component (potentially one per record), so it is created using createAutoChild() not addAutoChild(), and no default single instance is created by name on the grid.

      Returns:
        null

    - #### getExpansionDetailRelated

          public HLayout getExpansionDetailRelated()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Automatically generated `HLayout` appearing in a record's expanded section when `listGrid.expansionMode` is `detailRelated`. This component contains two other autoChild components, a `DetailViewer` for viewing fields from the record which are not already present in the grid and a separate embedded `ListGrid` for displaying other data related to this record via record.detailDS. See `expansionDetails` and `expansionRelated` for more information.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.expansionDetailRelatedProperties` and `listGrid.expansionDetailRelatedDefaults`.

      Note, however, that this is a multi-instance component (potentially one per record), so it is created using createAutoChild() not addAutoChild(), and no default single instance is created by name on the grid.

      Returns:
        null

    - #### getExpansionDetails

          public DetailViewer getExpansionDetails()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Automatically generated `DetailViewer` for displaying the details of a record in its expanded section when `listGrid.expansionMode` is `details`. Note that only those fields which do not already appear in the grid are displayed in the expanded section.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.expansionDetailsProperties` and `listGrid.expansionDetailsDefaults`.

      Note, however, that this is a multi-instance component (potentially one per record), so it is created using createAutoChild() not addAutoChild(), and no default single instance is created by name on the grid.

      Returns:
        null

    - #### getExpansionEditor

          public DynamicForm getExpansionEditor()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Automatically generated `DynamicForm` for editing the details of a record in its expanded section when `listGrid.expansionMode` is `editor`. Note that only those fields which do not already appear in the grid will appear in the expanded section.

      According to the value of `showExpansionEditorSaveButton`, a save button is shown beneath the editor. You can save the values in the editor by clicking this button

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.expansionEditorProperties` and `listGrid.expansionEditorDefaults`.

      Note, however, that this is a multi-instance component (potentially one per record), so it is created using createAutoChild() not addAutoChild(), and no default single instance is created by name on the grid.

      Returns:
        null

    - #### getExpansionEditorCollapseOnSave

          public java.lang.Boolean getExpansionEditorCollapseOnSave()
                                                             throws java.lang.IllegalStateException

      When `ExpansionMode` is editor, should the row be collapsed following a save initiated by the expansion-component's `save button`.

      Note : This method should be called only after the widget has been rendered.

      Returns:
        Boolean
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### getExpansionEditorSaveButton

          public IButton getExpansionEditorSaveButton()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Automatically generated `IButton` for saving the values in the expanded portion of a ListGrid row.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.expansionEditorSaveButtonProperties` and `listGrid.expansionEditorSaveButtonDefaults`.

      Note, however, that this is a multi-instance component (potentially one per record), so it is created using createAutoChild() not addAutoChild(), and no default single instance is created by name on the grid.

      Returns:
        null

    - #### getExpansionEditorSaveButtonTitle

          public java.lang.String getExpansionEditorSaveButtonTitle()
                                                             throws java.lang.IllegalStateException

      The title for the `expansionEditorSaveButton`.

      Note : This method should be called only after the widget has been rendered.

      Returns:
        String
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setExpansionEditorSaveDialogPrompt

          public void setExpansionEditorSaveDialogPrompt(java.lang.String expansionEditorSaveDialogPrompt)
                                                  throws java.lang.IllegalStateException

      When `canExpandRecords` is true and `expansionMode` is editor, the prompt to display in a dialog when an expanded row is collapsed while it's nested editor has changed values.
      Parameters:
        `expansionEditorSaveDialogPrompt` - Default value is "You have unsaved changes - do you want to save them now?"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExpansionEditorSaveDialogPrompt

          public java.lang.String getExpansionEditorSaveDialogPrompt()

      When `canExpandRecords` is true and `expansionMode` is editor, the prompt to display in a dialog when an expanded row is collapsed while it's nested editor has changed values.
      Returns:
        String

    - #### setExpansionEditorShowSaveDialog

          public void setExpansionEditorShowSaveDialog(java.lang.Boolean expansionEditorShowSaveDialog)
                                                throws java.lang.IllegalStateException

      When `canExpandRecords` is true and `expansionMode` is editor, whether a dialog should be displayed when an expanded row is collapsed while it's nested editor has changed values.
      Parameters:
        `expansionEditorShowSaveDialog` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExpansionEditorShowSaveDialog

          public java.lang.Boolean getExpansionEditorShowSaveDialog()

      When `canExpandRecords` is true and `expansionMode` is editor, whether a dialog should be displayed when an expanded row is collapsed while it's nested editor has changed values.
      Returns:
        Boolean

    - #### getExpansionField

          public ListGridField getExpansionField()
                                          throws java.lang.IllegalStateException

      The field providing the facility to expand and collapse rows.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Returns the specially generated expansion field used when `canExpandRecords` is true.

        Called during `ListGrid.setFields()`, this method can be overridden to add advanced dynamic defaults to the expansion field (call Super, modify the default field returned by Super, return the modified field). Normal customization can be handled by just setting `com.smartgwt.client.types.AutoChild` properties, as mentioned under the docs for `expansionField`.

      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setExpansionFieldFalseImage

          public void setExpansionFieldFalseImage(java.lang.String expansionFieldFalseImage)

      If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for collapsed rows. If unset, the `booleanFalseImage` will be used.

      Note : This is an advanced setting

      Parameters:
        `expansionFieldFalseImage` - See `SCImgURL` . Default value is null
      See Also:
        `setExpansionFieldTrueImage(java.lang.String)`, `setExpansionFieldImageWidth(java.lang.Integer)`, `setExpansionFieldImageHeight(java.lang.Integer)`

    - #### getExpansionFieldFalseImage

          public java.lang.String getExpansionFieldFalseImage()

      If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for collapsed rows. If unset, the `booleanFalseImage` will be used.
      Returns:
        See `SCImgURL`
      See Also:
        `getExpansionFieldTrueImage()`, `getExpansionFieldImageWidth()`, `getExpansionFieldImageHeight()`

    - #### setExpansionFieldImageHeight

          public void setExpansionFieldImageHeight(java.lang.Integer expansionFieldImageHeight)
                                            throws java.lang.IllegalStateException

      If `canExpandRecords` is set to `true`, this property may be set to govern the height of the expansion image displayed to indicate whether a row is expanded. If unset, the expansionField image will be sized to match the `booleanImageHeight` for this grid.
      Parameters:
        `expansionFieldImageHeight` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExpansionFieldImageHeight

          public java.lang.Integer getExpansionFieldImageHeight()

      If `canExpandRecords` is set to `true`, this property may be set to govern the height of the expansion image displayed to indicate whether a row is expanded. If unset, the expansionField image will be sized to match the `booleanImageHeight` for this grid.
      Returns:
        Integer

    - #### setExpansionFieldImageWidth

          public void setExpansionFieldImageWidth(java.lang.Integer expansionFieldImageWidth)
                                           throws java.lang.IllegalStateException

      If `canExpandRecords` is set to `true`, this property may be set to govern the width of the expansion image displayed to indicate whether a row is expanded. If unset, the expansionField image will be sized to match the `booleanImageWidth` for this grid.
      Parameters:
        `expansionFieldImageWidth` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExpansionFieldImageWidth

          public java.lang.Integer getExpansionFieldImageWidth()

      If `canExpandRecords` is set to `true`, this property may be set to govern the width of the expansion image displayed to indicate whether a row is expanded. If unset, the expansionField image will be sized to match the `booleanImageWidth` for this grid.
      Returns:
        Integer

    - #### setExpansionFieldTrueImage

          public void setExpansionFieldTrueImage(java.lang.String expansionFieldTrueImage)

      If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for expanded rows. If unset, the `booleanTrueImage` will be used.

      Note : This is an advanced setting

      Parameters:
        `expansionFieldTrueImage` - See `SCImgURL` . Default value is null
      See Also:
        `setExpansionFieldFalseImage(java.lang.String)`, `setExpansionFieldImageWidth(java.lang.Integer)`, `setExpansionFieldImageHeight(java.lang.Integer)`

    - #### getExpansionFieldTrueImage

          public java.lang.String getExpansionFieldTrueImage()

      If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for expanded rows. If unset, the `booleanTrueImage` will be used.
      Returns:
        See `SCImgURL`
      See Also:
        `getExpansionFieldFalseImage()`, `getExpansionFieldImageWidth()`, `getExpansionFieldImageHeight()`

    - #### getExpansionLayout

          public VLayout getExpansionLayout()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Automatically generated `VLayout` which fills a record's expanded section and contains other builtin `expansion-components`. You can also override `getExpansionComponent()` to provide components of your own specification.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.expansionLayoutProperties` and `listGrid.expansionLayoutDefaults`.

      Note, however, that this is a multi-instance component (potentially one per record), so it is created using createAutoChild() not addAutoChild(), and no default single instance is created by name on the grid.

      Returns:
        null

    - #### setExpansionMode

          public void setExpansionMode(ExpansionMode expansionMode)

      The `ExpansionMode` for records in this grid. Default `null` value means no expansion.

      Note : This is an advanced setting

      Parameters:
        `expansionMode` - Default value is null

    - #### getExpansionMode

          public ExpansionMode getExpansionMode()

      The `ExpansionMode` for records in this grid. Default `null` value means no expansion.
      Returns:
        ExpansionMode

    - #### getExpansionRelated

          public ListGrid getExpansionRelated()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      Automatically generated `ListGrid` for displaying data related to a record in its expanded section when `listGrid.expansionMode` is `related`. The `DataSource` containing the related data is provided by `getRelatedDataSource()` which, by default, returns the DataSource referred to in `detailDS`.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.expansionRelatedProperties` and `listGrid.expansionRelatedDefaults`.

      Note, however, that this is a multi-instance component (potentially one per record), so it is created using createAutoChild() not addAutoChild(), and no default single instance is created by name on the grid.

      Returns:
        null

    - #### setExportAlternateRowBGColor

          public void setExportAlternateRowBGColor(java.lang.String exportAlternateRowBGColor)
                                            throws java.lang.IllegalStateException

      When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for even-numbered rows, to create a "banded" or "ledger" effect. Odd-numbered rows will use the `exportDefaultBGColor`.

      See `ExportBGColor` for an overview.

      Parameters:
        `exportAlternateRowBGColor` - See `CSSColor` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExportAlternateRowBGColor

          public java.lang.String getExportAlternateRowBGColor()

      When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for even-numbered rows, to create a "banded" or "ledger" effect. Odd-numbered rows will use the `exportDefaultBGColor`.

      See `ExportBGColor` for an overview.

      Returns:
        See `CSSColor`

    - #### setExportDefaultBGColor

          public void setExportDefaultBGColor(java.lang.String exportDefaultBGColor)
                                       throws java.lang.IllegalStateException

      Default background color to use when exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`.

      If unset (the default), cells that are not provided a background color by more specific APIs will be the default background color used by the spreadsheet program where they are viewed.

      See `ExportBGColor` for an overview.

      Parameters:
        `exportDefaultBGColor` - See `CSSColor` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExportDefaultBGColor

          public java.lang.String getExportDefaultBGColor()

      Default background color to use when exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`.

      If unset (the default), cells that are not provided a background color by more specific APIs will be the default background color used by the spreadsheet program where they are viewed.

      See `ExportBGColor` for an overview.

      Returns:
        See `CSSColor`

    - #### setExportFieldAlignments

          public void setExportFieldAlignments(boolean exportFieldAlignments)

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether field `horizontal header alignments` and `data value alignments` should be replicated in the resulting spreadsheet.

      If this attribute is not set, cells will be assigned a default alignment by the spreadsheet, which is typically right-aligned for numeric and date values, and left-aligned for everything else (including dates and numbers that have been exported as strings, as would be the case, for example, if `exportDatesAsFormattedString` is set)

      Parameters:
        `exportFieldAlignments` - Default value is false

    - #### getExportFieldAlignments

          public boolean getExportFieldAlignments()

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether field `horizontal header alignments` and `data value alignments` should be replicated in the resulting spreadsheet.

      If this attribute is not set, cells will be assigned a default alignment by the spreadsheet, which is typically right-aligned for numeric and date values, and left-aligned for everything else (including dates and numbers that have been exported as strings, as would be the case, for example, if `exportDatesAsFormattedString` is set)

      Returns:
        boolean

    - #### setExportFieldWidths

          public void setExportFieldWidths(boolean exportFieldWidths)

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether widths of fields should be replicated in the resulting spreadsheet.

      Because Excel's unit of measurement for field widths is based on the default system font, there is no exact way to translate field widths in pixels to Excel column widths. The `exportWidthScale` property can be set to adjust scaling; it's default value errs on the side of making Excel's columns slightly wider than the ListGrid field's actual width to avoid clipping.

      Note that you can switch off width export for individual fields with the `exportFieldWidth` flag.

      Parameters:
        `exportFieldWidths` - Default value is false

    - #### getExportFieldWidths

          public boolean getExportFieldWidths()

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether widths of fields should be replicated in the resulting spreadsheet.

      Because Excel's unit of measurement for field widths is based on the default system font, there is no exact way to translate field widths in pixels to Excel column widths. The `exportWidthScale` property can be set to adjust scaling; it's default value errs on the side of making Excel's columns slightly wider than the ListGrid field's actual width to avoid clipping.

      Note that you can switch off width export for individual fields with the `exportFieldWidth` flag.

      Returns:
        boolean

    - #### setExportHeaderHeights

          public void setExportHeaderHeights(boolean exportHeaderHeights)

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, causes the `headerHeight` and `headerSpan heights` to be applied to the corresponding cells in the spreadsheet.
      Parameters:
        `exportHeaderHeights` - Default value is false

    - #### getExportHeaderHeights

          public boolean getExportHeaderHeights()

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, causes the `headerHeight` and `headerSpan heights` to be applied to the corresponding cells in the spreadsheet.
      Returns:
        boolean

    - #### setExportRawValues

          public void setExportRawValues(java.lang.Boolean exportRawValues)
                                  throws java.lang.IllegalStateException

      Dictates whether the data in this grid should be exported raw by `exportClientData()`. If set to true, data will not be processed by field-formatters during exports. Decreases the time taken for large exports. This property can also be set at the `field level`.
      Parameters:
        `exportRawValues` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getExportRawValues

          public java.lang.Boolean getExportRawValues()

      Dictates whether the data in this grid should be exported raw by `exportClientData()`. If set to true, data will not be processed by field-formatters during exports. Decreases the time taken for large exports. This property can also be set at the `field level`.
      Returns:
        Boolean

    - #### setExportWidthScale

          public void setExportWidthScale(double exportWidthScale)

      Scaling factor to translate from ListGrid field widths in pixels to Excel/OpenOffice units for field width, which are 1/256th of the width of the widest digit character in the default font for the spreadsheet. See `exportFieldWidths` for where this is used.
      Parameters:
        `exportWidthScale` - Default value is 0.12

    - #### getExportWidthScale

          public double getExportWidthScale()

      Scaling factor to translate from ListGrid field widths in pixels to Excel/OpenOffice units for field width, which are 1/256th of the width of the widest digit character in the default font for the spreadsheet. See `exportFieldWidths` for where this is used.
      Returns:
        double

    - #### setExportWrapHeaderTitles

          public void setExportWrapHeaderTitles(boolean exportWrapHeaderTitles)

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether titles in the `ListGrid header` and `headerSpans` should be allowed to wrap.

      Excel will wrap at the column boundary automatically; for explicit control over wrapping, insert "<br>" tags into your titles.

      See also `exportFieldWidths` for replicating the widths of fields in the exported spreadsheet.

      Parameters:
        `exportWrapHeaderTitles` - Default value is false

    - #### getExportWrapHeaderTitles

          public boolean getExportWrapHeaderTitles()

      When exporting data to Excel/OpenOffice format using `ListGrid.exportData()` or `ListGrid.exportClientData()`, whether titles in the `ListGrid header` and `headerSpans` should be allowed to wrap.

      Excel will wrap at the column boundary automatically; for explicit control over wrapping, insert "<br>" tags into your titles.

      See also `exportFieldWidths` for replicating the widths of fields in the exported spreadsheet.

      Returns:
        boolean

    - #### setFastCellUpdates

          public void setFastCellUpdates(java.lang.Boolean fastCellUpdates)
                                  throws java.lang.IllegalStateException

      Note: This property only has an effect in Internet Explorer

      Advanced property to improve performance for dynamic styling of gridRenderer cells in Internet Explorer, at the expense of slightly slower initial drawing, and some limitations on supported styling options.

      `fastCellUpdates` speeds up the dynamic styling system used by rollovers, selections, and custom styling that calls `GridRenderer.refreshCellStyle()`, at the cost of slightly slower draw() and redraw() times.

      Notes:

      - When this property is set, ListGrid cells may be styled using the `tallBaseStyle`. See `ListGrid.getBaseStyle()` for more information.
      - If any cell styles specify a a background image URL, the URL will be resolved relative to the page location rather than the location of the CSS stylesheet. This means cell styles with a background URL should either supply a fully qualified path, or the background image media should be made available at a second location for IE.
      - fastCellUpdates will not work if the styles involved are in an external stylesheet loaded from a remote host. Either the stylesheet containing cell styles needs to be loaded from the same host as the main page, or the cell styles need to be inlined in the html of the bootstrap page.
      - fastCellUpdates will not work if the css styles for cells are defined in a `.css` file loaded via `@import`. Instead the `.css` file should be loaded via a `<link ...>` tag.
      If this method is called after the component has been drawn/initialized: Setter for `fastCellUpdates`. Has no effect in browsers other than Internet Explorer.
      Parameters:
        `fastCellUpdates` - whether to enable fastCellUpdates.. Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setFetchDelay

          public void setFetchDelay(int fetchDelay)

      If we're showing the filterEditor (`showFilterEditor` is true), and we're re-filtering on every keypress (`filterOnKeypress` is true), this property is the delay in milliseconds between the user changing the filter and the filter request being kicked off. If multiple changes are made to the filter within this fetch delay, only the most recent will actually cause a re-filter

      Note : This is an advanced setting

      Parameters:
        `fetchDelay` - Default value is 300

    - #### getFetchDelay

          public int getFetchDelay()

      If we're showing the filterEditor (`showFilterEditor` is true), and we're re-filtering on every keypress (`filterOnKeypress` is true), this property is the delay in milliseconds between the user changing the filter and the filter request being kicked off. If multiple changes are made to the filter within this fetch delay, only the most recent will actually cause a re-filter
      Returns:
        int

    - #### setFieldPickerFieldProperties

          public void setFieldPickerFieldProperties(java.lang.String... fieldPickerFieldProperties)
                                             throws java.lang.IllegalStateException

      Names of properties on `ListGridField` for which the `FieldPicker` should show an editing interface, for convenience.

      For example, specify ["frozen", "decimalPrecision"] to allow end users to modify `frozen` and `decimalPrecision` respectively.

      Parameters:
        `fieldPickerFieldProperties` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFieldPickerFieldProperties

          public java.lang.String[] getFieldPickerFieldProperties()

      Names of properties on `ListGridField` for which the `FieldPicker` should show an editing interface, for convenience.

      For example, specify ["frozen", "decimalPrecision"] to allow end users to modify `frozen` and `decimalPrecision` respectively.

      Returns:
        String...

    - #### setFieldPickerShowSampleValues

          public void setFieldPickerShowSampleValues(java.lang.Boolean fieldPickerShowSampleValues)
                                              throws java.lang.IllegalStateException

      When set to false, sample values of the FieldPicker are never shown. This property applies to the entire FieldPicker.
      Parameters:
        `fieldPickerShowSampleValues` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFieldPickerShowSampleValues

          public java.lang.Boolean getFieldPickerShowSampleValues()

      When set to false, sample values of the FieldPicker are never shown. This property applies to the entire FieldPicker.
      Returns:
        Boolean

    - #### getFieldPickerWindow

          public FieldPickerWindow getFieldPickerWindow()
                                                 throws java.lang.IllegalStateException

      Instance of `FieldPickerWindow` used if `useAdvancedFieldPicker` is set.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        FieldPickerWindow
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setFields

          public void setFields(ListGridField... fields)

      An array of field objects, specifying the order, layout, formatting, and sorting behavior of each field in the listGrid object. In ListGrids, the fields array specifies columns. Each field in the fields array is a ListGridField object. Any listGrid that will display data should have at least one visible field.

      If `dataSource` is also set, this value acts as a set of overrides as explained in `fields`.
      If this method is called after the component has been drawn/initialized: Sets the fields array and/or field widths to newFields and sizes, respectively.
      If newFields is specified, it is assumed that the new fields may have nothing in common with the old fields, and the component is substantially rebuilt. Furthermore, it's invalid to modify any of the existing `ListGridField`s after they've been passed to this function. Consider the following methods for more efficient, more incremental changes: `ListGrid.resizeField()`, `ListGrid.reorderField()`, `ListGrid.showField()`, `ListGrid.hideField()`, or `ListGrid.setFieldProperties()`.

      Parameters:
        `fields` - array of fields to draw. Default value is null
      See Also:
        `ListGridField`, `setFields(com.smartgwt.client.widgets.grid.ListGridField...)`, `Databinding overview and related methods`, ListGrid fields Example, Merged fields Example

    - #### getFields

          public ListGridField[] getFields()

      An array of field objects, specifying the order, layout, formatting, and sorting behavior of each field in the listGrid object. In ListGrids, the fields array specifies columns. Each field in the fields array is a ListGridField object. Any listGrid that will display data should have at least one visible field.

      If `dataSource` is also set, this value acts as a set of overrides as explained in `fields`.

      Returns:
        ListGridField...
      See Also:
        `ListGridField`, `setFields(com.smartgwt.client.widgets.grid.ListGridField...)`, `Databinding overview and related methods`, ListGrid fields Example, Merged fields Example

    - #### setFieldState

          public void setFieldState(java.lang.String fieldState)

      Initial `field state` for the grid.

      `viewState` can be used to initialize all view properties of the grid. When doing so, `fieldState` is not needed because `viewState` includes it as well. If both are provided, `fieldState` has priority for field state.
      If this method is called after the component has been drawn/initialized: Sets some presentation properties (visibility, width, userFormula and userSummary) of the listGrid fields based on the `ListGridFieldState` object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getFieldState()`.

      Parameters:
        `fieldState` - state to apply to the listGrid's fields.. Default value is null

    - #### getFieldState

          public java.lang.String getFieldState()

      Initial `field state` for the grid.

      `viewState` can be used to initialize all view properties of the grid. When doing so, `fieldState` is not needed because `viewState` includes it as well. If both are provided, `fieldState` has priority for field state.

      Returns:
        Returns a snapshot of the current presentation of this listGrid's fields as a `ListGridFieldState` object.

        This object can later be passed to `ListGrid.setFieldState()` to reset this grid's fields to the current state.

        Note that the information stored includes the current width and visibility of each of this grid's fields, as well as any `formula` or `summary fields` added by the user.

    - #### setFieldVisibilitySubmenuTitle

          public void setFieldVisibilitySubmenuTitle(java.lang.String fieldVisibilitySubmenuTitle)

      If we're showing a `headerContextMenu` for this grid, and `this.canPickFields` is true, this attribute will be shown as the title for the menu item which contains a submenu with items allowing the user to show and hide fields in the grid.
      Parameters:
        `fieldVisibilitySubmenuTitle` - Default value is "Columns"

    - #### getFieldVisibilitySubmenuTitle

          public java.lang.String getFieldVisibilitySubmenuTitle()

      If we're showing a `headerContextMenu` for this grid, and `this.canPickFields` is true, this attribute will be shown as the title for the menu item which contains a submenu with items allowing the user to show and hide fields in the grid.
      Returns:
        String

    - #### setFilterButtonPrompt

          public void setFilterButtonPrompt(java.lang.String filterButtonPrompt)
                                     throws java.lang.IllegalStateException

      The prompt to show when the mouse hovers over the Filter button in the FilterEditor.
      Parameters:
        `filterButtonPrompt` - Default value is "Filter"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFilterButtonPrompt

          public java.lang.String getFilterButtonPrompt()

      The prompt to show when the mouse hovers over the Filter button in the FilterEditor.
      Returns:
        String

    - #### setFilterButtonProperties

          public void setFilterButtonProperties(Button filterButtonProperties)
                                         throws java.lang.IllegalStateException

      If `showFilterEditor` is true, this attribute may be used to customize the filter button shown to the right of the filterEditor row.
      Parameters:
        `filterButtonProperties` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFilterButtonProperties

          public Button getFilterButtonProperties()

      If `showFilterEditor` is true, this attribute may be used to customize the filter button shown to the right of the filterEditor row.
      Returns:
        Button

    - #### setFilterByCell

          public void setFilterByCell(java.lang.Boolean filterByCell)

      If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user puts focus in a different field in the filter editor.

      Note : This is an advanced setting

      Parameters:
        `filterByCell` - Default value is null

    - #### getFilterByCell

          public java.lang.Boolean getFilterByCell()

      If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user puts focus in a different field in the filter editor.
      Returns:
        Boolean

    - #### getFilterEditor

          public RecordEditor getFilterEditor()
                                       throws java.lang.IllegalStateException

      If `showFilterEditor` is set to true, the `filterEditor` is automatically created as an AutoChild.
      Developers may customize the AutoChild using `filterEditorProperties`.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        RecordEditor
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setFilterEditorHeight

          public void setFilterEditorHeight(int filterEditorHeight)

      Height for the filterEditor, if shown.
      Parameters:
        `filterEditorHeight` - Default value is 22

    - #### getFilterEditorHeight

          public int getFilterEditorHeight()

      Height for the filterEditor, if shown.
      Returns:
        int

    - #### setFilterEditorProperties

          public void setFilterEditorProperties(RecordEditor filterEditorProperties)
                                         throws java.lang.IllegalStateException

      Properties to apply to the automatically generated `filterEditor` if `showFilterEditor` is true.
      Parameters:
        `filterEditorProperties` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFilterEditorProperties

          public RecordEditor getFilterEditorProperties()

      Properties to apply to the automatically generated `filterEditor` if `showFilterEditor` is true.
      Returns:
        RecordEditor

    - #### setFilterLocalData

          public void setFilterLocalData(java.lang.Boolean filterLocalData)

      If this grid has its `data property` set to a static array of records, should `ListGrid.filterData()` filter this array?

      If this property is set to true, the static data array is applied as the `complete dataset` of a `ResultSet`, which is then filtered according to the specified criteria, and the results displayed. If false, a normal databound fetch will occur, retrieving records that match the specified criteria from this component's `dataSource`.

      If this property is not explicitly set, default behavior will filter against the dataSource unless the grid has a specified `dataPath`, in which case filtering will occur locally.

      Note that a specified `dataSource` is required for filtering to occur even when filtering a local data array.

      Parameters:
        `filterLocalData` - Default value is null

    - #### getFilterLocalData

          public java.lang.Boolean getFilterLocalData()

      If this grid has its `data property` set to a static array of records, should `ListGrid.filterData()` filter this array?

      If this property is set to true, the static data array is applied as the `complete dataset` of a `ResultSet`, which is then filtered according to the specified criteria, and the results displayed. If false, a normal databound fetch will occur, retrieving records that match the specified criteria from this component's `dataSource`.

      If this property is not explicitly set, default behavior will filter against the dataSource unless the grid has a specified `dataPath`, in which case filtering will occur locally.

      Note that a specified `dataSource` is required for filtering to occur even when filtering a local data array.

      Returns:
        Boolean

    - #### setFilterOnKeypress

          public void setFilterOnKeypress(java.lang.Boolean filterOnKeypress)

      If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user modifies the value in a field of the filter-editor. Can also be set at the field level.

      Note : This is an advanced setting

      Parameters:
        `filterOnKeypress` - Default value is null

    - #### getFilterOnKeypress

          public java.lang.Boolean getFilterOnKeypress()

      If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user modifies the value in a field of the filter-editor. Can also be set at the field level.
      Returns:
        Boolean

    - #### setFixedFieldWidths

          public void setFixedFieldWidths(java.lang.Boolean fixedFieldWidths)

      Should we horizontally clip cell contents, or allow columns to expand horizontally to show all contents?

      If we allow columns to expand, the column width is treated as a minimum.

      NOTE: the header does not automatically respond to expanded field widths. If your grid is showing a header we'd recommend developers consider setting `autoFitFieldWidths` rather than using this attribute.

      Note : This is an advanced setting

      Parameters:
        `fixedFieldWidths` - Default value is true

    - #### getFixedFieldWidths

          public java.lang.Boolean getFixedFieldWidths()

      Should we horizontally clip cell contents, or allow columns to expand horizontally to show all contents?

      If we allow columns to expand, the column width is treated as a minimum.

      NOTE: the header does not automatically respond to expanded field widths. If your grid is showing a header we'd recommend developers consider setting `autoFitFieldWidths` rather than using this attribute.

      Returns:
        Boolean

    - #### setFixedRecordHeights

          public void setFixedRecordHeights(java.lang.Boolean fixedRecordHeights)

      Should we vertically clip cell contents, or allow rows to expand vertically to show all contents?

      If we allow rows to expand, the row height as derived from `getRowHeight()` or the default `cellHeight` is treated as a minimum.

      Setting `fixedRecordHeights` to false enables the `virtualScrolling` system.

      NOTE:

      - Setting fixedRecordHeights to false for `CubeGrid` is not supported, though a similar option for the row headers is available as `autoSizeHeaders`.
      - By default, for performance reasons, clipping is not enforced for some kinds of content (such as images) on all browsers. Set `enforceVClipping:true` to enforce clipping for all types of content on all browsers.

      Note : This is an advanced setting

      Parameters:
        `fixedRecordHeights` - Default value is true
      See Also:
        Cell Values Example

    - #### getFixedRecordHeights

          public java.lang.Boolean getFixedRecordHeights()

      Should we vertically clip cell contents, or allow rows to expand vertically to show all contents?

      If we allow rows to expand, the row height as derived from `getRowHeight()` or the default `cellHeight` is treated as a minimum.

      Setting `fixedRecordHeights` to false enables the `virtualScrolling` system.

      NOTE:

      - Setting fixedRecordHeights to false for `CubeGrid` is not supported, though a similar option for the row headers is available as `autoSizeHeaders`.
      - By default, for performance reasons, clipping is not enforced for some kinds of content (such as images) on all browsers. Set `enforceVClipping:true` to enforce clipping for all types of content on all browsers.
      Returns:
        Boolean
      See Also:
        Cell Values Example

    - #### setFormulaBuilderSpanTitleSeparator

          public void setFormulaBuilderSpanTitleSeparator(java.lang.String formulaBuilderSpanTitleSeparator)

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInFormulaBuilder` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid in the FormulaBuilder and SummaryBuilder.
      Parameters:
        `formulaBuilderSpanTitleSeparator` - Default value is " - "

    - #### getFormulaBuilderSpanTitleSeparator

          public java.lang.String getFormulaBuilderSpanTitleSeparator()

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInFormulaBuilder` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid in the FormulaBuilder and SummaryBuilder.
      Returns:
        String

    - #### setFreezeFieldText

          public void setFreezeFieldText(java.lang.String freezeFieldText)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Freeze " + the field's summary title.

      Note : This is an advanced setting

      Parameters:
        `freezeFieldText` - See `HTMLString` . Default value is "Freeze ${title}"

    - #### getFreezeFieldText

          public java.lang.String getFreezeFieldText()

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Freeze " + the field's summary title.

      Returns:
        See `HTMLString`

    - #### setFreezeOnLeftText

          public void setFreezeOnLeftText(java.lang.String freezeOnLeftText)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the left of the scrollable body.
      Parameters:
        `freezeOnLeftText` - Default value is "Freeze on left"

    - #### getFreezeOnLeftText

          public java.lang.String getFreezeOnLeftText()

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the left of the scrollable body.
      Returns:
        String

    - #### setFreezeOnRightText

          public void setFreezeOnRightText(java.lang.String freezeOnRightText)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the right of the scrollable body.
      Parameters:
        `freezeOnRightText` - Default value is "Freeze on right"

    - #### getFreezeOnRightText

          public java.lang.String getFreezeOnRightText()

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the right of the scrollable body.
      Returns:
        String

    - #### setFrozenBaseStyle

          public void setFrozenBaseStyle(java.lang.String frozenBaseStyle)

      If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields. If unset, the standard base style will be used for both frozen and unfrozen cells.
      Parameters:
        `frozenBaseStyle` - Default value is null
      See Also:
        `setBaseStyle(java.lang.String)`, `ListGridField.setFrozen(java.lang.Boolean)`, `Appearance overview and related methods`

    - #### getFrozenBaseStyle

          public java.lang.String getFrozenBaseStyle()

      If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields. If unset, the standard base style will be used for both frozen and unfrozen cells.
      Returns:
        String
      See Also:
        `getBaseStyle()`, `ListGridField.getFrozen()`, `Appearance overview and related methods`

    - #### setFrozenHeaderBaseStyle

          public void setFrozenHeaderBaseStyle(java.lang.String frozenHeaderBaseStyle)
                                        throws java.lang.IllegalStateException

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields. If unset, the standard headerBaseStyle will be used for both frozen and unfrozen cells.
      Parameters:
        `frozenHeaderBaseStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setHeaderBaseStyle(java.lang.String)`, `ListGridField.setFrozen(java.lang.Boolean)`, `GridHeader overview and related methods`

    - #### getFrozenHeaderBaseStyle

          public java.lang.String getFrozenHeaderBaseStyle()

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields. If unset, the standard headerBaseStyle will be used for both frozen and unfrozen cells.
      Returns:
        See `CSSStyleName`
      See Also:
        `getHeaderBaseStyle()`, `ListGridField.getFrozen()`, `GridHeader overview and related methods`

    - #### setFrozenHeaderTitleStyle

          public void setFrozenHeaderTitleStyle(java.lang.String frozenHeaderTitleStyle)
                                         throws java.lang.IllegalStateException

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields. If unset, the standard headerTitleStyle will be used for both frozen and unfrozen cells.
      Parameters:
        `frozenHeaderTitleStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setHeaderTitleStyle(java.lang.String)`, `ListGridField.setFrozen(java.lang.Boolean)`, `GridHeader overview and related methods`

    - #### getFrozenHeaderTitleStyle

          public java.lang.String getFrozenHeaderTitleStyle()

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields. If unset, the standard headerTitleStyle will be used for both frozen and unfrozen cells.
      Returns:
        See `CSSStyleName`
      See Also:
        `getHeaderTitleStyle()`, `ListGridField.getFrozen()`, `GridHeader overview and related methods`

    - #### setGenerateClickOnEnter

          public void setGenerateClickOnEnter(java.lang.Boolean generateClickOnEnter)

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.

      Note : This is an advanced setting

      Parameters:
        `generateClickOnEnter` - Default value is false

    - #### getGenerateClickOnEnter

          public java.lang.Boolean getGenerateClickOnEnter()

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.
      Returns:
        Boolean

    - #### setGenerateClickOnSpace

          public void setGenerateClickOnSpace(java.lang.Boolean generateClickOnSpace)

      If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.

      Note : This is an advanced setting

      Parameters:
        `generateClickOnSpace` - Default value is true

    - #### getGenerateClickOnSpace

          public java.lang.Boolean getGenerateClickOnSpace()

      If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.
      Returns:
        Boolean

    - #### setGenerateDoubleClickOnEnter

          public void setGenerateDoubleClickOnEnter(java.lang.Boolean generateDoubleClickOnEnter)

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.

      Note : This is an advanced setting

      Parameters:
        `generateDoubleClickOnEnter` - Default value is true

    - #### getGenerateDoubleClickOnEnter

          public java.lang.Boolean getGenerateDoubleClickOnEnter()

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.
      Returns:
        Boolean

    - #### setGenerateDoubleClickOnSpace

          public void setGenerateDoubleClickOnSpace(java.lang.Boolean generateDoubleClickOnSpace)

      If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.

      Note : This is an advanced setting

      Parameters:
        `generateDoubleClickOnSpace` - Default value is false

    - #### getGenerateDoubleClickOnSpace

          public java.lang.Boolean getGenerateDoubleClickOnSpace()

      If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.
      Returns:
        Boolean

    - #### setGridComponents

          public void setGridComponents(ListGridComponent... gridComponents)
                                 throws java.lang.IllegalStateException

      Array of components that make up this grid. This array controls which standard and/or custom parts will be displayed within this ListGrid.

      ListGrid is a subclass of `VLayout` and consists of a number of member components. The standard set of members are automatically generated by the grid, and include (for example) the header (a Toolbar of buttons for each field) and the body (a GridRenderer displaying the actual data contained in the grid).
      The default value of `gridComponents` is an Array of `ListGridComponent`s listing the standard components in their default order:

               [ListGridComponent.FILTER_EDITOR, ListGridComponent.HEADER, ListGridComponent.BODY,
                ListGridComponent.SUMMARY_ROW]

      You can override `gridComponents` to change the order of standard components. You can also omit standard components this way, although it more efficient to use the related "show" property if available (eg `showFilterEditor`). Note that this array must contain an entry for the `"body"` - listGrids with no body showing are unsupported.
      Advanced note: The live components generated for each of these standard `ListGridComponent` types may differ across different listGrids. For example if this grid has any `frozen fields`, the "body" entry will actually be created as an HLayout containing two GridRenderers (one for frozen fields, and one for unfrozen fields). This is really an implementation detail - the "body" entry in the gridComponents array simply specifies where the UI for the body should render within the ListGrid layout.

      By embedding a Canvas directly in this list you can add arbitrary additional components to the listGrid as members, and have them be displayed alongside the standard automatically generated parts of the ListGrid.

      Note that having added controls to gridComponents, you can still call APIs directly on those controls to change their appearance, and you can also show() and hide() them if they should not be shown in some circumstances.

      Tip: custom controls need to set layoutAlign:"center" to appear vertically centered.

      Parameters:
        `gridComponents` - Default value is (see below)
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getGridComponents

          public ListGridComponent[] getGridComponents()

      Array of components that make up this grid. This array controls which standard and/or custom parts will be displayed within this ListGrid.

      ListGrid is a subclass of `VLayout` and consists of a number of member components. The standard set of members are automatically generated by the grid, and include (for example) the header (a Toolbar of buttons for each field) and the body (a GridRenderer displaying the actual data contained in the grid).
      The default value of `gridComponents` is an Array of `ListGridComponent`s listing the standard components in their default order:

               [ListGridComponent.FILTER_EDITOR, ListGridComponent.HEADER, ListGridComponent.BODY,
                ListGridComponent.SUMMARY_ROW]

      You can override `gridComponents` to change the order of standard components. You can also omit standard components this way, although it more efficient to use the related "show" property if available (eg `showFilterEditor`). Note that this array must contain an entry for the `"body"` - listGrids with no body showing are unsupported.
      Advanced note: The live components generated for each of these standard `ListGridComponent` types may differ across different listGrids. For example if this grid has any `frozen fields`, the "body" entry will actually be created as an HLayout containing two GridRenderers (one for frozen fields, and one for unfrozen fields). This is really an implementation detail - the "body" entry in the gridComponents array simply specifies where the UI for the body should render within the ListGrid layout.

      By embedding a Canvas directly in this list you can add arbitrary additional components to the listGrid as members, and have them be displayed alongside the standard automatically generated parts of the ListGrid.

      Note that having added controls to gridComponents, you can still call APIs directly on those controls to change their appearance, and you can also show() and hide() them if they should not be shown in some circumstances.

      Tip: custom controls need to set layoutAlign:"center" to appear vertically centered.

      Returns:
        ListGridComponent...

    - #### setGridComponents

          public void setGridComponents(java.lang.Object... gridComponents)
                                 throws java.lang.IllegalStateException

      Array of components that make up this grid. This array controls which standard and/or custom parts will be displayed within this ListGrid.

      ListGrid is a subclass of `VLayout` and consists of a number of member components. The standard set of members are automatically generated by the grid, and include (for example) the header (a Toolbar of buttons for each field) and the body (a GridRenderer displaying the actual data contained in the grid).
      The default value of `gridComponents` is an Array of `ListGridComponent`s listing the standard components in their default order:

               [ListGridComponent.FILTER_EDITOR, ListGridComponent.HEADER, ListGridComponent.BODY,
                ListGridComponent.SUMMARY_ROW]

      You can override `gridComponents` to change the order of standard components. You can also omit standard components this way, although it more efficient to use the related "show" property if available (eg `showFilterEditor`). Note that this array must contain an entry for the `"body"` - listGrids with no body showing are unsupported.
      Advanced note: The live components generated for each of these standard `ListGridComponent` types may differ across different listGrids. For example if this grid has any `frozen fields`, the "body" entry will actually be created as an HLayout containing two GridRenderers (one for frozen fields, and one for unfrozen fields). This is really an implementation detail - the "body" entry in the gridComponents array simply specifies where the UI for the body should render within the ListGrid layout.

      By embedding a Canvas directly in this list you can add arbitrary additional components to the listGrid as members, and have them be displayed alongside the standard automatically generated parts of the ListGrid.

      Note that having added controls to gridComponents, you can still call APIs directly on those controls to change their appearance, and you can also show() and hide() them if they should not be shown in some circumstances.

      Tip: custom controls need to set layoutAlign:"center" to appear vertically centered.

      Parameters:
        `gridComponents` - Default value is (see below)
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setGridSummaryRecordProperty

          public void setGridSummaryRecordProperty(java.lang.String gridSummaryRecordProperty)

      If `showGridSummary` is true, this attribute will be set to true on the record object representing the grid summary row.
      Parameters:
        `gridSummaryRecordProperty` - Default value is "isGridSummary"

    - #### getGridSummaryRecordProperty

          public java.lang.String getGridSummaryRecordProperty()

      If `showGridSummary` is true, this attribute will be set to true on the record object representing the grid summary row.
      Returns:
        String

    - #### setGroupByAsyncThreshold

          public void setGroupByAsyncThreshold(int groupByAsyncThreshold)

      When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.

      Note that `groupByMaxRecords` must be set at least as high as `groupByAsyncThreshold` or asynchronous grouping will never be used.

      During asynch grouping, interactivity is blocked and the `asynchGroupingPrompt` is shown to the user, then hidden when grouping completes; `ListGrid.groupByComplete()` then fires.

      Note that this async processing covers grouping only - it does not cover whole grid or per-group summaries, client-side sort or filter, or other operations that may cause the browser to show the "script is running slowly" prompt when working with very large sets of records in a grid.

      At this time, there is no generally effective way to avoid this warning dialog appearing with very large datasets in Microsoft's Internet Explorer (IE). IE's severely flawed detection algorithm for runaway scripts has been shown to interrupt computations after only 0.2 seconds elapsed time even if the computation would have finished in 0.3 seconds. Optimizations that reduce execution time can sometimes trigger the "script running slowly" dialog sooner. Since not every operation can reasonably be made asychronous, the current recommendation is to avoid working with overly large datasets until the affected versions of IE are obsoleted.

      Parameters:
        `groupByAsyncThreshold` - Default value is 50

    - #### getGroupByAsyncThreshold

          public int getGroupByAsyncThreshold()

      When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.

      Note that `groupByMaxRecords` must be set at least as high as `groupByAsyncThreshold` or asynchronous grouping will never be used.

      During asynch grouping, interactivity is blocked and the `asynchGroupingPrompt` is shown to the user, then hidden when grouping completes; `ListGrid.groupByComplete()` then fires.

      Note that this async processing covers grouping only - it does not cover whole grid or per-group summaries, client-side sort or filter, or other operations that may cause the browser to show the "script is running slowly" prompt when working with very large sets of records in a grid.

      At this time, there is no generally effective way to avoid this warning dialog appearing with very large datasets in Microsoft's Internet Explorer (IE). IE's severely flawed detection algorithm for runaway scripts has been shown to interrupt computations after only 0.2 seconds elapsed time even if the computation would have finished in 0.3 seconds. Optimizations that reduce execution time can sometimes trigger the "script running slowly" dialog sooner. Since not every operation can reasonably be made asychronous, the current recommendation is to avoid working with overly large datasets until the affected versions of IE are obsoleted.

      Returns:
        int

    - #### setGroupByField

          public void setGroupByField(java.lang.String groupByField)
                               throws java.lang.IllegalStateException

      List of fields to group grid records. If only a single field is used, that field may be specified as a string. After initialization, use `ListGrid.groupBy()` to update the grouping field list, instead of modifying groupByField directly.
      Parameters:
        `groupByField` - Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `groupBy(java.lang.String...)`, Dynamic Grouping Example

    - #### setGroupByField

          public void setGroupByField(java.lang.String... groupByField)
                               throws java.lang.IllegalStateException

      List of fields to group grid records. If only a single field is used, that field may be specified as a string. After initialization, use `ListGrid.groupBy()` to update the grouping field list, instead of modifying groupByField directly.
      Parameters:
        `groupByField` - Default value is see below
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `groupBy(java.lang.String...)`, Dynamic Grouping Example

    - #### setGroupByFieldSummaries

          public void setGroupByFieldSummaries(java.lang.String... groupByFieldSummaries)

      If this grid is `grouped`, and `showGroupSummary` is true, this attribute may be set to an array of groupBy field names for which group summaries should appear.

      This is particularly useful for listGrids grouped by more than one field as it allows developers to display the group summary for a particular nested group without showing a summary for every level of the tree.
      If this method is called after the component has been drawn/initialized: Setter for the `groupByFieldSummaries` attribute

      Note : This is an advanced setting

      Parameters:
        `groupByFieldSummaries` - new value for this.groupByFieldSummaries. Default value is null
      See Also:
        `setShowGroupSummary(java.lang.Boolean)`

    - #### getGroupByFieldSummaries

          public java.lang.String[] getGroupByFieldSummaries()

      If this grid is `grouped`, and `showGroupSummary` is true, this attribute may be set to an array of groupBy field names for which group summaries should appear.

      This is particularly useful for listGrids grouped by more than one field as it allows developers to display the group summary for a particular nested group without showing a summary for every level of the tree.

      Returns:
        String...
      See Also:
        `getShowGroupSummary()`

    - #### setGroupByMaxRecords

          public void setGroupByMaxRecords(int groupByMaxRecords)

      Maximum number of records to which a groupBy can be applied. If there are more records, grouping will not be available via the default header context menu, and calls to `ListGrid.groupBy()` will be ignored.

      The maximum exists because ListGrid grouping is performed in-browser, hence requires loading of all records that match the current filter criteria before records can be grouped. The default maximum represents a number of records which are safe to load in legacy browsers such as Internet Explorer 8 (modern browsers can handle far more), and is also a good upper limit from the perspective of loading data from a database.

      Going beyond this limit can cause "script running slowly" errors from legacy browsers (as well as high database load). To build an interface for grouping that handles arbitrary data volume, use a TreeGrid with `loadDataOnDemand` with server-side grouping code.

      Parameters:
        `groupByMaxRecords` - Default value is 1000
      See Also:
        `groupBy(java.lang.String...)`

    - #### getGroupByMaxRecords

          public int getGroupByMaxRecords()

      Maximum number of records to which a groupBy can be applied. If there are more records, grouping will not be available via the default header context menu, and calls to `ListGrid.groupBy()` will be ignored.

      The maximum exists because ListGrid grouping is performed in-browser, hence requires loading of all records that match the current filter criteria before records can be grouped. The default maximum represents a number of records which are safe to load in legacy browsers such as Internet Explorer 8 (modern browsers can handle far more), and is also a good upper limit from the perspective of loading data from a database.

      Going beyond this limit can cause "script running slowly" errors from legacy browsers (as well as high database load). To build an interface for grouping that handles arbitrary data volume, use a TreeGrid with `loadDataOnDemand` with server-side grouping code.

      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`

    - #### setGroupByText

          public void setGroupByText(java.lang.String groupByText)

      If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Group by " + the field's summary title.

      Note : This is an advanced setting

      Parameters:
        `groupByText` - See `HTMLString` . Default value is "Group by ${title}"

    - #### getGroupByText

          public java.lang.String getGroupByText()

      If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Group by " + the field's summary title.

      Returns:
        If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.
        Default implementation evaluates and returns the dynamic `groupByText` string. See `HTMLString`

    - #### setGroupIcon

          public void setGroupIcon(java.lang.String groupIcon)

      The URL of the base icon for the group icons in this listGrid. Default value may be overridden by the `current skin`.
      Parameters:
        `groupIcon` - See `SCImgURL` . Default value is "[SKINIMG]/TreeGrid/opener.gif"

    - #### getGroupIcon

          public java.lang.String getGroupIcon()

      The URL of the base icon for the group icons in this listGrid. Default value may be overridden by the `current skin`.
      Returns:
        See `SCImgURL`

    - #### setGroupIconSize

          public void setGroupIconSize(int groupIconSize)

      Default width and height of group icons for this ListGrid.
      Parameters:
        `groupIconSize` - Default value is 16
      See Also:
        `groupBy(java.lang.String...)`

    - #### getGroupIconSize

          public int getGroupIconSize()

      Default width and height of group icons for this ListGrid.
      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`

    - #### setGroupIndentSize

          public void setGroupIndentSize(int groupIndentSize)

      Default number of pixels by which to indent subgroups relative to parent group.
      Parameters:
        `groupIndentSize` - Default value is 20
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### getGroupIndentSize

          public int getGroupIndentSize()

      Default number of pixels by which to indent subgroups relative to parent group.
      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### setGroupLeadingIndent

          public void setGroupLeadingIndent(int groupLeadingIndent)

      Default number of pixels by which to indent all groups.
      Parameters:
        `groupLeadingIndent` - Default value is 10
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### getGroupLeadingIndent

          public int getGroupLeadingIndent()

      Default number of pixels by which to indent all groups.
      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### setGroupNodeBaseStyle

          public void setGroupNodeBaseStyle(java.lang.String groupNodeBaseStyle)

      `Base style` for `group` rows.

      Note that this property has no effect if `groupNodeStyle` is non null.

      Parameters:
        `groupNodeBaseStyle` - Default value is null

    - #### getGroupNodeBaseStyle

          public java.lang.String getGroupNodeBaseStyle()

      `Base style` for `group` rows.

      Note that this property has no effect if `groupNodeStyle` is non null.

      Returns:
        String

    - #### setGroupNodeStyle

          public void setGroupNodeStyle(java.lang.String groupNodeStyle)

      The CSS style that `group` rows will have.

      Note that this is not a `base style`, so, if this property is set, group nodes will not show stateful styling (different styles for `showRollOver`, `alternateRecordStyles`, etc). To enable stateful styling for groupNodes, set this property to `null` and specify a `groupNodeBaseStyle`

      Parameters:
        `groupNodeStyle` - Default value is "groupNode"

    - #### getGroupNodeStyle

          public java.lang.String getGroupNodeStyle()

      The CSS style that `group` rows will have.

      Note that this is not a `base style`, so, if this property is set, group nodes will not show stateful styling (different styles for `showRollOver`, `alternateRecordStyles`, etc). To enable stateful styling for groupNodes, set this property to `null` and specify a `groupNodeBaseStyle`

      Returns:
        String

    - #### setGroupSortDirection

          public void setGroupSortDirection(SortDirection groupSortDirection)

      When `sortByGroupFirst` is active, the sorting direction applied for implicit sorting by the field(s) used for grouping. Default of null means that sort direction is based on the current direction of user-configured sort, or is "ascending" if the user has not sorted the data.
      Parameters:
        `groupSortDirection` - Default value is null

    - #### getGroupSortDirection

          public SortDirection getGroupSortDirection()

      When `sortByGroupFirst` is active, the sorting direction applied for implicit sorting by the field(s) used for grouping. Default of null means that sort direction is based on the current direction of user-configured sort, or is "ascending" if the user has not sorted the data.
      Returns:
        SortDirection

    - #### setGroupState

          public void setGroupState(java.lang.String groupState)

      Initial group state for the grid.

      `viewState` can be used to initialize all view properties of the grid. When doing so, `groupState` is not needed because `viewState` includes it as well. If both are provided, `groupState` has priority for group state.
      If this method is called after the component has been drawn/initialized: Reset this grid's grouping to match the `ListGridGroupState` object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getGroupState()`.

      Parameters:
        `groupState` - Object describing the desired grouping state of the grid See `ListGridGroupState` . Default value is null

    - #### getGroupState

          public java.lang.String getGroupState()

      Initial group state for the grid.

      `viewState` can be used to initialize all view properties of the grid. When doing so, `groupState` is not needed because `viewState` includes it as well. If both are provided, `groupState` has priority for group state.

      Returns:
        Returns a snapshot of the current grouping state of this ListGrid.
        This object can be passed to `ListGrid.setGroupState()` to reset this grid's grouping to the current state (assuming the same data / fields are present in the grid).
        See `ListGridGroupState`

    - #### setGroupSummaryRecordProperty

          public void setGroupSummaryRecordProperty(java.lang.String groupSummaryRecordProperty)

      If `showGroupSummary` is true, this attribute will be set to true on each record object representing a group-level summary row.
      Parameters:
        `groupSummaryRecordProperty` - Default value is "isGroupSummary"

    - #### getGroupSummaryRecordProperty

          public java.lang.String getGroupSummaryRecordProperty()

      If `showGroupSummary` is true, this attribute will be set to true on each record object representing a group-level summary row.
      Returns:
        String

    - #### setGroupSummaryStyle

          public void setGroupSummaryStyle(java.lang.String groupSummaryStyle)
                                    throws java.lang.IllegalStateException

      `customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
      Parameters:
        `groupSummaryStyle` - See `CSSStyleName` . Default value is "gridSummaryCell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getGroupSummaryStyle

          public java.lang.String getGroupSummaryStyle()

      `customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
      Returns:
        See `CSSStyleName`

    - #### setGroupTitleColumnProperties

          public void setGroupTitleColumnProperties(ListGridField groupTitleColumnProperties)
                                             throws java.lang.IllegalStateException

      Custom properties for the automatically generated `groupTitleColumn`.

      See `showGroupTitleColumn` for an overview of the groupTitleColumn.

      Parameters:
        `groupTitleColumnProperties` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getGroupTitleColumnProperties

          public ListGridField getGroupTitleColumnProperties()

      Custom properties for the automatically generated `groupTitleColumn`.

      See `showGroupTitleColumn` for an overview of the groupTitleColumn.

      Returns:
        ListGridField

    - #### setGroupTitleField

          public void setGroupTitleField(java.lang.String groupTitleField)
                                  throws java.lang.IllegalStateException

      When a list grid is `grouped`, each group shows under an auto generated header node. By default the title of the group will be shown, with a hanging indent in this node, and will span all columns in the grid. Setting this property causes the titles of auto-generated group nodes to appear as though they were values of the designated field instead of spanning all columns and record values in the designated groupTitleField will appear indented under the group title in a manner similar to how a TreeGrid shows a Tree.

      Note if `showGroupSummaryInHeader` is true, the header nodes will not show a single spanning title value by default - instead they will show the summary values for each field. In this case, if groupTitleField is unset, a `groupTitleColumn` can be automatically generated to show the title for each group.

      Parameters:
        `groupTitleField` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `groupBy(java.lang.String...)`

    - #### getGroupTitleField

          public java.lang.String getGroupTitleField()

      When a list grid is `grouped`, each group shows under an auto generated header node. By default the title of the group will be shown, with a hanging indent in this node, and will span all columns in the grid. Setting this property causes the titles of auto-generated group nodes to appear as though they were values of the designated field instead of spanning all columns and record values in the designated groupTitleField will appear indented under the group title in a manner similar to how a TreeGrid shows a Tree.

      Note if `showGroupSummaryInHeader` is true, the header nodes will not show a single spanning title value by default - instead they will show the summary values for each field. In this case, if groupTitleField is unset, a `groupTitleColumn` can be automatically generated to show the title for each group.

      Returns:
        String
      See Also:
        `groupBy(java.lang.String...)`

    - #### getHeader

          public Layout getHeader()
                           throws java.lang.IllegalStateException

      A Toolbar used to manager the headers shown for each column of the grid.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Layout
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderAutoFitEvent

          public void setHeaderAutoFitEvent(AutoFitEvent headerAutoFitEvent)
                                     throws java.lang.IllegalStateException

      Event on a ListGrid header that triggers auto fitting to data and/or title.

      Note that if sorting is enabled for the field and the headerAutoFitEvent is "click", both sorting and autofit occur on a click.

      Parameters:
        `headerAutoFitEvent` - Default value is "doubleClick"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderAutoFitEvent

          public AutoFitEvent getHeaderAutoFitEvent()

      Event on a ListGrid header that triggers auto fitting to data and/or title.

      Note that if sorting is enabled for the field and the headerAutoFitEvent is "click", both sorting and autofit occur on a click.

      Returns:
        AutoFitEvent

    - #### setHeaderBackgroundColor

          public void setHeaderBackgroundColor(java.lang.String headerBackgroundColor)

      BackgroundColor for the header toolbar. Typically this is set to match the color of the header buttons.
      Parameters:
        `headerBackgroundColor` - See `Color` . Default value is "#CCCCCC"
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderBackgroundColor

          public java.lang.String getHeaderBackgroundColor()

      BackgroundColor for the header toolbar. Typically this is set to match the color of the header buttons.
      Returns:
        See `Color`
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderBarStyle

          public void setHeaderBarStyle(java.lang.String headerBarStyle)
                                 throws java.lang.IllegalStateException

      Set the CSS style used for the header as a whole.
      Parameters:
        `headerBarStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderBarStyle

          public java.lang.String getHeaderBarStyle()

      Set the CSS style used for the header as a whole.
      Returns:
        See `CSSStyleName`
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderBaseStyle

          public void setHeaderBaseStyle(java.lang.String headerBaseStyle)
                                  throws java.lang.IllegalStateException

      `baseStyle` to apply to the buttons in the header, and the sorter, for this ListGrid. Note that, depending on the `Class` of the header buttons, you may also need to set `headerTitleStyle`.
      Parameters:
        `headerBaseStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderBaseStyle

          public java.lang.String getHeaderBaseStyle()

      `baseStyle` to apply to the buttons in the header, and the sorter, for this ListGrid. Note that, depending on the `Class` of the header buttons, you may also need to set `headerTitleStyle`.
      Returns:
        See `CSSStyleName`
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderButtonProperties

          public void setHeaderButtonProperties(Button headerButtonProperties)
                                         throws java.lang.IllegalStateException

      Properties to apply to all header buttons. Overrides defaults applied via `headerButtonDefaults`.

      Note : This is an advanced setting

      Parameters:
        `headerButtonProperties` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderButtonProperties

          public Button getHeaderButtonProperties()

      Properties to apply to all header buttons. Overrides defaults applied via `headerButtonDefaults`.
      Returns:
        Button
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderContextMenu

          public Canvas getHeaderContextMenu()
                                      throws java.lang.IllegalStateException

      The context menu displayed for column headers.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Canvas
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderHeight

          public void setHeaderHeight(int headerHeight)

      The height of this listGrid's header, in pixels.
      If this method is called after the component has been drawn/initialized: Modify the height of a listGrid. To hide the header set height to zero.
      Parameters:
        `headerHeight` - new height for the header. Default value is 22
      See Also:
        `Sizing overview and related methods`

    - #### getHeaderHeight

          public int getHeaderHeight()

      The height of this listGrid's header, in pixels.
      Returns:
        int
      See Also:
        `Sizing overview and related methods`

    - #### setHeaderHoverAlign

          public void setHeaderHoverAlign(Alignment headerHoverAlign)

      This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverAlign` - Default value is null

    - #### getHeaderHoverAlign

          public Alignment getHeaderHoverAlign()

      This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Alignment

    - #### setHeaderHoverHeight

          public void setHeaderHoverHeight(java.lang.Integer headerHoverHeight)

      Optional default height for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverHeight` - Default value is null

    - #### getHeaderHoverHeight

          public java.lang.Integer getHeaderHoverHeight()

      Optional default height for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Integer

    - #### setHeaderHoverOpacity

          public void setHeaderHoverOpacity(java.lang.Integer headerHoverOpacity)

      This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverOpacity` - Default value is null

    - #### getHeaderHoverOpacity

          public java.lang.Integer getHeaderHoverOpacity()

      This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Integer

    - #### setHeaderHoverStyle

          public void setHeaderHoverStyle(java.lang.String headerHoverStyle)

      This property may be set to customize the css style for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverStyle` - See `CSSStyleName` . Default value is null

    - #### getHeaderHoverStyle

          public java.lang.String getHeaderHoverStyle()

      This property may be set to customize the css style for the hover shown on `ListGrid.headerHover()`.
      Returns:
        See `CSSStyleName`

    - #### setHeaderHoverVAlign

          public void setHeaderHoverVAlign(VerticalAlignment headerHoverVAlign)

      This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverVAlign` - Default value is null

    - #### getHeaderHoverVAlign

          public VerticalAlignment getHeaderHoverVAlign()

      This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover()`.
      Returns:
        VerticalAlignment

    - #### setHeaderHoverWidth

          public void setHeaderHoverWidth(java.lang.Integer headerHoverWidth)

      Optional default width for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverWidth` - Default value is null

    - #### getHeaderHoverWidth

          public java.lang.Integer getHeaderHoverWidth()

      Optional default width for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Integer

    - #### setHeaderHoverWrap

          public void setHeaderHoverWrap(java.lang.Boolean headerHoverWrap)

      This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverWrap` - Default value is null

    - #### getHeaderHoverWrap

          public java.lang.Boolean getHeaderHoverWrap()

      This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Boolean

    - #### getHeaderMenuButton

          public StatefulCanvas getHeaderMenuButton()
                                             throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, when the user rolls over the header buttons in this grid the headerMenuButton will be shown over the header button in question. When clicked this button will display the standard header context menu (see `ListGrid.displayHeaderContextMenu()`).

      `Several properties` exist to customize the appearance of the headerMenuButton. Also see the `com.smartgwt.client.types.AutoChild` documentation for information on how to make freeform modifications to autoChild widgets

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        StatefulCanvas
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setHeaderMenuButtonHeight

          public void setHeaderMenuButtonHeight(int headerMenuButtonHeight)
                                         throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`

      Note : This is an advanced setting

      Parameters:
        `headerMenuButtonHeight` - Default value is "100%"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderMenuButtonHeight

          public int getHeaderMenuButtonHeight()

      If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`
      Returns:
        int

    - #### setHeaderMenuButtonIcon

          public void setHeaderMenuButtonIcon(java.lang.String headerMenuButtonIcon)
                                       throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`

      Note : This is an advanced setting

      Parameters:
        `headerMenuButtonIcon` - Default value is "[SKIN]/ListGrid/headerMenuButton_icon.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderMenuButtonIcon

          public java.lang.String getHeaderMenuButtonIcon()

      If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`
      Returns:
        String

    - #### setHeaderMenuButtonIconHeight

          public void setHeaderMenuButtonIconHeight(int headerMenuButtonIconHeight)
                                             throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`

      Note : This is an advanced setting

      Parameters:
        `headerMenuButtonIconHeight` - Default value is 7
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderMenuButtonIconHeight

          public int getHeaderMenuButtonIconHeight()

      If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`
      Returns:
        int

    - #### setHeaderMenuButtonIconWidth

          public void setHeaderMenuButtonIconWidth(int headerMenuButtonIconWidth)
                                            throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`

      Note : This is an advanced setting

      Parameters:
        `headerMenuButtonIconWidth` - Default value is 7
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderMenuButtonIconWidth

          public int getHeaderMenuButtonIconWidth()

      If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`
      Returns:
        int

    - #### setHeaderMenuButtonWidth

          public void setHeaderMenuButtonWidth(int headerMenuButtonWidth)
                                        throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`

      Note : This is an advanced setting

      Parameters:
        `headerMenuButtonWidth` - Default value is 16
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderMenuButtonWidth

          public int getHeaderMenuButtonWidth()

      If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`
      Returns:
        int

    - #### getHeaderSpan

          public StatefulCanvas getHeaderSpan()

      Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists. See `Using AutoChildren` for details.

      `headerSpans` are created via the `com.smartgwt.client.types.AutoChild` pattern, hence `headerSpanConstructor`, `headerSpanDefaults` and `headerSpanProperties` are valid.

      Returns:
        null

    - #### setHeaderSpanHeight

          public void setHeaderSpanHeight(java.lang.Integer headerSpanHeight)
                                   throws java.lang.IllegalStateException

      Default height for a `headerSpan` with no height specified.

      If `headerSpanHeight` is not specified (the default), headerSpans will be 1/2 of `headerHeight`.

      Parameters:
        `headerSpanHeight` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderSpanHeight

          public java.lang.Integer getHeaderSpanHeight()

      Default height for a `headerSpan` with no height specified.

      If `headerSpanHeight` is not specified (the default), headerSpans will be 1/2 of `headerHeight`.

      Returns:
        Integer

    - #### setHeaderSpans

          public void setHeaderSpans(HeaderSpan... headerSpans)

      Header spans are a second level of headers that appear above the normal ListGrid headers, spanning one or more listGrid fields in a manner similar to a column-spanning cell in an HTML table.

      A header span can be created by simply naming the fields the header should span. The example below creates a headerSpan that spans the first two fields of the ListGrid.

                 ListGrid grid = new ListGrid();
                 grid.setHeaderHeight(40);
                 grid.setFields(new ListGridField[] {
                     new ListGridField("field1"),
                     new ListGridField("field2"),
                     new ListGridField("field3")
                 });
                 grid.setHeaderSpans(new HeaderSpan[] {
                     new HeaderSpan("Field 1 and 2", new String[] {"field1", "field2"})
                 });

            Header spans can be nested, allowing fields to be grouped by multiple levels of
           granularity. See spans for further information on nesting
           spans.

            Header spans will automatically react to resizing of the headers they span, and will be
            hidden automatically when all of the spanned fields are hidden.

           Header spans appear in the header area of the ListGrid,
           sharing space
           with the existing headers, so it's typical to set headerHeight to
            approximately double its normal height when using headerSpans, or if using nested header
            spans, the default header height multiplied by the number of levels of header spans to be
            shown.

            See HeaderSpan for many properties that allow the control of the appearance of
            headerSpans.

            Neither headerSpans themselves nor the fields within them may be drag reordered, but other
            unspanned headers may be.

            A span can only span adjacent fields - if a span is defined and the spanned fields don't
            sit next to each other in the specified fields array, the fields array will be automatically
           reorded to match the order specified in the span's fields
           array.

            Note that headerSpans primarily provide a visual cue for grouping multiple headers
            together.  If you have an OLAP, data "cube" or multi-dimensional data model, the
            CubeGrid component is the right choice.

          If this method is called after the component has been drawn/initialized:
           Update the headerSpans configuration on the grid dynamically.

      Parameters:
        `headerSpans` - same configuration block as that passed to `headerSpans`.. Default value is null

    - #### setHeaderTitleStyle

          public void setHeaderTitleStyle(java.lang.String headerTitleStyle)
                                   throws java.lang.IllegalStateException

      `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid. Note that this will typically only have an effect if `headerButtonConstructor` is set to `StretchImgButton` or a subclass thereof.
      Parameters:
        `headerTitleStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderTitleStyle

          public java.lang.String getHeaderTitleStyle()

      `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid. Note that this will typically only have an effect if `headerButtonConstructor` is set to `StretchImgButton` or a subclass thereof.
      Returns:
        See `CSSStyleName`
      See Also:
        `GridHeader overview and related methods`

    - #### setHiliteCanReplaceValue

          public void setHiliteCanReplaceValue(java.lang.Boolean hiliteCanReplaceValue)
                                        throws java.lang.IllegalStateException

      If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value. For example, a user could create a hilite rule that replaces numeric values ranging from 0.5 to 1.0 with the text "LOW".

      Specifically, when the "Add Advanced Rule" button is pressed and `hiliteCanReplaceValue` is true, the user will see a text entry field titled "Replace value with" (`hiliteReplaceValueFieldTitle`) and if they enter a value, that value will appear in the grid cell in lieue of the cell's original value.

      Parameters:
        `hiliteCanReplaceValue` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteCanReplaceValue

          public java.lang.Boolean getHiliteCanReplaceValue()

      If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value. For example, a user could create a hilite rule that replaces numeric values ranging from 0.5 to 1.0 with the text "LOW".

      Specifically, when the "Add Advanced Rule" button is pressed and `hiliteCanReplaceValue` is true, the user will see a text entry field titled "Replace value with" (`hiliteReplaceValueFieldTitle`) and if they enter a value, that value will appear in the grid cell in lieue of the cell's original value.

      Returns:
        Boolean
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteEditorSpanTitleSeparator

          public void setHiliteEditorSpanTitleSeparator(java.lang.String hiliteEditorSpanTitleSeparator)

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInHiliteEditor` is true, this string will be inserted between the headerSpan title and the field title in the hiliteEditor field chooser grid.
      Parameters:
        `hiliteEditorSpanTitleSeparator` - Default value is " - "

    - #### getHiliteEditorSpanTitleSeparator

          public java.lang.String getHiliteEditorSpanTitleSeparator()

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInHiliteEditor` is true, this string will be inserted between the headerSpan title and the field title in the hiliteEditor field chooser grid.
      Returns:
        String

    - #### setHiliteHTMLAfterFormat

          public void setHiliteHTMLAfterFormat(boolean hiliteHTMLAfterFormat)
                                        throws java.lang.IllegalStateException

      If set to true, custom HTML applied as part of hiliting will be applied after `formatting` for each cell. If false, hilite HTML will be applied before formatting.

      This applies to the following hilite properties:

      - `replacementValue`
      - `htmlBefore`
      - `htmlAfter`
      - `htmlValue`

      May be overridden per field via `hiliteHTMLAfterFormat`

      Parameters:
        `hiliteHTMLAfterFormat` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHiliteHTMLAfterFormat

          public boolean getHiliteHTMLAfterFormat()

      If set to true, custom HTML applied as part of hiliting will be applied after `formatting` for each cell. If false, hilite HTML will be applied before formatting.

      This applies to the following hilite properties:

      - `replacementValue`
      - `htmlBefore`
      - `htmlAfter`
      - `htmlValue`

      May be overridden per field via `hiliteHTMLAfterFormat`

      Returns:
        boolean

    - #### setHiliteIconHeight

          public void setHiliteIconHeight(java.lang.Integer hiliteIconHeight)

      Height for hilite icons for this listGrid. Overrides `hiliteIconSize`. Can be overridden at the field level
      Parameters:
        `hiliteIconHeight` - Default value is null
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconHeight

          public java.lang.Integer getHiliteIconHeight()

      Height for hilite icons for this listGrid. Overrides `hiliteIconSize`. Can be overridden at the field level
      Returns:
        Integer
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconLeftPadding

          public void setHiliteIconLeftPadding(int hiliteIconLeftPadding)

      How much padding should there be on the left of `hilite icons` by default? Can be overridden at the field level
      Parameters:
        `hiliteIconLeftPadding` - Default value is 2
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconLeftPadding

          public int getHiliteIconLeftPadding()

      How much padding should there be on the left of `hilite icons` by default? Can be overridden at the field level
      Returns:
        int
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconPosition

          public void setHiliteIconPosition(HiliteIconPosition hiliteIconPosition)
                                     throws java.lang.IllegalStateException

      When `hiliteIcons` are present, where the hilite icon will be placed relative to the field value. See `HiliteIconPosition`. Can be overriden at the field level.
      Parameters:
        `hiliteIconPosition` - Default value is "before"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconPosition

          public HiliteIconPosition getHiliteIconPosition()

      When `hiliteIcons` are present, where the hilite icon will be placed relative to the field value. See `HiliteIconPosition`. Can be overriden at the field level.
      Returns:
        HiliteIconPosition
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconRightPadding

          public void setHiliteIconRightPadding(int hiliteIconRightPadding)

      How much padding should there be on the right of `hilite icons` by default? Can be overridden at the field level
      Parameters:
        `hiliteIconRightPadding` - Default value is 2
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconRightPadding

          public int getHiliteIconRightPadding()

      How much padding should there be on the right of `hilite icons` by default? Can be overridden at the field level
      Returns:
        int
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIcons

          public void setHiliteIcons(java.lang.String... hiliteIcons)
                              throws java.lang.IllegalStateException

      Specifies a list of icons that can be used in `hilites`.

      `hiliteIcons` should be specified as an Array of `SCImgURL`. When present, the hilite editing interface shown when `DataBoundComponent.editHilites()` is called will offer the user a drop down for picking one of these icons when defining either a simple or advanced hilite rule.

      If the user picks an icon, the created hiliting rule will have `icon` set to the chosen icon. `hiliteIconPosition` controls where the icon will appear for that field -- the default is that it appears in front of the normal cell content. This can also be overriden at the field level.

      Parameters:
        `hiliteIcons` - Default value is ["[SKINIMG]/Dialog/notify.png", "[SKINIMG]/Dialog/warn.png", "[SKINIMG]/actions/approve.png"]
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIcons

          public java.lang.String[] getHiliteIcons()

      Specifies a list of icons that can be used in `hilites`.

      `hiliteIcons` should be specified as an Array of `SCImgURL`. When present, the hilite editing interface shown when `DataBoundComponent.editHilites()` is called will offer the user a drop down for picking one of these icons when defining either a simple or advanced hilite rule.

      If the user picks an icon, the created hiliting rule will have `icon` set to the chosen icon. `hiliteIconPosition` controls where the icon will appear for that field -- the default is that it appears in front of the normal cell content. This can also be overriden at the field level.

      Returns:
        String...
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconSize

          public void setHiliteIconSize(int hiliteIconSize)

      Default width and height of `hilite icons` for this component. Can be overridden at the component level via explicit `hiliteIconWidth` and `hiliteIconHeight`, or at the field level via `hiliteIconSize`, `hiliteIconWidth` and `hiliteIconHeight`
      Parameters:
        `hiliteIconSize` - Default value is 12
      See Also:
        `setHiliteIconWidth(java.lang.Integer)`, `setHiliteIconHeight(java.lang.Integer)`, `ListGridField.setHiliteIconSize(java.lang.Integer)`, `Hiliting overview and related methods`

    - #### getHiliteIconSize

          public int getHiliteIconSize()

      Default width and height of `hilite icons` for this component. Can be overridden at the component level via explicit `hiliteIconWidth` and `hiliteIconHeight`, or at the field level via `hiliteIconSize`, `hiliteIconWidth` and `hiliteIconHeight`
      Returns:
        int
      See Also:
        `getHiliteIconWidth()`, `getHiliteIconHeight()`, `ListGridField.getHiliteIconSize()`, `Hiliting overview and related methods`

    - #### setHiliteIconWidth

          public void setHiliteIconWidth(java.lang.Integer hiliteIconWidth)

      Width for hilite icons for this component. Overrides `hiliteIconSize`. Can be overridden at the field level.
      Parameters:
        `hiliteIconWidth` - Default value is null
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconWidth

          public java.lang.Integer getHiliteIconWidth()

      Width for hilite icons for this component. Overrides `hiliteIconSize`. Can be overridden at the field level.
      Returns:
        Integer
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteReplaceValueFieldTitle

          public void setHiliteReplaceValueFieldTitle(java.lang.String hiliteReplaceValueFieldTitle)
                                               throws java.lang.IllegalStateException

      Title used for the text box shown when `hiliteCanReplaceValue` is set.
      Parameters:
        `hiliteReplaceValueFieldTitle` - Default value is "Replace value with"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHiliteReplaceValueFieldTitle

          public java.lang.String getHiliteReplaceValueFieldTitle()

      Title used for the text box shown when `hiliteCanReplaceValue` is set.
      Returns:
        String

    - #### setHiliteRowOnFocus

          public void setHiliteRowOnFocus(java.lang.Boolean hiliteRowOnFocus)

      When the grid body gets keyboard focus, should we highlight the current focus row, using the rollover cell style?

      This property may be explicitly set to control this behavior independently of `showRollOver`. Otherwise (if this property is null), we will show the roll-over styling for the keyboard focus row if `showRollOver` is true.

      Parameters:
        `hiliteRowOnFocus` - Default value is null

    - #### getHiliteRowOnFocus

          public java.lang.Boolean getHiliteRowOnFocus()

      When the grid body gets keyboard focus, should we highlight the current focus row, using the rollover cell style?

      This property may be explicitly set to control this behavior independently of `showRollOver`. Otherwise (if this property is null), we will show the roll-over styling for the keyboard focus row if `showRollOver` is true.

      Returns:
        Boolean

    - #### setHoverMode

          public void setHoverMode(HoverMode hoverMode)

      When `showHoverComponents` is true, the builtin mode to use when automatically creating a hover component for rows in this grid.

      A number of builtin modes are provided - see `HoverMode`. You can also override `getCellHoverComponent()` to provide a custom hover widget - in that case, this attribute is ignored.

      Note : This is an advanced setting

      Parameters:
        `hoverMode` - Default value is null

    - #### getHoverMode

          public HoverMode getHoverMode()

      When `showHoverComponents` is true, the builtin mode to use when automatically creating a hover component for rows in this grid.

      A number of builtin modes are provided - see `HoverMode`. You can also override `getCellHoverComponent()` to provide a custom hover widget - in that case, this attribute is ignored.

      Returns:
        HoverMode

    - #### setHoverStyle

          public void setHoverStyle(java.lang.String hoverStyle)

      Style to apply to hovers shown over this grid.

      Note : This is an advanced setting

      Overrides:
        `setHoverStyle` in class `Canvas`
      Parameters:
        `hoverStyle` - See `CSSStyleName` . Default value is "gridHover"
      See Also:
        `setShowHover(java.lang.Boolean)`

    - #### getHoverStyle

          public java.lang.String getHoverStyle()

      Style to apply to hovers shown over this grid.
      Overrides:
        `getHoverStyle` in class `Canvas`
      Returns:
        See `CSSStyleName`
      See Also:
        `getShowHover()`

    - #### setIconPadding

          public void setIconPadding(java.lang.Integer iconPadding)
                              throws java.lang.IllegalStateException

      When using `autoFitFieldWidths`, padding in pixels left on each side of fields that show images.
      Parameters:
        `iconPadding` - Default value is 2
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getIconPadding

          public java.lang.Integer getIconPadding()

      When using `autoFitFieldWidths`, padding in pixels left on each side of fields that show images.
      Returns:
        Integer

    - #### setImageSize

          public void setImageSize(int imageSize)

      Default size of thumbnails shown for fieldTypes image and imageFile. Overrideable on a per-field basis via `imageSize` or `imageWidth`/`imageHeight`
      Parameters:
        `imageSize` - Default value is 16
      See Also:
        `ImageColumns overview and related methods`

    - #### getImageSize

          public int getImageSize()

      Default size of thumbnails shown for fieldTypes image and imageFile. Overrideable on a per-field basis via `imageSize` or `imageWidth`/`imageHeight`
      Returns:
        int
      See Also:
        `ImageColumns overview and related methods`

    - #### setIncludeHilitesInSummaryFields

          public void setIncludeHilitesInSummaryFields(boolean includeHilitesInSummaryFields)

      When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?

      To control hilites showing in group summaries, see `showHilitesInGroupSummary`.

      Note : This is an advanced setting

      Parameters:
        `includeHilitesInSummaryFields` - Default value is false
      See Also:
        `shouldIncludeHiliteInSummaryField(java.lang.String, java.lang.String)`

    - #### getIncludeHilitesInSummaryFields

          public boolean getIncludeHilitesInSummaryFields()

      When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?

      To control hilites showing in group summaries, see `showHilitesInGroupSummary`.

      Returns:
        boolean
      See Also:
        `shouldIncludeHiliteInSummaryField(java.lang.String, java.lang.String)`

    - #### setIncludeInSummaryProperty

          public void setIncludeInSummaryProperty(java.lang.String includeInSummaryProperty)

      Property name on a record that will be checked to determine whether a record should be included when calculating totals for the `grid summary`.
      Parameters:
        `includeInSummaryProperty` - Default value is "includeInSummary"

    - #### getIncludeInSummaryProperty

          public java.lang.String getIncludeInSummaryProperty()

      Property name on a record that will be checked to determine whether a record should be included when calculating totals for the `grid summary`.
      Returns:
        String

    - #### setInitialSort

          public void setInitialSort(SortSpecifier... initialSort)
                              throws java.lang.IllegalStateException

      An array of `SortSpecifier` objects used to set up the initial sort configuration for this grid. If specified, this will be used instead of any `sortField` specified.
      Parameters:
        `initialSort` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getInitialSort

          public SortSpecifier[] getInitialSort()

      An array of `SortSpecifier` objects used to set up the initial sort configuration for this grid. If specified, this will be used instead of any `sortField` specified.
      Returns:
        SortSpecifier...

    - #### setInstantScrollTrackRedraw

          public void setInstantScrollTrackRedraw(java.lang.Boolean instantScrollTrackRedraw)

      If true, if the user clicks on the scroll buttons at the end of the track or clicks once on the scroll track, there will be an instant redraw of the grid content so that the user doesn't see any blank space. For drag scrolling or other types of scrolling, the `scrollRedrawDelay` applies.
      Parameters:
        `instantScrollTrackRedraw` - Default value is true

    - #### getInstantScrollTrackRedraw

          public java.lang.Boolean getInstantScrollTrackRedraw()

      If true, if the user clicks on the scroll buttons at the end of the track or clicks once on the scroll track, there will be an instant redraw of the grid content so that the user doesn't see any blank space. For drag scrolling or other types of scrolling, the `scrollRedrawDelay` applies.
      Returns:
        Boolean

    - #### setInvalidSummaryValue

          public void setInvalidSummaryValue(java.lang.String invalidSummaryValue)

      Value to display to the user if showing summary values (through `showGridSummary`, `showGroupSummary` or `listGridFieldType:"summary"`), and the summary function returns `"null"` (implying it was unable to calculate a valid summary value). This property will only be used in the default formatting behavior. If an explicit formatter has been specified - via `ListGrid.setCellFormatter()` or `formatGridSummary()`, for example - this property has no effect.

      Note : This is an advanced setting

      Parameters:
        `invalidSummaryValue` - Default value is "&nbsp;"

    - #### getInvalidSummaryValue

          public java.lang.String getInvalidSummaryValue()

      Value to display to the user if showing summary values (through `showGridSummary`, `showGroupSummary` or `listGridFieldType:"summary"`), and the summary function returns `"null"` (implying it was unable to calculate a valid summary value). This property will only be used in the default formatting behavior. If an explicit formatter has been specified - via `ListGrid.setCellFormatter()` or `formatGridSummary()`, for example - this property has no effect.
      Returns:
        String

    - #### getIsGrouped

          public boolean getIsGrouped()
                               throws java.lang.IllegalStateException

      True if this listgrid is grouped, false otherwise

      Note : This method should be called only after the widget has been rendered.

      Returns:
        boolean
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `groupBy(java.lang.String...)`

    - #### setIsSeparatorProperty

          public void setIsSeparatorProperty(java.lang.String isSeparatorProperty)

      If `record[this.isSeparatorProperty]` is set for some record, the record will be displayed as a simple separator row.
      Parameters:
        `isSeparatorProperty` - Default value is "isSeparator"

    - #### getIsSeparatorProperty

          public java.lang.String getIsSeparatorProperty()

      If `record[this.isSeparatorProperty]` is set for some record, the record will be displayed as a simple separator row.
      Returns:
        String

    - #### setLeaveHeaderMenuButtonSpace

          public void setLeaveHeaderMenuButtonSpace(java.lang.Boolean leaveHeaderMenuButtonSpace)

      If `showHeaderMenuButton` is true, when auto-fitting fields to the title width via `autoFitFieldWidths` or `autoFitWidth`, should the button be sized such that there is enough space for the header menu button to show without covering the field title?

      May be explicitly specified at the `field level` or at the `grid level`. If not explicitly specified space will be left for fields with `align` set to `"left"` or `"right"`, but not for fields with align set to `"center"`.

      Note : This is an advanced setting

      Parameters:
        `leaveHeaderMenuButtonSpace` - Default value is null

    - #### setLeaveScrollbarGap

          public void setLeaveScrollbarGap(java.lang.Boolean leaveScrollbarGap)

      Whether to leave a gap for the vertical scrollbar, even when it's not present.

      Note that if leaveScrollbarGap is false and vertical scrolling is introduced, fields will be resized to fit the smaller body area if possible, in order to avoid horizontal scrolling also being required.

      Overrides:
        `setLeaveScrollbarGap` in class `Layout`
      Parameters:
        `leaveScrollbarGap` - Default value is true
      See Also:
        `Appearance overview and related methods`, Rows Example

    - #### getLeaveScrollbarGap

          public java.lang.Boolean getLeaveScrollbarGap()

      Whether to leave a gap for the vertical scrollbar, even when it's not present.

      Note that if leaveScrollbarGap is false and vertical scrolling is introduced, fields will be resized to fit the smaller body area if possible, in order to avoid horizontal scrolling also being required.

      Overrides:
        `getLeaveScrollbarGap` in class `Layout`
      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`, Rows Example

    - #### setLinkTextProperty

          public void setLinkTextProperty(java.lang.String linkTextProperty)

      Property name on a record that will hold the link text for that record.

      This property is configurable to avoid possible collision with data values in the record.

      Use `linkTextProperty` if you have more than one link field and

      Parameters:
        `linkTextProperty` - Default value is "linkText"
      See Also:
        `ListGridFieldType`, `FieldType`, `ListGridField.setLinkText(java.lang.String)`, `ListGridField.setLinkTextProperty(java.lang.String)`

    - #### getLinkTextProperty

          public java.lang.String getLinkTextProperty()

      Property name on a record that will hold the link text for that record.

      This property is configurable to avoid possible collision with data values in the record.

      Use `linkTextProperty` if you have more than one link field and

      Returns:
        String
      See Also:
        `ListGridFieldType`, `FieldType`, `ListGridField.getLinkText()`, `ListGridField.getLinkTextProperty()`

    - #### setListEndEditAction

          public void setListEndEditAction(RowEndEditAction listEndEditAction)

      If the user is editing the last record in this listGrid, and attempts to navigate beyond the last row either by tabbing off the last editable field, or using the down arrow key, this property determines what action to take:
      - "next": start editing a new record at the end of the list.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action

      See the `Grid Editing overview` and also the `Editing Unsaved Records overview` for context about how newly added records behave.

      Parameters:
        `listEndEditAction` - Default value is null
      See Also:
        `Editing overview and related methods`, Enter new rows Example

    - #### getListEndEditAction

          public RowEndEditAction getListEndEditAction()

      If the user is editing the last record in this listGrid, and attempts to navigate beyond the last row either by tabbing off the last editable field, or using the down arrow key, this property determines what action to take:
      - "next": start editing a new record at the end of the list.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action

      See the `Grid Editing overview` and also the `Editing Unsaved Records overview` for context about how newly added records behave.

      Returns:
        RowEndEditAction
      See Also:
        `Editing overview and related methods`, Enter new rows Example

    - #### setLoadingDataMessage

          public void setLoadingDataMessage(java.lang.String loadingDataMessage)

      The string to display in the body of a listGrid while data is being loaded. Use `"${loadingImage}"` to include `a loading image`.
      Parameters:
        `loadingDataMessage` - See `HTMLString` . Default value is "${loadingImage}&nbsp;Loading data..."
      See Also:
        `setLoadingDataMessageStyle(java.lang.String)`

    - #### getLoadingDataMessage

          public java.lang.String getLoadingDataMessage()

      The string to display in the body of a listGrid while data is being loaded. Use `"${loadingImage}"` to include `a loading image`.
      Returns:
        See `HTMLString`
      See Also:
        `getLoadingDataMessageStyle()`

    - #### setLoadingDataMessageStyle

          public void setLoadingDataMessageStyle(java.lang.String loadingDataMessageStyle)

      The CSS style name applied to the loadingDataMessage string if displayed.
      Parameters:
        `loadingDataMessageStyle` - See `CSSStyleName` . Default value is "loadingDataMessage"

    - #### getLoadingDataMessageStyle

          public java.lang.String getLoadingDataMessageStyle()

      The CSS style name applied to the loadingDataMessage string if displayed.
      Returns:
        See `CSSStyleName`

    - #### setLoadingMessage

          public void setLoadingMessage(java.lang.String loadingMessage)
                                 throws java.lang.IllegalStateException

      If you have a databound listGrid and you scroll out of the currently loaded dataset, by default you will see blank rows until the server returns the data for those rows. The loadingMessage attribute allows you to specify arbitrary html that will be shown in each such "blank" record while the data for that record is loading.
      Parameters:
        `loadingMessage` - Default value is "&nbsp;"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getLoadingMessage

          public java.lang.String getLoadingMessage()

      If you have a databound listGrid and you scroll out of the currently loaded dataset, by default you will see blank rows until the server returns the data for those rows. The loadingMessage attribute allows you to specify arbitrary html that will be shown in each such "blank" record while the data for that record is loading.
      Returns:
        String

    - #### setLocateColumnsBy

          public void setLocateColumnsBy(java.lang.String locateColumnsBy)

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the column be identified?
      Note that getLocator() will actually store all available information about the column in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"fieldName"` Attempt to identify by fieldName.
      - `"index"` Attempt to identify by colNum (index in the fields array).
      If unset, default behavior is to identify by fieldName (if available), otherwise by index.
      Parameters:
        `locateColumnsBy` - Default value is null

    - #### getLocateColumnsBy

          public java.lang.String getLocateColumnsBy()

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the column be identified?
      Note that getLocator() will actually store all available information about the column in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"fieldName"` Attempt to identify by fieldName.
      - `"index"` Attempt to identify by colNum (index in the fields array).
      If unset, default behavior is to identify by fieldName (if available), otherwise by index.
      Returns:
        String

    - #### setLocateRowsBy

          public void setLocateRowsBy(java.lang.String locateRowsBy)

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the row be identified?
      Note that getLocator() will actually store all available information about the row in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"primaryKey"` Only applies to databound grids: If the cell in question has a primary key cell value, use it to identify cells in autoTest locator strings.
      - `"titleField"` If the cell in question has a value for the `titleField`, use it to identify cells in autoTest locator strings
      - `"targetCellValue"` Identify rows by storing the cell value for the target row / field in autoTest locator strings
      - `"index"`The rowNum will be used to identify the row.
      If unset, default behavior is to identify by primary key (if available), otherwise by titleField (if available), otherwise by cell value (if available), and lastly by index.
      Parameters:
        `locateRowsBy` - Default value is null

    - #### getLocateRowsBy

          public java.lang.String getLocateRowsBy()

      When `AutoTest.getElement()` is used to parse locator strings generated by `AutoTest.getLocator()` for a cell in this grid, how should the row be identified?
      Note that getLocator() will actually store all available information about the row in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"primaryKey"` Only applies to databound grids: If the cell in question has a primary key cell value, use it to identify cells in autoTest locator strings.
      - `"titleField"` If the cell in question has a value for the `titleField`, use it to identify cells in autoTest locator strings
      - `"targetCellValue"` Identify rows by storing the cell value for the target row / field in autoTest locator strings
      - `"index"`The rowNum will be used to identify the row.
      If unset, default behavior is to identify by primary key (if available), otherwise by titleField (if available), otherwise by cell value (if available), and lastly by index.
      Returns:
        String

    - #### setLongTextEditorThreshold

          public void setLongTextEditorThreshold(int longTextEditorThreshold)

      When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
      Parameters:
        `longTextEditorThreshold` - Default value is 255
      See Also:
        `Editing overview and related methods`

    - #### getLongTextEditorThreshold

          public int getLongTextEditorThreshold()

      When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
      Returns:
        int
      See Also:
        `Editing overview and related methods`

    - #### setLongTextEditorType

          public void setLongTextEditorType(java.lang.String longTextEditorType)

      When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
      Parameters:
        `longTextEditorType` - Default value is "PopUpTextAreaItem"
      See Also:
        `Editing overview and related methods`

    - #### getLongTextEditorType

          public java.lang.String getLongTextEditorType()

      When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
      Returns:
        String
      See Also:
        `Editing overview and related methods`

    - #### setMaxExpandedRecords

          public void setMaxExpandedRecords(java.lang.Integer maxExpandedRecords)

      When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously. If the expanded record count hits the value of this property, further attempts to expand records will result in a popup warning (see `maxExpandedRecordsPrompt`) and expansion will be cancelled.

      The default value is null, meaning there is no limit on the number of expanded records.

      Note : This is an advanced setting

      Parameters:
        `maxExpandedRecords` - Default value is null

    - #### getMaxExpandedRecords

          public java.lang.Integer getMaxExpandedRecords()

      When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously. If the expanded record count hits the value of this property, further attempts to expand records will result in a popup warning (see `maxExpandedRecordsPrompt`) and expansion will be cancelled.

      The default value is null, meaning there is no limit on the number of expanded records.

      Returns:
        Integer

    - #### setMaxExpandedRecordsPrompt

          public void setMaxExpandedRecordsPrompt(java.lang.String maxExpandedRecordsPrompt)
                                           throws java.lang.IllegalStateException

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed. Note that the local variable `count` will be available and set to this.maxExpandedRecords. The string will be executed in the scope of the ListGrid so `this` may also be used to determine other information about this grid.

      Default value returns

      `This grid is limited to `[`maxExpandedRecords`]` simultaneously expanded records. Please collapse some expanded records and retry.`

      Parameters:
        `maxExpandedRecordsPrompt` - See `HTMLString` . Default value is "This grid is limited to ${count} simultaneously expanded records. Please collapse some expanded records and retry."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getMaxExpandedRecordsPrompt

          public java.lang.String getMaxExpandedRecordsPrompt()

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed. Note that the local variable `count` will be available and set to this.maxExpandedRecords. The string will be executed in the scope of the ListGrid so `this` may also be used to determine other information about this grid.

      Default value returns

      `This grid is limited to `[`maxExpandedRecords`]` simultaneously expanded records. Please collapse some expanded records and retry.`

      Returns:
        See `HTMLString`

    - #### setMinFieldWidth

          public void setMinFieldWidth(int minFieldWidth)

      Minimum size, in pixels, for ListGrid headers.
      Parameters:
        `minFieldWidth` - Default value is 15

    - #### getMinFieldWidth

          public int getMinFieldWidth()

      Minimum size, in pixels, for ListGrid headers.
      Returns:
        int

    - #### setMissingSummaryFieldValue

          public void setMissingSummaryFieldValue(java.lang.String missingSummaryFieldValue)

      If a summary format string contains an invalid field reference, replace the reference with the missingSummaryFieldValue. The default value is "-".
      Parameters:
        `missingSummaryFieldValue` - Default value is "-"

    - #### getMissingSummaryFieldValue

          public java.lang.String getMissingSummaryFieldValue()

      If a summary format string contains an invalid field reference, replace the reference with the missingSummaryFieldValue. The default value is "-".
      Returns:
        String

    - #### setModalEditing

          public void setModalEditing(java.lang.Boolean modalEditing)

      If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.

      Note : This is an advanced setting

      Parameters:
        `modalEditing` - Default value is null
      See Also:
        `Editing overview and related methods`, Modal editing Example

    - #### getModalEditing

          public java.lang.Boolean getModalEditing()

      If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.
      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`, Modal editing Example

    - #### setNavigateOnTab

          public void setNavigateOnTab(boolean navigateOnTab)

      If `canSelectCells` is true, this property allows the user to navigate through the cells of a grid using Tab and Shift+Tab keypresses. When a user tabs to the end of the row, the `rowEndEditAction` is used to determine whether to shift selection to the next row, return to the beginning of the same row, or simply move on through the page's tab order.
      Parameters:
        `navigateOnTab` - Default value is true

    - #### getNavigateOnTab

          public boolean getNavigateOnTab()

      If `canSelectCells` is true, this property allows the user to navigate through the cells of a grid using Tab and Shift+Tab keypresses. When a user tabs to the end of the row, the `rowEndEditAction` is used to determine whether to shift selection to the next row, return to the beginning of the same row, or simply move on through the page's tab order.
      Returns:
        boolean

    - #### setNeverValidate

          public void setNeverValidate(java.lang.Boolean neverValidate)

      If true, validation will not occur as a result of cell editing for this grid.

      Note : This is an advanced setting

      Parameters:
        `neverValidate` - Default value is null
      See Also:
        `GridValidation overview and related methods`

    - #### getNeverValidate

          public java.lang.Boolean getNeverValidate()

      If true, validation will not occur as a result of cell editing for this grid.
      Returns:
        Boolean
      See Also:
        `GridValidation overview and related methods`

    - #### setNormalBaseStyle

          public void setNormalBaseStyle(java.lang.String normalBaseStyle)
                                  throws java.lang.IllegalStateException

      "Normal" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style if the grid is showing fixed height rows, and the specified cellHeight matches `normalCellHeight` (and in Internet Explorer, `fastCellUpdates` is false). Otherwise `tallBaseStyle` will be used.

      Having separate styles defined for fixed vs. variable height rows allows the developer to specify css which is designed to render at a specific height (typically using background images, which won't scale), without breaking support for styling rows of variable height.

      See `cellStyleSuffixes` for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Parameters:
        `normalBaseStyle` - See `CSSStyleName` . Default value is "cell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `getBaseStyle()`

    - #### getNormalBaseStyle

          public java.lang.String getNormalBaseStyle()

      "Normal" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style if the grid is showing fixed height rows, and the specified cellHeight matches `normalCellHeight` (and in Internet Explorer, `fastCellUpdates` is false). Otherwise `tallBaseStyle` will be used.

      Having separate styles defined for fixed vs. variable height rows allows the developer to specify css which is designed to render at a specific height (typically using background images, which won't scale), without breaking support for styling rows of variable height.

      See `cellStyleSuffixes` for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Returns:
        See `CSSStyleName`
      See Also:
        `getBaseStyle()`

    - #### setNormalCellHeight

          public void setNormalCellHeight(int normalCellHeight)

      If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value. Otherwise `tallBaseStyle` will be used.

      Note : This is an advanced setting

      Parameters:
        `normalCellHeight` - Default value is 20

    - #### getNormalCellHeight

          public int getNormalCellHeight()

      If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value. Otherwise `tallBaseStyle` will be used.
      Returns:
        int

    - #### setNullGroupTitle

          public void setNullGroupTitle(java.lang.String nullGroupTitle)

      Default alias to use for groups with no value
      Parameters:
        `nullGroupTitle` - Default value is '-none-'
      See Also:
        `groupBy(java.lang.String...)`

    - #### getNullGroupTitle

          public java.lang.String getNullGroupTitle()

      Default alias to use for groups with no value
      Returns:
        String
      See Also:
        `groupBy(java.lang.String...)`

    - #### setOfflineMessageStyle

          public void setOfflineMessageStyle(java.lang.String offlineMessageStyle)

      The CSS style name applied to the `offlineMessage` if displayed.
      Parameters:
        `offlineMessageStyle` - See `CSSStyleName` . Default value is "offlineMessage"

    - #### getOfflineMessageStyle

          public java.lang.String getOfflineMessageStyle()

      The CSS style name applied to the `offlineMessage` if displayed.
      Returns:
        See `CSSStyleName`

    - #### setOriginBaseStyle

          public void setOriginBaseStyle(java.lang.String originBaseStyle)

      Name of a CSS Style to use as the `baseStyle` for a cell that is currently a selection origin for shifted incremental cell selection. Only has an effect if `canSelectCells` is true.

      Parameters:
        `originBaseStyle` - See `CSSStyleName` . Default value is null

    - #### getOriginBaseStyle

          public java.lang.String getOriginBaseStyle()

      Name of a CSS Style to use as the `baseStyle` for a cell that is currently a selection origin for shifted incremental cell selection. Only has an effect if `canSelectCells` is true.

      Returns:
        See `CSSStyleName`

    - #### setPoolComponentsPerColumn

          public void setPoolComponentsPerColumn(java.lang.Boolean poolComponentsPerColumn)

      Should recycled `record components`, be pooled per column or per record. Only applies if `showRecordComponentsByCell` is true.

      When `recordComponentPoolingMode` is "recycle" and you have components of different types in different columns, set this property to true to ensure that components intended for one column are not recycled for use in another column that should have a different component.

      If no components applicable to a particular column are available in the pool, the system calls `createRecordComponent`.

      Parameters:
        `poolComponentsPerColumn` - Default value is true

    - #### getPoolComponentsPerColumn

          public java.lang.Boolean getPoolComponentsPerColumn()

      Should recycled `record components`, be pooled per column or per record. Only applies if `showRecordComponentsByCell` is true.

      When `recordComponentPoolingMode` is "recycle" and you have components of different types in different columns, set this property to true to ensure that components intended for one column are not recycled for use in another column that should have a different component.

      If no components applicable to a particular column are available in the pool, the system calls `createRecordComponent`.

      Returns:
        Boolean

    - #### setPrintAutoFit

          public void setPrintAutoFit(java.lang.Boolean printAutoFit)

      Whether cell contents should wrap during printing. Equivalent to `Autofit`, but specific to printed output.
      Parameters:
        `printAutoFit` - Default value is true
      See Also:
        `Printing overview and related methods`

    - #### getPrintAutoFit

          public java.lang.Boolean getPrintAutoFit()

      Whether cell contents should wrap during printing. Equivalent to `Autofit`, but specific to printed output.
      Returns:
        Boolean
      See Also:
        `Printing overview and related methods`

    - #### setPrintBaseStyle

          public void setPrintBaseStyle(java.lang.String printBaseStyle)

      Style for non-header cells in printed output. Defaults to `baseStyle` if null.
      Parameters:
        `printBaseStyle` - See `CSSStyleName` . Default value is null
      See Also:
        `Printing overview and related methods`

    - #### getPrintBaseStyle

          public java.lang.String getPrintBaseStyle()

      Style for non-header cells in printed output. Defaults to `baseStyle` if null.
      Returns:
        See `CSSStyleName`
      See Also:
        `Printing overview and related methods`

    - #### setPrintBooleanBaseStyle

          public void setPrintBooleanBaseStyle(java.lang.String printBooleanBaseStyle)
                                        throws java.lang.IllegalStateException

      If set, the `booleanBaseStyle` to use when printing.

      Note : This is an advanced setting

      Parameters:
        `printBooleanBaseStyle` - See `CSSStyleName` . Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setBooleanBaseStyle(java.lang.String)`, `Printing overview and related methods`

    - #### getPrintBooleanBaseStyle

          public java.lang.String getPrintBooleanBaseStyle()

      If set, the `booleanBaseStyle` to use when printing.
      Returns:
        See `CSSStyleName`
      See Also:
        `getBooleanBaseStyle()`, `Printing overview and related methods`

    - #### setPrintBooleanFalseImage

          public void setPrintBooleanFalseImage(java.lang.String printBooleanFalseImage)

      If set, the `booleanFalseImage` to use when printing.

      Note : This is an advanced setting

      Parameters:
        `printBooleanFalseImage` - See `SCImgURL` . Default value is null
      See Also:
        `setBooleanFalseImage(java.lang.String)`, `Printing overview and related methods`

    - #### getPrintBooleanFalseImage

          public java.lang.String getPrintBooleanFalseImage()

      If set, the `booleanFalseImage` to use when printing.
      Returns:
        See `SCImgURL`
      See Also:
        `getBooleanFalseImage()`, `Printing overview and related methods`

    - #### setPrintBooleanPartialImage

          public void setPrintBooleanPartialImage(java.lang.String printBooleanPartialImage)

      If set, the `booleanPartialImage` to use when printing.

      Note : This is an advanced setting

      Parameters:
        `printBooleanPartialImage` - See `SCImgURL` . Default value is null
      See Also:
        `setBooleanPartialImage(java.lang.String)`, `Printing overview and related methods`

    - #### getPrintBooleanPartialImage

          public java.lang.String getPrintBooleanPartialImage()

      If set, the `booleanPartialImage` to use when printing.
      Returns:
        See `SCImgURL`
      See Also:
        `getBooleanPartialImage()`, `Printing overview and related methods`

    - #### setPrintBooleanTrueImage

          public void setPrintBooleanTrueImage(java.lang.String printBooleanTrueImage)

      If set, the `booleanTrueImage` to use when printing.

      Note : This is an advanced setting

      Parameters:
        `printBooleanTrueImage` - See `SCImgURL` . Default value is null
      See Also:
        `setBooleanTrueImage(java.lang.String)`, `Printing overview and related methods`

    - #### getPrintBooleanTrueImage

          public java.lang.String getPrintBooleanTrueImage()

      If set, the `booleanTrueImage` to use when printing.
      Returns:
        See `SCImgURL`
      See Also:
        `getBooleanTrueImage()`, `Printing overview and related methods`

    - #### setPrintCheckboxFieldFalseImage

          public void setPrintCheckboxFieldFalseImage(java.lang.String printCheckboxFieldFalseImage)

      If set, the `checkboxFieldFalseImage` to use when printing.

      Note : This is an advanced setting

      Parameters:
        `printCheckboxFieldFalseImage` - See `SCImgURL` . Default value is null
      See Also:
        `setCheckboxFieldFalseImage(java.lang.String)`, `Printing overview and related methods`

    - #### getPrintCheckboxFieldFalseImage

          public java.lang.String getPrintCheckboxFieldFalseImage()

      If set, the `checkboxFieldFalseImage` to use when printing.
      Returns:
        See `SCImgURL`
      See Also:
        `getCheckboxFieldFalseImage()`, `Printing overview and related methods`

    - #### setPrintCheckboxFieldPartialImage

          public void setPrintCheckboxFieldPartialImage(java.lang.String printCheckboxFieldPartialImage)

      If set, the `checkboxFieldPartialImage` to use when printing.

      Note : This is an advanced setting

      Parameters:
        `printCheckboxFieldPartialImage` - See `SCImgURL` . Default value is null
      See Also:
        `setCheckboxFieldPartialImage(java.lang.String)`, `Printing overview and related methods`

    - #### getPrintCheckboxFieldPartialImage

          public java.lang.String getPrintCheckboxFieldPartialImage()

      If set, the `checkboxFieldPartialImage` to use when printing.
      Returns:
        See `SCImgURL`
      See Also:
        `getCheckboxFieldPartialImage()`, `Printing overview and related methods`

    - #### setPrintCheckboxFieldTrueImage

          public void setPrintCheckboxFieldTrueImage(java.lang.String printCheckboxFieldTrueImage)

      If set, the `checkboxFieldTrueImage` to use when printing.

      Note : This is an advanced setting

      Parameters:
        `printCheckboxFieldTrueImage` - See `SCImgURL` . Default value is null
      See Also:
        `setCheckboxFieldTrueImage(java.lang.String)`, `Printing overview and related methods`

    - #### getPrintCheckboxFieldTrueImage

          public java.lang.String getPrintCheckboxFieldTrueImage()

      If set, the `checkboxFieldTrueImage` to use when printing.
      Returns:
        See `SCImgURL`
      See Also:
        `getCheckboxFieldTrueImage()`, `Printing overview and related methods`

    - #### setPrintHeaderStyle

          public void setPrintHeaderStyle(java.lang.String printHeaderStyle)

      Style for header cells in printed output. Defaults to `headerBaseStyle` if null.
      Parameters:
        `printHeaderStyle` - See `CSSStyleName` . Default value is "printHeader"
      See Also:
        `Printing overview and related methods`

    - #### getPrintHeaderStyle

          public java.lang.String getPrintHeaderStyle()

      Style for header cells in printed output. Defaults to `headerBaseStyle` if null.
      Returns:
        See `CSSStyleName`
      See Also:
        `Printing overview and related methods`

    - #### setPrintMaxRows

          public void setPrintMaxRows(int printMaxRows)

      Advanced property - when generating printHTML for a large ListGrid, rows are printed in batches in order to avoid triggering a native "script is running slowly" browser dialog.

      For grids with exceptional numbers of columns or complex formatting logic, this number might need to be adjusted downward.

      Note : This is an advanced setting

      Parameters:
        `printMaxRows` - Default value is 100
      See Also:
        `Printing overview and related methods`

    - #### getPrintMaxRows

          public int getPrintMaxRows()

      Advanced property - when generating printHTML for a large ListGrid, rows are printed in batches in order to avoid triggering a native "script is running slowly" browser dialog.

      For grids with exceptional numbers of columns or complex formatting logic, this number might need to be adjusted downward.

      Returns:
        int
      See Also:
        `Printing overview and related methods`

    - #### setPrintWrapCells

          public void setPrintWrapCells(java.lang.Boolean printWrapCells)

      Whether cell contents should wrap during printing. Equivalent to `wrapCells`, but specific to printed output.
      Parameters:
        `printWrapCells` - Default value is true
      See Also:
        `Printing overview and related methods`

    - #### getPrintWrapCells

          public java.lang.Boolean getPrintWrapCells()

      Whether cell contents should wrap during printing. Equivalent to `wrapCells`, but specific to printed output.
      Returns:
        Boolean
      See Also:
        `Printing overview and related methods`

    - #### setQuickDrawAheadRatio

          public void setQuickDrawAheadRatio(float quickDrawAheadRatio)

      Alternative to `drawAheadRatio`, to be used when the user is rapidly changing the grids viewport (for example drag scrolling through the grid). If unspecified `drawAheadRatio` will be used in all cases
      Parameters:
        `quickDrawAheadRatio` - Default value is 1.0

    - #### getQuickDrawAheadRatio

          public float getQuickDrawAheadRatio()

      Alternative to `drawAheadRatio`, to be used when the user is rapidly changing the grids viewport (for example drag scrolling through the grid). If unspecified `drawAheadRatio` will be used in all cases
      Returns:
        float

    - #### setRecordBaseStyleProperty

          public void setRecordBaseStyleProperty(java.lang.String recordBaseStyleProperty)

      This attribute allows custom base styles to be displayed on a per-record basis. To specify a custom base-style for some record set `record[listGrid.recordBaseStyleProperty]` to the desired base style name - for example if `recordBaseStyleProperty` is `"_baseStyle"`, set `record._baseStyle` to the custom base style name.

      Note : This is an advanced setting

      Parameters:
        `recordBaseStyleProperty` - Default value is "_baseStyle"
      See Also:
        `setBaseStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getRecordBaseStyleProperty

          public java.lang.String getRecordBaseStyleProperty()

      This attribute allows custom base styles to be displayed on a per-record basis. To specify a custom base-style for some record set `record[listGrid.recordBaseStyleProperty]` to the desired base style name - for example if `recordBaseStyleProperty` is `"_baseStyle"`, set `record._baseStyle` to the custom base style name.
      Returns:
        String
      See Also:
        `getBaseStyle()`, `Appearance overview and related methods`

    - #### setRecordCanRemoveProperty

          public void setRecordCanRemoveProperty(java.lang.String recordCanRemoveProperty)
                                          throws java.lang.IllegalStateException

      If set to false on a record and `canRemoveRecords` is true, removal of that record is disallowed in the UI. The icon in the remove field is not shown.

      Note : This is an advanced setting

      Parameters:
        `recordCanRemoveProperty` - Default value is "_canRemove"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Editing overview and related methods`

    - #### getRecordCanRemoveProperty

          public java.lang.String getRecordCanRemoveProperty()

      If set to false on a record and `canRemoveRecords` is true, removal of that record is disallowed in the UI. The icon in the remove field is not shown.
      Returns:
        String
      See Also:
        `Editing overview and related methods`

    - #### setRecordCanSelectProperty

          public void setRecordCanSelectProperty(java.lang.String recordCanSelectProperty)
                                          throws java.lang.IllegalStateException

      If set to false on a record, selection of that record is disallowed.

      Note : This is an advanced setting

      Parameters:
        `recordCanSelectProperty` - Default value is "canSelect"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRecordCanSelectProperty

          public java.lang.String getRecordCanSelectProperty()

      If set to false on a record, selection of that record is disallowed.
      Returns:
        String

    - #### setRecordComponentHeight

          public void setRecordComponentHeight(java.lang.Integer recordComponentHeight)

      If `showRecordComponents` is true, this attribute may be used to specify a standard height for record components. If specified every row in the grid will be sized tall enough to accommodate a recordComponent of this size.

      Note that if this property is unset, the grid will not be able to know row heights in advance, and `frozen fields` are not currently supported in this case. If you are putting a recordComponent in every row, and they all have a consistent height, set `recordComponentHeight` and you will then be able to use frozen fields and avoid the whitespace side-effect of virtual scrolling by setting `virtualScrolling`:false.

      Similarly, if your recordComponents are never tall enough that they will expand the row beyond the `cellHeight`, set `virtualScrolling`:false to avoid the whitespace side-effect of `virtual scrolling` and to allow `frozen fields` to be used. In this mode, you can have recordComponents on some rows but not others, and recordComponents of different heights, so long as no recordComponent ever causes a row to grow beyond `cellHeight` (which would happen if the recordComponents height + 2*`cellPadding` is larger than `cellHeight`).
      If this method is called after the component has been drawn/initialized: Setter for the `recordComponentHeight`

      Note : This is an advanced setting

      Parameters:
        `recordComponentHeight` - recordComponent height. Default value is null
      See Also:
        `setVirtualScrolling(java.lang.Boolean)`

    - #### getRecordComponentHeight

          public java.lang.Integer getRecordComponentHeight()

      If `showRecordComponents` is true, this attribute may be used to specify a standard height for record components. If specified every row in the grid will be sized tall enough to accommodate a recordComponent of this size.

      Note that if this property is unset, the grid will not be able to know row heights in advance, and `frozen fields` are not currently supported in this case. If you are putting a recordComponent in every row, and they all have a consistent height, set `recordComponentHeight` and you will then be able to use frozen fields and avoid the whitespace side-effect of virtual scrolling by setting `virtualScrolling`:false.

      Similarly, if your recordComponents are never tall enough that they will expand the row beyond the `cellHeight`, set `virtualScrolling`:false to avoid the whitespace side-effect of `virtual scrolling` and to allow `frozen fields` to be used. In this mode, you can have recordComponents on some rows but not others, and recordComponents of different heights, so long as no recordComponent ever causes a row to grow beyond `cellHeight` (which would happen if the recordComponents height + 2*`cellPadding` is larger than `cellHeight`).

      Returns:
        Integer
      See Also:
        `getVirtualScrolling()`

    - #### setRecordComponentPoolingMode

          public void setRecordComponentPoolingMode(RecordComponentPoolingMode recordComponentPoolingMode)

      The method of `component-pooling` to employ for `recordComponents`.

      The default mode is "viewport", which means that recordComponents are destroyed as soon their record is no longer being rendered (scrolled out of the viewport, eliminated by search criteria, etc).

      For a large or dynamic data set where the components shown on different rows are similar, switch to "recycle" mode, which pools recordComponents by detaching them from records that are not visible and re-using them in other records. In this mode, you should implement `ListGrid.updateRecordComponent()` to apply any changes to make reused components applicable to the new record they appear in, if necessary. For example, if you have several controls in your `recordComponents`, and not all of the controls apply to every record, your `updateRecordComponent()` implementation could simply hide or disable inapplicable controls, and this would be much faster than creating a whole new set of controls every time a given record is scrolled into view.

      If you are using `per-cell recordComponents`, and you have components of different types in different columns and still want to take advantage of component recycling, you can set `poolComponentsPerColumn` to ensure that components intended for one column are not recycled for use in another column that should have a different component.

      Note that, if different records have distinctly different components embedded in them, or multiple columns in each record embed different components, you should leave the recordComponentPoolingMode at "viewport" if your dataset is very large or use "data" otherwise.

      Note : This is an advanced setting

      Parameters:
        `recordComponentPoolingMode` - Default value is "viewport"

    - #### getRecordComponentPoolingMode

          public RecordComponentPoolingMode getRecordComponentPoolingMode()

      The method of `component-pooling` to employ for `recordComponents`.

      The default mode is "viewport", which means that recordComponents are destroyed as soon their record is no longer being rendered (scrolled out of the viewport, eliminated by search criteria, etc).

      For a large or dynamic data set where the components shown on different rows are similar, switch to "recycle" mode, which pools recordComponents by detaching them from records that are not visible and re-using them in other records. In this mode, you should implement `ListGrid.updateRecordComponent()` to apply any changes to make reused components applicable to the new record they appear in, if necessary. For example, if you have several controls in your `recordComponents`, and not all of the controls apply to every record, your `updateRecordComponent()` implementation could simply hide or disable inapplicable controls, and this would be much faster than creating a whole new set of controls every time a given record is scrolled into view.

      If you are using `per-cell recordComponents`, and you have components of different types in different columns and still want to take advantage of component recycling, you can set `poolComponentsPerColumn` to ensure that components intended for one column are not recycled for use in another column that should have a different component.

      Note that, if different records have distinctly different components embedded in them, or multiple columns in each record embed different components, you should leave the recordComponentPoolingMode at "viewport" if your dataset is very large or use "data" otherwise.

      Returns:
        RecordComponentPoolingMode

    - #### setRecordComponentPosition

          public void setRecordComponentPosition(EmbeddedPosition recordComponentPosition)

      if `showRecordComponents` is true, how should the component appear within the cell. Valid options are
      - `"within"`: the component will be rendered inside the record / cell. `snapTo` may be set to specify where the component should render within the row or cell, and `snapOffsetTop` / `snapOffsetLeft` may be set to indent recordComponents within their parent cells. Note that if unset, the component will show up at the top/left edge for components embedded within an entire row, or for per-cell components, cell align and valign will be respected. Note also that, when rendering components "within" cells, specified component heights will be respected and will change the height of the row. However, if you want components to completely fill a cell at it's default height, set height: "100%" or rows will render at the default height of the component.
      - `"expand"`: the component will be written into the cell below the normal cell content, causing the cell to expand vertically to accommodate it.
      - `null`: If this attribute is unset, we will default to showing recordComponents with position `"within"` if `showRecordComponentsByCell` is true, otherwise using `"expand"` logic.
      Parameters:
        `recordComponentPosition` - Default value is null
      See Also:
        `setShowRecordComponents(java.lang.Boolean)`

    - #### getRecordComponentPosition

          public EmbeddedPosition getRecordComponentPosition()

      if `showRecordComponents` is true, how should the component appear within the cell. Valid options are
      - `"within"`: the component will be rendered inside the record / cell. `snapTo` may be set to specify where the component should render within the row or cell, and `snapOffsetTop` / `snapOffsetLeft` may be set to indent recordComponents within their parent cells. Note that if unset, the component will show up at the top/left edge for components embedded within an entire row, or for per-cell components, cell align and valign will be respected. Note also that, when rendering components "within" cells, specified component heights will be respected and will change the height of the row. However, if you want components to completely fill a cell at it's default height, set height: "100%" or rows will render at the default height of the component.
      - `"expand"`: the component will be written into the cell below the normal cell content, causing the cell to expand vertically to accommodate it.
      - `null`: If this attribute is unset, we will default to showing recordComponents with position `"within"` if `showRecordComponentsByCell` is true, otherwise using `"expand"` logic.
      Returns:
        EmbeddedPosition
      See Also:
        `getShowRecordComponents()`

    - #### setRecordDetailDSProperty

          public void setRecordDetailDSProperty(java.lang.String recordDetailDSProperty)

      The name of the ListGridRecord property that specifies the DataSource to use when `listGrid.expansionMode` is "related". The default is `detailDS`. Note that you can set the `detailDS` at the grid level instead if the same dataSource is to be used for all records.

      Note : This is an advanced setting

      Parameters:
        `recordDetailDSProperty` - Default value is "detailDS"

    - #### getRecordDetailDSProperty

          public java.lang.String getRecordDetailDSProperty()

      The name of the ListGridRecord property that specifies the DataSource to use when `listGrid.expansionMode` is "related". The default is `detailDS`. Note that you can set the `detailDS` at the grid level instead if the same dataSource is to be used for all records.
      Returns:
        String

    - #### setRecordDropAppearance

          public void setRecordDropAppearance(RecordDropAppearance recordDropAppearance)

      If `canAcceptDroppedRecords` is true for this listGrid, this property governs whether the user can drop between, or over records within the grid. This controls what `RecordDropPosition` is passed to the `ListGrid.recordDrop()` event handler.
      Parameters:
        `recordDropAppearance` - Default value is ListGrid.BETWEEN

    - #### getRecordDropAppearance

          public RecordDropAppearance getRecordDropAppearance()

      If `canAcceptDroppedRecords` is true for this listGrid, this property governs whether the user can drop between, or over records within the grid. This controls what `RecordDropPosition` is passed to the `ListGrid.recordDrop()` event handler.
      Returns:
        RecordDropAppearance

    - #### setRecordEditProperty

          public void setRecordEditProperty(java.lang.String recordEditProperty)

      Property name on a record that should be checked to determine whether the record may be edited.
      This property is configurable to avoid possible collision with data values in record. With the default setting of "_canEdit", a record can be set non-editable by ensuring record._canEdit == false.
      For controlling editability for the entire grid or for a field, set grid.canEdit or field.canEdit.

      Note : This is an advanced setting

      Parameters:
        `recordEditProperty` - Default value is "_canEdit"
      See Also:
        `setCanEdit(java.lang.Boolean)`, `ListGridField.setCanEdit(java.lang.Boolean)`, `canEditCell(int, int)`, `Editing overview and related methods`

    - #### getRecordEditProperty

          public java.lang.String getRecordEditProperty()

      Property name on a record that should be checked to determine whether the record may be edited.
      This property is configurable to avoid possible collision with data values in record. With the default setting of "_canEdit", a record can be set non-editable by ensuring record._canEdit == false.
      For controlling editability for the entire grid or for a field, set grid.canEdit or field.canEdit.
      Returns:
        String
      See Also:
        `getCanEdit()`, `ListGridField.getCanEdit()`, `canEditCell(int, int)`, `Editing overview and related methods`

    - #### setRecordEnabledProperty

          public void setRecordEnabledProperty(java.lang.String recordEnabledProperty)
                                        throws java.lang.IllegalStateException

      Property name on a record that will be checked to determine whether a record is enabled.

      Setting this property on a record will effect the visual style and interactivity of the record. If set to `false` the record (row in a `ListGrid` or `TreeGrid`) will not highlight when the mouse moves over it, nor will it respond to mouse clicks.

      Parameters:
        `recordEnabledProperty` - Default value is "enabled"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `ListGridRecord.setEnabled(java.lang.Boolean)`, Disabled rows Example

    - #### getRecordEnabledProperty

          public java.lang.String getRecordEnabledProperty()

      Property name on a record that will be checked to determine whether a record is enabled.

      Setting this property on a record will effect the visual style and interactivity of the record. If set to `false` the record (row in a `ListGrid` or `TreeGrid`) will not highlight when the mouse moves over it, nor will it respond to mouse clicks.

      Returns:
        String
      See Also:
        `ListGridRecord.getEnabled()`, Disabled rows Example

    - #### setRecordSummaryBaseStyle

          public void setRecordSummaryBaseStyle(java.lang.String recordSummaryBaseStyle)

      If showing any record summary fields (IE: fields of `type:"summary"`), this attribute specifies a custom base style to apply to cells in the summary field

      Note : This is an advanced setting

      Parameters:
        `recordSummaryBaseStyle` - See `CSSStyleName` . Default value is "recordSummaryCell"

    - #### getRecordSummaryBaseStyle

          public java.lang.String getRecordSummaryBaseStyle()

      If showing any record summary fields (IE: fields of `type:"summary"`), this attribute specifies a custom base style to apply to cells in the summary field
      Returns:
        See `CSSStyleName`

    - #### setRemovedCSSText

          public void setRemovedCSSText(java.lang.String removedCSSText)

      Custom CSS text to be applied to records that have been `marked for removal`.

      This CSS text will be applied on top of standard disabled styling for the cell.

      Note : This is an advanced setting

      Parameters:
        `removedCSSText` - Default value is "text-decoration:line-through;"
      See Also:
        `Appearance overview and related methods`

    - #### getRemovedCSSText

          public java.lang.String getRemovedCSSText()

      Custom CSS text to be applied to records that have been `marked for removal`.

      This CSS text will be applied on top of standard disabled styling for the cell.

      Returns:
        String
      See Also:
        `Appearance overview and related methods`

    - #### setRemoveFieldProperties

          public void setRemoveFieldProperties(ListGridField removeFieldProperties)
                                        throws java.lang.IllegalStateException

      Configuration properties for the "remove field" displayed when `canRemoveRecords` is enabled.
      Parameters:
        `removeFieldProperties` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRemoveFieldProperties

          public ListGridField getRemoveFieldProperties()

      Configuration properties for the "remove field" displayed when `canRemoveRecords` is enabled.
      Returns:
        ListGridField

    - #### setRemoveFieldTitle

          public void setRemoveFieldTitle(java.lang.String removeFieldTitle)

      The title to use for the `remove field`.

      By default this title is not displayed in the remove column header button as the `removeFieldDefaults` sets `showTitle` to `false`.

      Note : This is an advanced setting

      Parameters:
        `removeFieldTitle` - Default value is "&nbsp;"

    - #### getRemoveFieldTitle

          public java.lang.String getRemoveFieldTitle()

      The title to use for the `remove field`.

      By default this title is not displayed in the remove column header button as the `removeFieldDefaults` sets `showTitle` to `false`.

      Returns:
        String

    - #### setRemoveIcon

          public void setRemoveIcon(java.lang.String removeIcon)
                             throws java.lang.IllegalStateException

      When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
      Parameters:
        `removeIcon` - See `SCImgURL` . Default value is "[SKIN]/actions/remove.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRemoveIcon

          public java.lang.String getRemoveIcon()

      When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
      Returns:
        See `SCImgURL`

    - #### setRemoveIconSize

          public void setRemoveIconSize(int removeIconSize)

      Default width and height of `remove icons` for this ListGrid.
      Parameters:
        `removeIconSize` - Default value is 16

    - #### getRemoveIconSize

          public int getRemoveIconSize()

      Default width and height of `remove icons` for this ListGrid.
      Returns:
        int

    - #### setReselectOnUpdate

          public void setReselectOnUpdate(boolean reselectOnUpdate)
                                   throws java.lang.IllegalStateException

      If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes. The `reselectOnUpdateNotifications` attributes governs whether `ListGrid.selectionUpdated()` and `ListGrid.selectionChanged()` will fire when this occurs.

      Note : This is an advanced setting

      Parameters:
        `reselectOnUpdate` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getReselectOnUpdate

          public boolean getReselectOnUpdate()

      If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes. The `reselectOnUpdateNotifications` attributes governs whether `ListGrid.selectionUpdated()` and `ListGrid.selectionChanged()` will fire when this occurs.
      Returns:
        boolean

    - #### setReselectOnUpdateNotifications

          public void setReselectOnUpdateNotifications(SelectionNotificationType reselectOnUpdateNotifications)

      if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.

      Note : This is an advanced setting

      Parameters:
        `reselectOnUpdateNotifications` - Default value is "selectionChanged"

    - #### getReselectOnUpdateNotifications

          public SelectionNotificationType getReselectOnUpdateNotifications()

      if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.
      Returns:
        SelectionNotificationType

    - #### setResizeFieldsInRealTime

          public void setResizeFieldsInRealTime(boolean resizeFieldsInRealTime)

      If `true`, the grid contents are redrawn in real time as fields are resized. This can be slow with a large grid and/or on some platforms. By default, this is enabled in modern desktop browsers. This is automatically switched off in mobile browsers.

      Note : This is an advanced setting

      Parameters:
        `resizeFieldsInRealTime` - Default value is see below

    - #### getResizeFieldsInRealTime

          public boolean getResizeFieldsInRealTime()

      If `true`, the grid contents are redrawn in real time as fields are resized. This can be slow with a large grid and/or on some platforms. By default, this is enabled in modern desktop browsers. This is automatically switched off in mobile browsers.
      Returns:
        boolean

    - #### setReverseRTLAlign

          public void setReverseRTLAlign(java.lang.Boolean reverseRTLAlign)

      If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?

      This is true by default to match user expectation that text flows from start-to end and is aligned with the start of text flow (left in LTR mode, right in RTL mode) by default. May be set to false to have the specified alignments be taken literally in RTL mode.

      Parameters:
        `reverseRTLAlign` - Default value is true

    - #### getReverseRTLAlign

          public java.lang.Boolean getReverseRTLAlign()

      If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?

      This is true by default to match user expectation that text flows from start-to end and is aligned with the start of text flow (left in LTR mode, right in RTL mode) by default. May be set to false to have the specified alignments be taken literally in RTL mode.

      Returns:
        Boolean

    - #### setRowEndEditAction

          public void setRowEndEditAction(RowEndEditAction rowEndEditAction)

      If the user is editing a record in this listGrid, and attempts to navigate to a field beyond the end of the row, via tab (or shift-tab off the first editable field), this property determines what action to take:
      - "next": start editing the next (or previous) record in the list
      - "same": put focus back into the first editable field of the same record.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action
      Parameters:
        `rowEndEditAction` - Default value is null
      See Also:
        `Editing overview and related methods`

    - #### getRowEndEditAction

          public RowEndEditAction getRowEndEditAction()

      If the user is editing a record in this listGrid, and attempts to navigate to a field beyond the end of the row, via tab (or shift-tab off the first editable field), this property determines what action to take:
      - "next": start editing the next (or previous) record in the list
      - "same": put focus back into the first editable field of the same record.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action
      Returns:
        RowEndEditAction
      See Also:
        `Editing overview and related methods`

    - #### getRowNumberField

          public ListGridField getRowNumberField()
                                          throws java.lang.IllegalStateException

      An automatically generated field that displays the current row number when `showRowNumbers` is true.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        ListGridField
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setRowNumberStart

          public void setRowNumberStart(int rowNumberStart)

      The number to start the row-count from - default value is 1.

      Note : This is an advanced setting

      Parameters:
        `rowNumberStart` - Default value is 1

    - #### getRowNumberStart

          public int getRowNumberStart()

      The number to start the row-count from - default value is 1.
      Returns:
        int

    - #### setRowNumberStyle

          public void setRowNumberStyle(java.lang.String rowNumberStyle)

      The CSS Style name for the `rowNumberField`.

      Note : This is an advanced setting

      Parameters:
        `rowNumberStyle` - See `CSSStyleName` . Default value is "specialCol"

    - #### getRowNumberStyle

          public java.lang.String getRowNumberStyle()

      The CSS Style name for the `rowNumberField`.
      Returns:
        See `CSSStyleName`

    - #### setRowSpanEditMode

          public void setRowSpanEditMode(RowSpanEditMode rowSpanEditMode)

      If `allowRowSpanning` is enabled, this property may be used to specify editing behavior for cells that span multiple rows.

      Note : This is an advanced setting

      Parameters:
        `rowSpanEditMode` - Default value is "first"

    - #### getRowSpanEditMode

          public RowSpanEditMode getRowSpanEditMode()

      If `allowRowSpanning` is enabled, this property may be used to specify editing behavior for cells that span multiple rows.
      Returns:
        RowSpanEditMode

    - #### setRowSpanSelectionMode

          public void setRowSpanSelectionMode(RowSpanSelectionMode rowSpanSelectionMode)
                                       throws java.lang.IllegalStateException

      Chooses the selection mode when `useRowSpanStyling` is enabled. See `RowSpanSelectionMode`.
      Parameters:
        `rowSpanSelectionMode` - Default value is "forward"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRowSpanSelectionMode

          public RowSpanSelectionMode getRowSpanSelectionMode()

      Chooses the selection mode when `useRowSpanStyling` is enabled. See `RowSpanSelectionMode`.
      Returns:
        RowSpanSelectionMode

    - #### setSaveByCell

          public void setSaveByCell(java.lang.Boolean saveByCell)

      Whether edits should be saved whenever the user moves between cells in the current edit row.

      If unset, defaults to `this.editByCell`.

      To avoid automatic saving entirely, set `autoSaveEdits`:false.

      Parameters:
        `saveByCell` - Default value is null
      See Also:
        `setEditByCell(java.lang.Boolean)`, `Editing overview and related methods`

    - #### getSaveByCell

          public java.lang.Boolean getSaveByCell()

      Whether edits should be saved whenever the user moves between cells in the current edit row.

      If unset, defaults to `this.editByCell`.

      To avoid automatic saving entirely, set `autoSaveEdits`:false.

      Returns:
        Boolean
      See Also:
        `getEditByCell()`, `Editing overview and related methods`

    - #### setSaveLocally

          public void setSaveLocally(java.lang.Boolean saveLocally)
                              throws java.lang.IllegalStateException

      For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server. In this case the grid's data should be specified as an array via the `data` attribute, and the datasource will simply act as a schema to describe the set of fields visible in the grid. `Inline edits`, or removals via the `canRemoveRecords` mechanism will update the local data array rather than attempting to perform operations against the dataSource.

      Note : This is an advanced setting

      Parameters:
        `saveLocally` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setUseRemoteValidators(java.lang.Boolean)`, `Databinding overview and related methods`

    - #### getSaveLocally

          public java.lang.Boolean getSaveLocally()

      For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server. In this case the grid's data should be specified as an array via the `data` attribute, and the datasource will simply act as a schema to describe the set of fields visible in the grid. `Inline edits`, or removals via the `canRemoveRecords` mechanism will update the local data array rather than attempting to perform operations against the dataSource.
      Returns:
        Boolean
      See Also:
        `getUseRemoteValidators()`, `Databinding overview and related methods`

    - #### setSaveRequestProperties

          public void setSaveRequestProperties(DSRequest saveRequestProperties)

      For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).

      An example usage would be to customize the prompt displayed while saving is in progress if `waitForSave` is true.

      Note that for more advanced customization of save operations, `addOperation` and `updateOperation` are available to developers, allowing specification of an explicit `OperationBinding` for the add / update operation performed on save.

      Note : This is an advanced setting

      Parameters:
        `saveRequestProperties` - Default value is null
      See Also:
        `Editing overview and related methods`

    - #### getSaveRequestProperties

          public DSRequest getSaveRequestProperties()

      For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).

      An example usage would be to customize the prompt displayed while saving is in progress if `waitForSave` is true.

      Note that for more advanced customization of save operations, `addOperation` and `updateOperation` are available to developers, allowing specification of an explicit `OperationBinding` for the add / update operation performed on save.

      Returns:
        DSRequest
      See Also:
        `Editing overview and related methods`

    - #### setScreenReaderCellSeparator

          public void setScreenReaderCellSeparator(java.lang.String screenReaderCellSeparator)
                                            throws java.lang.IllegalStateException

      When `screen reader mode` is enabled, this invisible separator string is written out between each cell value. This string will be picked up by screen readers allowing them to more obviously identify to the user the different cell values as the contents of a row are read aloud. The `screenReaderRowSeparator` string if any will be written out after the last cell in a row to separate the last cell's value from the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable the feature.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all read the forward slash '/' as "slash". See Why Don?t Screen Readers Always Read What?s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Note : This is an advanced setting

      Parameters:
        `screenReaderCellSeparator` - See `HTMLString` . Default value is "/"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Accessibility overview and related methods`

    - #### getScreenReaderCellSeparator

          public java.lang.String getScreenReaderCellSeparator()

      When `screen reader mode` is enabled, this invisible separator string is written out between each cell value. This string will be picked up by screen readers allowing them to more obviously identify to the user the different cell values as the contents of a row are read aloud. The `screenReaderRowSeparator` string if any will be written out after the last cell in a row to separate the last cell's value from the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable the feature.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all read the forward slash '/' as "slash". See Why Don?t Screen Readers Always Read What?s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Returns:
        See `HTMLString`
      See Also:
        `Accessibility overview and related methods`

    - #### setScreenReaderRowSeparator

          public void setScreenReaderRowSeparator(java.lang.String screenReaderRowSeparator)
                                           throws java.lang.IllegalStateException

      When `screen reader mode` is enabled, this invisible string will be written out after the last cell in a row. This string will be picked up by screen readers allowing them to more obviously identify to the user the end of the row's contents and the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable writing out an invisible string at the end of each row.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all pause briefly for a comma ',' that is within text. See Why Don?t Screen Readers Always Read What?s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Note : This is an advanced setting

      Parameters:
        `screenReaderRowSeparator` - See `HTMLString` . Default value is ","
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setScreenReaderCellSeparator(java.lang.String)`, `Accessibility overview and related methods`

    - #### getScreenReaderRowSeparator

          public java.lang.String getScreenReaderRowSeparator()

      When `screen reader mode` is enabled, this invisible string will be written out after the last cell in a row. This string will be picked up by screen readers allowing them to more obviously identify to the user the end of the row's contents and the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable writing out an invisible string at the end of each row.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all pause briefly for a comma ',' that is within text. See Why Don?t Screen Readers Always Read What?s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Returns:
        See `HTMLString`
      See Also:
        `getScreenReaderCellSeparator()`, `Accessibility overview and related methods`

    - #### setScrollRedrawDelay

          public void setScrollRedrawDelay(int scrollRedrawDelay)

      While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user. This delay may be separately customized for mouse-wheel scrolling via `scrollWheelRedrawDelay`.

      See also `instantScrollTrackRedraw` for cases where this delay is skipped.

      NOTE: In `touch browsers`, `touchScrollRedrawDelay` is used instead.

      Parameters:
        `scrollRedrawDelay` - Default value is 75

    - #### getScrollRedrawDelay

          public int getScrollRedrawDelay()

      While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user. This delay may be separately customized for mouse-wheel scrolling via `scrollWheelRedrawDelay`.

      See also `instantScrollTrackRedraw` for cases where this delay is skipped.

      NOTE: In `touch browsers`, `touchScrollRedrawDelay` is used instead.

      Returns:
        int

    - #### setScrollToCellXPosition

          public void setScrollToCellXPosition(Alignment scrollToCellXPosition)

      When scrollToCell is called, this is used as defaults if xPosition weren't explicitly passed into the method.
      Parameters:
        `scrollToCellXPosition` - Default value is "center"

    - #### getScrollToCellXPosition

          public Alignment getScrollToCellXPosition()

      When scrollToCell is called, this is used as defaults if xPosition weren't explicitly passed into the method.
      Returns:
        Alignment

    - #### setScrollToCellYPosition

          public void setScrollToCellYPosition(VerticalAlignment scrollToCellYPosition)

      When scrollToCell is called, this is used as defaults if yPosition weren't explicitly passed into the method.
      Parameters:
        `scrollToCellYPosition` - Default value is "center"

    - #### getScrollToCellYPosition

          public VerticalAlignment getScrollToCellYPosition()

      When scrollToCell is called, this is used as defaults if yPosition weren't explicitly passed into the method.
      Returns:
        VerticalAlignment

    - #### setScrollWheelRedrawDelay

          public void setScrollWheelRedrawDelay(java.lang.Integer scrollWheelRedrawDelay)

      While scrolling an incrementally rendered grid, using the mouseWheel, time in milliseconds to wait before redrawing, after the last mouseWheel movement by the user. If not specified `scrollRedrawDelay` will be used as a default for both drag scrolling and mouseWheel scrolling.

      Note that if specified, this value will typically be larger than `scrollRedrawDelay`. From experimentation, the default setting of `250` is typically enough time for a user to rapidly scroll through a grid (rotating the scroll wheel with repeated flicks), without redrawing between rotations, but this will differ depending on how long the redraw takes. A larger delay may be warranted for grids with large numbers of columns, heavy custom formatting, etc.

      See also `instantScrollTrackRedraw` for cases where this delay is skipped.

      Parameters:
        `scrollWheelRedrawDelay` - Default value is 250

    - #### getScrollWheelRedrawDelay

          public java.lang.Integer getScrollWheelRedrawDelay()

      While scrolling an incrementally rendered grid, using the mouseWheel, time in milliseconds to wait before redrawing, after the last mouseWheel movement by the user. If not specified `scrollRedrawDelay` will be used as a default for both drag scrolling and mouseWheel scrolling.

      Note that if specified, this value will typically be larger than `scrollRedrawDelay`. From experimentation, the default setting of `250` is typically enough time for a user to rapidly scroll through a grid (rotating the scroll wheel with repeated flicks), without redrawing between rotations, but this will differ depending on how long the redraw takes. A larger delay may be warranted for grids with large numbers of columns, heavy custom formatting, etc.

      See also `instantScrollTrackRedraw` for cases where this delay is skipped.

      Returns:
        Integer

    - #### setSelectedState

          public void setSelectedState(java.lang.String selectedState)

      Returns a snapshot of the current selection within this listGrid as a `ListGridSelectedState` object.
      This object can be passed to `ListGrid.setSelectedState()` to reset this grid's selection the current state (assuming the same data is present in the grid).
      If this method is called after the component has been drawn/initialized: Reset this grid's selection to match the `ListGridSelectedState` object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getSelectedState()`.
      Parameters:
        `selectedState` - Object describing the desired selection state of the grid See `ListGridSelectedState` . Default value is null

    - #### getSelectedState

          public java.lang.String getSelectedState()

      Returns a snapshot of the current selection within this listGrid as a `ListGridSelectedState` object.
      This object can be passed to `ListGrid.setSelectedState()` to reset this grid's selection the current state (assuming the same data is present in the grid).
      Returns:
        Returns a snapshot of the current selection within this listGrid as a `ListGridSelectedState` object.
        This object can be passed to `ListGrid.setSelectedState()` to reset this grid's current selection state (assuming the same data is present in the grid).
        See `ListGridSelectedState`

    - #### setSelectHeaderOnSort

          public void setSelectHeaderOnSort(java.lang.Boolean selectHeaderOnSort)

      If true, show the field-header for the sorted field (or the first field in a `multi-sort` grid) in the selected state.
      Parameters:
        `selectHeaderOnSort` - Default value is true

    - #### getSelectHeaderOnSort

          public java.lang.Boolean getSelectHeaderOnSort()

      If true, show the field-header for the sorted field (or the first field in a `multi-sort` grid) in the selected state.
      Returns:
        Boolean

    - #### setSelectionAppearance

          public void setSelectionAppearance(SelectionAppearance selectionAppearance)

      How selection of rows should be presented to the user.

      For `selectionAppearance:"checkbox"` with multiple selection allowed, you would typically use `selectionType`:"simple" (the default). Because `selectionType` and `selectionAppearance` are unrelated, the combination of `selectionAppearance:"checkbox"` and `selectionType:"multiple"` results in a grid where multiple selection can only be achieved via shift-click or ctrl-click.

      If using `"checkbox"` for a `ListGrid`, see also `checkboxField` for customization APIs.

      If using `"checkbox"` for a `TreeGrid`, an extra icon, `TreeGrid.getExtraIcon()` is not supported. Additionally only `selectionType`:"simple" and "single" are supported. You can also toggle the display of a disabled checkbox on a treegrid, displayed when the node can't be selected, via `showDisabledSelectionCheckbox`.
      If this method is called after the component has been drawn/initialized: Changes selectionAppearance on the fly.

      Parameters:
        `selectionAppearance` - new selection appearance. Default value is "rowStyle"
      See Also:
        `Selection overview and related methods`

    - #### getSelectionAppearance

          public SelectionAppearance getSelectionAppearance()

      How selection of rows should be presented to the user.

      For `selectionAppearance:"checkbox"` with multiple selection allowed, you would typically use `selectionType`:"simple" (the default). Because `selectionType` and `selectionAppearance` are unrelated, the combination of `selectionAppearance:"checkbox"` and `selectionType:"multiple"` results in a grid where multiple selection can only be achieved via shift-click or ctrl-click.

      If using `"checkbox"` for a `ListGrid`, see also `checkboxField` for customization APIs.

      If using `"checkbox"` for a `TreeGrid`, an extra icon, `TreeGrid.getExtraIcon()` is not supported. Additionally only `selectionType`:"simple" and "single" are supported. You can also toggle the display of a disabled checkbox on a treegrid, displayed when the node can't be selected, via `showDisabledSelectionCheckbox`.

      Returns:
        SelectionAppearance
      See Also:
        `Selection overview and related methods`

    - #### setSelectionProperty

          public void setSelectionProperty(java.lang.String selectionProperty)
                                    throws java.lang.IllegalStateException

      If specified, the selection object for this list will use this property to mark records as selected. In other words, if this attribute were set to `"isSelected"` any records in the listGrid data where `"isSelected"` is `true` will show up as selected in the grid. Similarly if records are selected within the grid after the grid has been created, this property will be set to true on the selected records.

      Note : This is an advanced setting

      Parameters:
        `selectionProperty` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance overview and related methods`

    - #### getSelectionProperty

          public java.lang.String getSelectionProperty()

      If specified, the selection object for this list will use this property to mark records as selected. In other words, if this attribute were set to `"isSelected"` any records in the listGrid data where `"isSelected"` is `true` will show up as selected in the grid. Similarly if records are selected within the grid after the grid has been created, this property will be set to true on the selected records.
      Returns:
        String
      See Also:
        `Appearance overview and related methods`

    - #### setSelectionType

          public void setSelectionType(SelectionStyle selectionType)

      Defines a listGrid's clickable-selection behavior.

      The default selection appearance is governed by `selectionAppearance`: if selectionAppearance is "checkbox", this will be "simple", otherwise, this will be "multiple".
      If this method is called after the component has been drawn/initialized: Changes selectionType on the fly.

      Parameters:
        `selectionType` - New selection style.. Default value is null
      See Also:
        `SelectionStyle`, `Appearance overview and related methods`, Multiple select Example

    - #### getSelectionType

          public SelectionStyle getSelectionType()

      Defines a listGrid's clickable-selection behavior.

      The default selection appearance is governed by `selectionAppearance`: if selectionAppearance is "checkbox", this will be "simple", otherwise, this will be "multiple".

      Returns:
        SelectionStyle
      See Also:
        `SelectionStyle`, `Appearance overview and related methods`, Multiple select Example

    - #### setSelectOnEdit

          public void setSelectOnEdit(java.lang.Boolean selectOnEdit)

      When the user starts editing a row, should the row also be selected?

      Note that when this attribute is set to `true`, other all other rows in the grid will be deselected when a record is selected due to editing.

      Note : This is an advanced setting

      Parameters:
        `selectOnEdit` - Default value is true
      See Also:
        `Editing overview and related methods`

    - #### getSelectOnEdit

          public java.lang.Boolean getSelectOnEdit()

      When the user starts editing a row, should the row also be selected?

      Note that when this attribute is set to `true`, other all other rows in the grid will be deselected when a record is selected due to editing.

      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setShowAllColumns

          public void setShowAllColumns(java.lang.Boolean showAllColumns)
                                 throws java.lang.IllegalStateException

      Whether all columns should be drawn all at once, or only columns visible in the viewport.

      Drawing all columns causes longer initial rendering time, but allows smoother horizontal scrolling. With a very large number of columns, showAllColumns will become too slow.

      Parameters:
        `showAllColumns` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowAllColumns

          public java.lang.Boolean getShowAllColumns()

      Whether all columns should be drawn all at once, or only columns visible in the viewport.

      Drawing all columns causes longer initial rendering time, but allows smoother horizontal scrolling. With a very large number of columns, showAllColumns will become too slow.

      Returns:
        Boolean

    - #### setShowAllRecords

          public void setShowAllRecords(java.lang.Boolean showAllRecords)

      Whether all rows should be drawn all at once, or only rows visible in the viewport.

      Drawing all rows causes longer initial rendering time, but allows smoother vertical scrolling. With a very large number of rows, showAllRows will become too slow.

      See also `drawAheadRatio` and `drawAllMaxCells`.

      Parameters:
        `showAllRecords` - Default value is false
      See Also:
        Rows Example

    - #### getShowAllRecords

          public java.lang.Boolean getShowAllRecords()

      Whether all rows should be drawn all at once, or only rows visible in the viewport.

      Drawing all rows causes longer initial rendering time, but allows smoother vertical scrolling. With a very large number of rows, showAllRows will become too slow.

      See also `drawAheadRatio` and `drawAllMaxCells`.

      Returns:
        Boolean
      See Also:
        Rows Example

    - #### setShowAsynchGroupingPrompt

          public void setShowAsynchGroupingPrompt(java.lang.Boolean showAsynchGroupingPrompt)
                                           throws java.lang.IllegalStateException

      If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
      Parameters:
        `showAsynchGroupingPrompt` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowAsynchGroupingPrompt

          public java.lang.Boolean getShowAsynchGroupingPrompt()

      If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
      Returns:
        Boolean

    - #### setShowBackgroundComponents

          public void setShowBackgroundComponents(java.lang.Boolean showBackgroundComponents)

      If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
      Parameters:
        `showBackgroundComponents` - Default value is false

    - #### getShowBackgroundComponents

          public java.lang.Boolean getShowBackgroundComponents()

      If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
      Returns:
        Boolean

    - #### setShowCellContextMenus

          public void setShowCellContextMenus(java.lang.Boolean showCellContextMenus)

      Whether to show a context menu with standard items for all context clicks on rows in the body.
      Parameters:
        `showCellContextMenus` - Default value is false

    - #### getShowCellContextMenus

          public java.lang.Boolean getShowCellContextMenus()

      Whether to show a context menu with standard items for all context clicks on rows in the body.
      Returns:
        Boolean

    - #### setShowClippedHeaderTitlesOnHover

          public void setShowClippedHeaderTitlesOnHover(boolean showClippedHeaderTitlesOnHover)
                                                 throws java.lang.IllegalStateException

      If true and a header button's title is clipped, then a hover containing the full field title is enabled.

      Note : This is an advanced setting

      Parameters:
        `showClippedHeaderTitlesOnHover` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `headerTitleClipped(int)`, `headerHoverHTML(int, java.lang.String)`

    - #### getShowClippedHeaderTitlesOnHover

          public boolean getShowClippedHeaderTitlesOnHover()

      If true and a header button's title is clipped, then a hover containing the full field title is enabled.
      Returns:
        boolean
      See Also:
        `headerTitleClipped(int)`, `headerHoverHTML(int, java.lang.String)`

    - #### setShowClippedValuesOnHover

          public void setShowClippedValuesOnHover(java.lang.Boolean showClippedValuesOnHover)
                                           throws java.lang.IllegalStateException

      If true and a cell's value is clipped, then a hover containing the full cell value is enabled.

      Note that standard cell hovers override clipped value hovers. Thus, to enable clipped value hovers, `canHover` must be unset or null and the corresponding field must have `showHover` unset or null as well.

      Note : This is an advanced setting

      Parameters:
        `showClippedValuesOnHover` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setCanHover(java.lang.Boolean)`, `cellValueHoverHTML(com.smartgwt.client.widgets.grid.ListGridRecord, int, int, java.lang.String)`

    - #### getShowClippedValuesOnHover

          public java.lang.Boolean getShowClippedValuesOnHover()

      If true and a cell's value is clipped, then a hover containing the full cell value is enabled.

      Note that standard cell hovers override clipped value hovers. Thus, to enable clipped value hovers, `canHover` must be unset or null and the corresponding field must have `showHover` unset or null as well.

      Returns:
        Boolean
      See Also:
        `getCanHover()`, `cellValueHoverHTML(com.smartgwt.client.widgets.grid.ListGridRecord, int, int, java.lang.String)`

    - #### setShowCollapsedGroupSummary

          public void setShowCollapsedGroupSummary(java.lang.Boolean showCollapsedGroupSummary)

      Should group summaries be visible when the group is collapsed?

      This property only applies to `grouped` grids showing `group summary rows`. When set to true, the group summary row(s) for each group will show up under the group header nodes when the group is collapsed, or at then end of the grouped set of data if the group is expanded.

      This property has no effect if `showGroupSummaryInHeader` is true.
      If this method is called after the component has been drawn/initialized: Setter for `showCollapsedGroupSummary`

      Parameters:
        `showCollapsedGroupSummary` - new showCollapsedGroupSummary value. Default value is false
      See Also:
        `groupBy(java.lang.String...)`

    - #### getShowCollapsedGroupSummary

          public java.lang.Boolean getShowCollapsedGroupSummary()

      Should group summaries be visible when the group is collapsed?

      This property only applies to `grouped` grids showing `group summary rows`. When set to true, the group summary row(s) for each group will show up under the group header nodes when the group is collapsed, or at then end of the grouped set of data if the group is expanded.

      This property has no effect if `showGroupSummaryInHeader` is true.

      Returns:
        Boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setShowDetailFields

          public void setShowDetailFields(java.lang.Boolean showDetailFields)
                                   throws java.lang.IllegalStateException

      Whether to include fields marked `detail:true` from this component's `DataSource`.

      Fields may also be included directly in this component's `fields` array in which case they will be present regardless of the `detail` attribute.

      When this property is `true`, `ListGrid`s will include all detail fields, but they will be initially hidden. The user may show these fields via the default header context menu (`showHeaderContextMenu`). Setting this property to false will completely exclude all detail fields from the list grid's fields array, such that they cannot be shown by the user or programmatically.

      To override the visibility of individual fields, use the standard `ListGrid.showField()`, `ListGrid.hideField()` and `ListGridField.showIf()` APIs, for example, set showIf:"true" to show a detail field initially.

      Specified by:
        `setShowDetailFields` in interface `DataBoundComponent`
      Parameters:
        `showDetailFields` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Databinding overview and related methods`

    - #### getShowDetailFields

          public java.lang.Boolean getShowDetailFields()

      Whether to include fields marked `detail:true` from this component's `DataSource`.

      Fields may also be included directly in this component's `fields` array in which case they will be present regardless of the `detail` attribute.

      When this property is `true`, `ListGrid`s will include all detail fields, but they will be initially hidden. The user may show these fields via the default header context menu (`showHeaderContextMenu`). Setting this property to false will completely exclude all detail fields from the list grid's fields array, such that they cannot be shown by the user or programmatically.

      To override the visibility of individual fields, use the standard `ListGrid.showField()`, `ListGrid.hideField()` and `ListGridField.showIf()` APIs, for example, set showIf:"true" to show a detail field initially.

      Specified by:
        `getShowDetailFields` in interface `DataBoundComponent`
      Returns:
        Boolean
      See Also:
        `Databinding overview and related methods`

    - #### setShowEmptyMessage

          public void setShowEmptyMessage(java.lang.Boolean showEmptyMessage)

      Indicates whether the text of the emptyMessage property should be displayed if no data is available.
      Parameters:
        `showEmptyMessage` - Default value is true
      See Also:
        `setEmptyMessage(java.lang.String)`, Empty grid Example

    - #### getShowEmptyMessage

          public java.lang.Boolean getShowEmptyMessage()

      Indicates whether the text of the emptyMessage property should be displayed if no data is available.
      Returns:
        Boolean
      See Also:
        `getEmptyMessage()`, Empty grid Example

    - #### setShowErrorIcons

          public void setShowErrorIcons(boolean showErrorIcons)

      If this grid is editable, and an edit has caused validation failure for some cell, should we show an icon to indicate validation failure?
      Parameters:
        `showErrorIcons` - Default value is true

    - #### getShowErrorIcons

          public boolean getShowErrorIcons()

      If this grid is editable, and an edit has caused validation failure for some cell, should we show an icon to indicate validation failure?
      Returns:
        boolean

    - #### getShowExpansionEditorSaveButton

          public java.lang.Boolean getShowExpansionEditorSaveButton()
                                                             throws java.lang.IllegalStateException

      When `ExpansionMode` is editor, should a Save button be shown below the the expanded editor?

      Note that if an expanded-row containing an editor is collapsed while changes are oustanding, changes will be either be automatically updated to the grid, or will first show a confirmation dialog, according to the value of `expansionEditorShowSaveDialog`.

      Note : This method should be called only after the widget has been rendered.

      Returns:
        Boolean
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setShowFilterEditor

          public void setShowFilterEditor(boolean showFilterEditor)

      Should this listGrid display a filter row. If true, this ListGrid will be drawn with a single editable row, (separate from the body) with a filter button.

      Values entered into this row are used as filter criteria to filter this List's data on enter-keypress or filter button click. `autoFetchTextMatchStyle` determines the textMatchStyle for the request passed to `ListGrid.fetchData()`.

      The default `search operator` for an item in the filterEditor can be set via a field's `filterEditorProperties`. When this happens, calls to retrieve the criteria from the grid return `AdvancedCriteria`.

      Note that if `ListGrid.filterData()` or `ListGrid.fetchData()` is called directly while the filter editor is showing, the filter editor values will be updated to reflect the new set of criteria. If you wish to retain the user entered filter criteria and modify a subset of field values programmatically, this can be achieved by copying the existing set of criteria and adding other changes - something like this:

              Criteria newCriteria = myListGrid.getFilterEditorCriteria();
              newCriteria = DataSource.combineCriteria(newCriteria,
                 new Criteria("field1", "new value1")
              );
              myListGrid.setCriteria(newCriteria);

      In this example code we're using `ListGrid.getFilterEditorCriteria()` rather than `ListGrid.getCriteria()` - this ensures that if the user has typed a new value into the filter editor, but not yet clicked the filter button, we pick up the value the user entered. This sample code uses `DataSource.combineCriteria()` to combine the existing filterEditorCriteria with some new custom criteria. This technique is applicable to both simple and advanced criteria.

      If you call `filterData()` and pass in criteria for dataSource fields that are not present in the ListGrid, these criteria will continue to be applied along with the user-visible criteria.

      filterEditor and advanced criteria: If a developer calls `filterData()` on a ListGrid and passes in `AdvancedCriteria`, expected behavior of the filter editor becomes ambiguous, since AdvancedCriteria has far more complex filter expression support than the ordinary filterEditor can represent.

      Default behavior for AdvancedCriteria will combine the AdvancedCriteria with the values in the filter editor as follows:

      - If the top level criteria has operator of type "and":
        Each field in the top level criteria array for which a 'canFilter' true field is shown in the listGrid will show up if the specified operator matches the default filter behavior (based on the `autoFetchTextMatchStyle`).
        If the user enters values in the filter editor, these will be combined with the existing AdvancedCriteria by either replacing or adding field level criteria at the top level.
      - If the top level criteria is a single field-criteria:
        If the field shows up in the listGrid and is canFilter:true, it will be displayed to the user (if the operator matches the default filter behavior for the field).
        If the user enters new filter criteria in the filterEditor, they will be combined with this existing criterion via a top level "and" operator, or if the user modifies the field for which the criterion already existed, it will be replaced.
      - Otherwise, if there are multiple top level criteria combined with an "or" operator, these will not be shown in the filter editor. Any filter parameters the user enters will be added to the existing criteria via an additional top level "and" operator, meaning the user will essentially filter a subset of the existing criteria

      See `dropCriteriaOnHideField` for behavior when hiding fields while the filter-editor is showing.
      If this method is called after the component has been drawn/initialized: Setter for the `showFilterEditor` property. Allows the filter editor to be shown or hidden at runtime.

      Parameters:
        `showFilterEditor` - true if the filter editor should be shown, false if it should be hidden. Default value is false
      See Also:
        Filter Example

    - #### getShowFilterEditor

          public boolean getShowFilterEditor()

      Should this listGrid display a filter row. If true, this ListGrid will be drawn with a single editable row, (separate from the body) with a filter button.

      Values entered into this row are used as filter criteria to filter this List's data on enter-keypress or filter button click. `autoFetchTextMatchStyle` determines the textMatchStyle for the request passed to `ListGrid.fetchData()`.

      The default `search operator` for an item in the filterEditor can be set via a field's `filterEditorProperties`. When this happens, calls to retrieve the criteria from the grid return `AdvancedCriteria`.

      Note that if `ListGrid.filterData()` or `ListGrid.fetchData()` is called directly while the filter editor is showing, the filter editor values will be updated to reflect the new set of criteria. If you wish to retain the user entered filter criteria and modify a subset of field values programmatically, this can be achieved by copying the existing set of criteria and adding other changes - something like this:

              Criteria newCriteria = myListGrid.getFilterEditorCriteria();
              newCriteria = DataSource.combineCriteria(newCriteria,
                 new Criteria("field1", "new value1")
              );
              myListGrid.setCriteria(newCriteria);

      In this example code we're using `ListGrid.getFilterEditorCriteria()` rather than `ListGrid.getCriteria()` - this ensures that if the user has typed a new value into the filter editor, but not yet clicked the filter button, we pick up the value the user entered. This sample code uses `DataSource.combineCriteria()` to combine the existing filterEditorCriteria with some new custom criteria. This technique is applicable to both simple and advanced criteria.

      If you call `filterData()` and pass in criteria for dataSource fields that are not present in the ListGrid, these criteria will continue to be applied along with the user-visible criteria.

      filterEditor and advanced criteria: If a developer calls `filterData()` on a ListGrid and passes in `AdvancedCriteria`, expected behavior of the filter editor becomes ambiguous, since AdvancedCriteria has far more complex filter expression support than the ordinary filterEditor can represent.

      Default behavior for AdvancedCriteria will combine the AdvancedCriteria with the values in the filter editor as follows:

      - If the top level criteria has operator of type "and":
        Each field in the top level criteria array for which a 'canFilter' true field is shown in the listGrid will show up if the specified operator matches the default filter behavior (based on the `autoFetchTextMatchStyle`).
        If the user enters values in the filter editor, these will be combined with the existing AdvancedCriteria by either replacing or adding field level criteria at the top level.
      - If the top level criteria is a single field-criteria:
        If the field shows up in the listGrid and is canFilter:true, it will be displayed to the user (if the operator matches the default filter behavior for the field).
        If the user enters new filter criteria in the filterEditor, they will be combined with this existing criterion via a top level "and" operator, or if the user modifies the field for which the criterion already existed, it will be replaced.
      - Otherwise, if there are multiple top level criteria combined with an "or" operator, these will not be shown in the filter editor. Any filter parameters the user enters will be added to the existing criteria via an additional top level "and" operator, meaning the user will essentially filter a subset of the existing criteria

      See `dropCriteriaOnHideField` for behavior when hiding fields while the filter-editor is showing.

      Returns:
        boolean
      See Also:
        Filter Example

    - #### setShowGridSummary

          public void setShowGridSummary(java.lang.Boolean showGridSummary)

      Should this ListGrid show a summary row beneath the last record of the grid. This summary row will contain per-field summary information. See `showGridSummary` and `ListGrid.getGridSummaryFunction()` for details on how the summary value to be displayed for each column will be calculated.

      Note that the `summaryRow autoChild` will be created to actually display the summary row.
      If this method is called after the component has been drawn/initialized: Setter for the `showGridSummary` attribute

      Parameters:
        `showGridSummary` - new value for this.showGridSummary. Default value is false

    - #### getShowGridSummary

          public java.lang.Boolean getShowGridSummary()

      Should this ListGrid show a summary row beneath the last record of the grid. This summary row will contain per-field summary information. See `showGridSummary` and `ListGrid.getGridSummaryFunction()` for details on how the summary value to be displayed for each column will be calculated.

      Note that the `summaryRow autoChild` will be created to actually display the summary row.

      Returns:
        Boolean

    - #### setShowGroupSummary

          public void setShowGroupSummary(java.lang.Boolean showGroupSummary)

      If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields. Summary information will be calculated by the `ListGridField.getGroupSummary()` method if specified, otherwise via the specified `summaryFunction`.
      If this method is called after the component has been drawn/initialized: Setter for the `showGroupSummary` attribute
      Parameters:
        `showGroupSummary` - new value for this.showGroupSummary. Default value is false
      See Also:
        `setGroupByFieldSummaries(java.lang.String...)`

    - #### getShowGroupSummary

          public java.lang.Boolean getShowGroupSummary()

      If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields. Summary information will be calculated by the `ListGridField.getGroupSummary()` method if specified, otherwise via the specified `summaryFunction`.
      Returns:
        Boolean
      See Also:
        `getGroupByFieldSummaries()`

    - #### setShowGroupSummaryInHeader

          public void setShowGroupSummaryInHeader(java.lang.Boolean showGroupSummaryInHeader)

      If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.

      Note that this means the group header node will be showing multiple field values rather than the default display of a single cell spanning all columns containing the group title. Developers may specify an explicit `groupTitleField`, or rely on the automatically generated `groupTitleColumn` to have group titles be visible in as well as the summary values.

      Also note that multi-line group summaries are not supported when showing the group summary in the group header. If multiple `field summary functions` are defined for some field only the first will be displayed when this property is set to true.
      If this method is called after the component has been drawn/initialized: Setter for `showGroupSummaryInHeader`

      Parameters:
        `showGroupSummaryInHeader` - new showGroupSummaryInHeader state. Default value is false
      See Also:
        `groupBy(java.lang.String...)`

    - #### getShowGroupSummaryInHeader

          public java.lang.Boolean getShowGroupSummaryInHeader()

      If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.

      Note that this means the group header node will be showing multiple field values rather than the default display of a single cell spanning all columns containing the group title. Developers may specify an explicit `groupTitleField`, or rely on the automatically generated `groupTitleColumn` to have group titles be visible in as well as the summary values.

      Also note that multi-line group summaries are not supported when showing the group summary in the group header. If multiple `field summary functions` are defined for some field only the first will be displayed when this property is set to true.

      Returns:
        Boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setShowGroupTitleColumn

          public void setShowGroupTitleColumn(java.lang.Boolean showGroupTitleColumn)
                                       throws java.lang.IllegalStateException

      If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.

      In this case there are 2 options for where the group title will show up. Developers may specify an existing field to put the title values into via `groupTitleField`. If no groupTitleField is specified, this property may be set to `true` which causes a `groupTitleColumn` to be automatically generated. Each group header will show the group title in this column (records within the group will not show a value for this column). The column appears in the leftmost position within the grid (unless `showRowNumbers` is true, in which case this column shows up in the second-leftmost position), and by default will auto-fit to its data.

      To customize this field, developers may modify `groupTitleColumnProperties`

      Parameters:
        `showGroupTitleColumn` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowGroupTitleColumn

          public java.lang.Boolean getShowGroupTitleColumn()

      If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.

      In this case there are 2 options for where the group title will show up. Developers may specify an existing field to put the title values into via `groupTitleField`. If no groupTitleField is specified, this property may be set to `true` which causes a `groupTitleColumn` to be automatically generated. Each group header will show the group title in this column (records within the group will not show a value for this column). The column appears in the leftmost position within the grid (unless `showRowNumbers` is true, in which case this column shows up in the second-leftmost position), and by default will auto-fit to its data.

      To customize this field, developers may modify `groupTitleColumnProperties`

      Returns:
        Boolean

    - #### setShowHeader

          public void setShowHeader(java.lang.Boolean showHeader)

      Should we show the header for this ListGrid?
      If this method is called after the component has been drawn/initialized: Show or hide the ListGrid header.
      Parameters:
        `showHeader` - true to show the header, false to hide it.. Default value is true
      See Also:
        `GridHeader overview and related methods`

    - #### getShowHeader

          public java.lang.Boolean getShowHeader()

      Should we show the header for this ListGrid?
      Returns:
        Boolean
      See Also:
        `GridHeader overview and related methods`

    - #### setShowHeaderContextMenu

          public void setShowHeaderContextMenu(java.lang.Boolean showHeaderContextMenu)
                                        throws java.lang.IllegalStateException

      Whether to show a context menu on the header with standard items for showing and hiding fields. Not supported for `CubeGrid`.
      Parameters:
        `showHeaderContextMenu` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `displayHeaderContextMenu(com.smartgwt.client.widgets.Canvas, int[])`, `getHeaderContextMenuItems(java.lang.Integer)`, `GridHeader overview and related methods`

    - #### getShowHeaderContextMenu

          public java.lang.Boolean getShowHeaderContextMenu()

      Whether to show a context menu on the header with standard items for showing and hiding fields. Not supported for `CubeGrid`.
      Returns:
        Boolean
      See Also:
        `displayHeaderContextMenu(com.smartgwt.client.widgets.Canvas, int[])`, `getHeaderContextMenuItems(java.lang.Integer)`, `GridHeader overview and related methods`

    - #### setShowHeaderMenuButton

          public void setShowHeaderMenuButton(java.lang.Boolean showHeaderMenuButton)
                                       throws java.lang.IllegalStateException

      If set to true and `showHeaderContextMenu` is true, the `headerMenuButton` will be displayed when the user rolls over the header buttons in this grid. Not supported for `CubeGrid`.
      Parameters:
        `showHeaderMenuButton` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowHeaderMenuButton

          public java.lang.Boolean getShowHeaderMenuButton()

      If set to true and `showHeaderContextMenu` is true, the `headerMenuButton` will be displayed when the user rolls over the header buttons in this grid. Not supported for `CubeGrid`.
      Returns:
        Boolean

    - #### setShowHeaderSpanTitlesInFormulaBuilder

          public void setShowHeaderSpanTitlesInFormulaBuilder(java.lang.Boolean showHeaderSpanTitlesInFormulaBuilder)

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
      Parameters:
        `showHeaderSpanTitlesInFormulaBuilder` - Default value is true
      See Also:
        `setFormulaBuilderSpanTitleSeparator(java.lang.String)`

    - #### getShowHeaderSpanTitlesInFormulaBuilder

          public java.lang.Boolean getShowHeaderSpanTitlesInFormulaBuilder()

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
      Returns:
        Boolean
      See Also:
        `getFormulaBuilderSpanTitleSeparator()`

    - #### setShowHeaderSpanTitlesInHiliteEditor

          public void setShowHeaderSpanTitlesInHiliteEditor(java.lang.Boolean showHeaderSpanTitlesInHiliteEditor)

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
      Parameters:
        `showHeaderSpanTitlesInHiliteEditor` - Default value is true
      See Also:
        `setHiliteEditorSpanTitleSeparator(java.lang.String)`

    - #### getShowHeaderSpanTitlesInHiliteEditor

          public java.lang.Boolean getShowHeaderSpanTitlesInHiliteEditor()

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
      Returns:
        Boolean
      See Also:
        `getHiliteEditorSpanTitleSeparator()`

    - #### setShowHeaderSpanTitlesInSortEditor

          public void setShowHeaderSpanTitlesInSortEditor(java.lang.Boolean showHeaderSpanTitlesInSortEditor)

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
      Parameters:
        `showHeaderSpanTitlesInSortEditor` - Default value is true
      See Also:
        `setSortEditorSpanTitleSeparator(java.lang.String)`

    - #### getShowHeaderSpanTitlesInSortEditor

          public java.lang.Boolean getShowHeaderSpanTitlesInSortEditor()

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
      Returns:
        Boolean
      See Also:
        `getSortEditorSpanTitleSeparator()`

    - #### setShowHilitesInGroupSummary

          public void setShowHilitesInGroupSummary(boolean showHilitesInGroupSummary)

      Determines whether hiliting for any field in this grid is shown in a group summary. This setting affects all fields of the grid.

      To suppress hilites for a specific field see `showHilitesInGroupSummary`.

      Hiliting in summary fields (columns) can be enabled by setting `includeHiliteInSummaryField` to true.

      Parameters:
        `showHilitesInGroupSummary` - Default value is true

    - #### getShowHilitesInGroupSummary

          public boolean getShowHilitesInGroupSummary()

      Determines whether hiliting for any field in this grid is shown in a group summary. This setting affects all fields of the grid.

      To suppress hilites for a specific field see `showHilitesInGroupSummary`.

      Hiliting in summary fields (columns) can be enabled by setting `includeHiliteInSummaryField` to true.

      Returns:
        boolean

    - #### setShowHover

          public void setShowHover(java.lang.Boolean showHover)

      If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse. The contents of the hover is determined by `ListGrid.cellHoverHTML()`.
      Overrides:
        `setShowHover` in class `Canvas`
      Parameters:
        `showHover` - Default value is true
      See Also:
        `setCanHover(java.lang.Boolean)`, `com.smartgwt.client.widgets.grid.ListGrid#cellHoverHTML`

    - #### getShowHover

          public java.lang.Boolean getShowHover()

      If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse. The contents of the hover is determined by `ListGrid.cellHoverHTML()`.
      Overrides:
        `getShowHover` in class `Canvas`
      Returns:
        Boolean
      See Also:
        `getCanHover()`, `com.smartgwt.client.widgets.grid.ListGrid#cellHoverHTML`

    - #### setShowHoverComponents

          public void setShowHoverComponents(java.lang.Boolean showHoverComponents)

      When set to true and canHover is also true, shows a widget hovering at the mouse point.

      A number of builtin modes are provided - see `HoverMode`.

      Note : This is an advanced setting

      Overrides:
        `setShowHoverComponents` in class `Canvas`
      Parameters:
        `showHoverComponents` - Default value is false

    - #### getShowHoverComponents

          public java.lang.Boolean getShowHoverComponents()

      When set to true and canHover is also true, shows a widget hovering at the mouse point.

      A number of builtin modes are provided - see `HoverMode`.

      Overrides:
        `getShowHoverComponents` in class `Canvas`
      Returns:
        Boolean

    - #### setShowPartialSelection

          public void setShowPartialSelection(java.lang.Boolean showPartialSelection)

      Should partially selected parents (in a Tree data set) be shown with special icon? This has an impact in grouped grids where `canSelectGroups` is true. The partial icon will show up for the group header node when a group is partially selected.
      Parameters:
        `showPartialSelection` - Default value is false

    - #### getShowPartialSelection

          public java.lang.Boolean getShowPartialSelection()

      Should partially selected parents (in a Tree data set) be shown with special icon? This has an impact in grouped grids where `canSelectGroups` is true. The partial icon will show up for the group header node when a group is partially selected.
      Returns:
        Boolean

    - #### setShowRecordComponents

          public void setShowRecordComponents(java.lang.Boolean showRecordComponents)

      When enabled, `ListGrid.createRecordComponent()` will be called when saved rows are being rendered, and any returned component will be displayed embedded within the row or cell.

      recordComponents are not created for newly added rows which have not yet been saved. See the `Handling Unsaved Records overview` for more information.

      Depending on the `showRecordComponentsByCell` setting, `createRecordComponent()` will be called either once per row, or once for every cell.

      Depending on `recordComponentPosition`, components can either be placed underneath normal record or cell content ("expand" setting) or placed so that they overlap normal cell content ("within" setting). For the "within" setting, the default is to fill the row or cell, but the component can specify percent size or even use `snapTo-positioning` to place itself within the row or cell.

      The "expand" setting is incompatible with `frozen columns` unless all `recordComponents` are the same height and they are present in every row, in which case the fixed height of all `recordComponents` can be set via `recordComponentHeight` to re-enable frozen fields.

      Using `recordComponents` potentially means creating one component for every visible grid row or cell and so can impact performance. Before using this subsystem:

      - consider using `valueIcons` (possibly with a specified `ListGridField.valueIconClick()` handler) for icons based on field values which may be displayed alone in the cell or alongside standard content (see `showValueIconOnly`);
      - for clickable icons representing actions that can be taken on a record, also consider using `a field of type "icon"`, or multiple such fields
      - for controls that only need to appear on rollover, consider `rollOver controls`
      - if you are trying to customize the editor for a field, you can provide a custom control via `editorType`, and `icons` are a common way to add clickable buttons. You can also `provide different controls per record`. These options are usually better that using `recordComponents` as custom editors, since you won't have to manage issues like making the `recordComponent` appear only when editing, having changes affect `editValues`, triggering saves and handling validation errors, etc.

      See `RecordComponentPoolingMode` for an overview of how best to optimize use of `recordComponents` for different data sets.

      Regardless of the pooling mode, you can explicitly refresh record components via `ListGrid.invalidateRecordComponents()` and `ListGrid.refreshRecordComponent()`.
      If this method is called after the component has been drawn/initialized: Setter for the `showRecordComponents` attribute

      Note : This is an advanced setting

      Parameters:
        `showRecordComponents` - new value for `this.showRecordComponents`. Default value is null
      See Also:
        `setRecordComponentPosition(com.smartgwt.client.types.EmbeddedPosition)`, `setShowRecordComponentsByCell(java.lang.Boolean)`, `RecordComponentPoolingMode`, `showRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer)`, `createRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer)`, `updateRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer, com.smartgwt.client.widgets.Canvas, boolean)`

    - #### getShowRecordComponents

          public java.lang.Boolean getShowRecordComponents()

      When enabled, `ListGrid.createRecordComponent()` will be called when saved rows are being rendered, and any returned component will be displayed embedded within the row or cell.

      recordComponents are not created for newly added rows which have not yet been saved. See the `Handling Unsaved Records overview` for more information.

      Depending on the `showRecordComponentsByCell` setting, `createRecordComponent()` will be called either once per row, or once for every cell.

      Depending on `recordComponentPosition`, components can either be placed underneath normal record or cell content ("expand" setting) or placed so that they overlap normal cell content ("within" setting). For the "within" setting, the default is to fill the row or cell, but the component can specify percent size or even use `snapTo-positioning` to place itself within the row or cell.

      The "expand" setting is incompatible with `frozen columns` unless all `recordComponents` are the same height and they are present in every row, in which case the fixed height of all `recordComponents` can be set via `recordComponentHeight` to re-enable frozen fields.

      Using `recordComponents` potentially means creating one component for every visible grid row or cell and so can impact performance. Before using this subsystem:

      - consider using `valueIcons` (possibly with a specified `ListGridField.valueIconClick()` handler) for icons based on field values which may be displayed alone in the cell or alongside standard content (see `showValueIconOnly`);
      - for clickable icons representing actions that can be taken on a record, also consider using `a field of type "icon"`, or multiple such fields
      - for controls that only need to appear on rollover, consider `rollOver controls`
      - if you are trying to customize the editor for a field, you can provide a custom control via `editorType`, and `icons` are a common way to add clickable buttons. You can also `provide different controls per record`. These options are usually better that using `recordComponents` as custom editors, since you won't have to manage issues like making the `recordComponent` appear only when editing, having changes affect `editValues`, triggering saves and handling validation errors, etc.

      See `RecordComponentPoolingMode` for an overview of how best to optimize use of `recordComponents` for different data sets.

      Regardless of the pooling mode, you can explicitly refresh record components via `ListGrid.invalidateRecordComponents()` and `ListGrid.refreshRecordComponent()`.

      Returns:
        Boolean
      See Also:
        `getRecordComponentPosition()`, `getShowRecordComponentsByCell()`, `RecordComponentPoolingMode`, `showRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer)`, `createRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer)`, `updateRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer, com.smartgwt.client.widgets.Canvas, boolean)`

    - #### setShowRecordComponentsByCell

          public void setShowRecordComponentsByCell(java.lang.Boolean showRecordComponentsByCell)

      If true, shows `recordComponents` in cells, rather than just in records.

      Note : This is an advanced setting

      Parameters:
        `showRecordComponentsByCell` - Default value is null

    - #### getShowRecordComponentsByCell

          public java.lang.Boolean getShowRecordComponentsByCell()

      If true, shows `recordComponents` in cells, rather than just in records.
      Returns:
        Boolean

    - #### setShowRollOver

          public void setShowRollOver(java.lang.Boolean showRollOver)

      Should a different styling be shown for the cell that the mouse is over? By default, this is `true`, except on touch devices (`isTouch` is `true`) for which the default `showRollOver` setting is `false`.

      If `true`, the cell style will have an "Over" suffix.

      Parameters:
        `showRollOver` - Default value is see below
      See Also:
        `setBaseStyle(java.lang.String)`, `Appearance overview and related methods`

    - #### getShowRollOver

          public java.lang.Boolean getShowRollOver()

      Should a different styling be shown for the cell that the mouse is over? By default, this is `true`, except on touch devices (`isTouch` is `true`) for which the default `showRollOver` setting is `false`.

      If `true`, the cell style will have an "Over" suffix.

      Returns:
        Boolean
      See Also:
        `getBaseStyle()`, `Appearance overview and related methods`

    - #### setShowRollOverCanvas

          public void setShowRollOverCanvas(java.lang.Boolean showRollOverCanvas)

      When enabled, when the mouse moves over a row or cell (depending on `useCellRollOvers`), an arbitrary Canvas can be shown layered on top of the row or cell (the `rollOverCanvas`), layered underneath the row or cell (the `rollUnderCanvas`), or both.

      This can be used to dynamically show controls or informational displays only on rollover. For example, controls to delete a row might appear only on rollover so they do not clutter the static display, or a "rollunder" Canvas could be used to display additional information that can appear behind normal cell values (like displaying percent complete via as a bar of color that appears behind text values).

      `snapTo positioning` can be used to place the rollOver/rollUnderCanvas. With `useCellRollOvers`, positioning is relative to the cell, for row-level rollOver, position is relative to the portion of the row that is scrolled into view (this implies a row-level rollOver/UnderCanvas can never be placed horizontally scrolled out of view, but this is possible for a cell-level rollOver).

      `snapTo` positioning makes it easy to do something like place a button at the right edge of the grid, next to the scrollbar: just set snapTo:"R" on the `rollOverCanvas`.

      The rollOver/rollUnder Canvas can be a single static component (the same for all cells/rows) configured via the `com.smartgwt.client.types.AutoChild` system, or can instead be provided dynamically by implementing `ListGrid.getRollOverCanvas()` and/or `ListGrid.getRollUnderCanvas()`.

      With row-level rollOvers with `frozen fields`, the `rollOverCanvas` and `rollUnderCanvas` appear only for non-frozen fields. This is usually not an issue for something like rollOver controls for row deletion, but will prevent certain scenarios of using rollOverCanvas/rollUnderCanvas for visual styling.

      `showRollOverCanvas` has no effect if `showRollOver` is `false`.

      Note : This is an advanced setting

      Parameters:
        `showRollOverCanvas` - Default value is null
      See Also:
        `setShowRollUnderCanvas(java.lang.Boolean)`, RollOver Controls Example

    - #### getShowRollOverCanvas

          public java.lang.Boolean getShowRollOverCanvas()

      When enabled, when the mouse moves over a row or cell (depending on `useCellRollOvers`), an arbitrary Canvas can be shown layered on top of the row or cell (the `rollOverCanvas`), layered underneath the row or cell (the `rollUnderCanvas`), or both.

      This can be used to dynamically show controls or informational displays only on rollover. For example, controls to delete a row might appear only on rollover so they do not clutter the static display, or a "rollunder" Canvas could be used to display additional information that can appear behind normal cell values (like displaying percent complete via as a bar of color that appears behind text values).

      `snapTo positioning` can be used to place the rollOver/rollUnderCanvas. With `useCellRollOvers`, positioning is relative to the cell, for row-level rollOver, position is relative to the portion of the row that is scrolled into view (this implies a row-level rollOver/UnderCanvas can never be placed horizontally scrolled out of view, but this is possible for a cell-level rollOver).

      `snapTo` positioning makes it easy to do something like place a button at the right edge of the grid, next to the scrollbar: just set snapTo:"R" on the `rollOverCanvas`.

      The rollOver/rollUnder Canvas can be a single static component (the same for all cells/rows) configured via the `com.smartgwt.client.types.AutoChild` system, or can instead be provided dynamically by implementing `ListGrid.getRollOverCanvas()` and/or `ListGrid.getRollUnderCanvas()`.

      With row-level rollOvers with `frozen fields`, the `rollOverCanvas` and `rollUnderCanvas` appear only for non-frozen fields. This is usually not an issue for something like rollOver controls for row deletion, but will prevent certain scenarios of using rollOverCanvas/rollUnderCanvas for visual styling.

      `showRollOverCanvas` has no effect if `showRollOver` is `false`.

      Returns:
        Boolean
      See Also:
        `getShowRollUnderCanvas()`, RollOver Controls Example

    - #### setShowRollUnderCanvas

          public void setShowRollUnderCanvas(java.lang.Boolean showRollUnderCanvas)

      If roll overs are enabled, should the `rollUnderCanvas` be displayed?

      Use of the `showRollUnderCanvas` is enabled if `showRollOver` is `true`, and either `showRollOverCanvas` is `true` and `showRollUnderCanvas` is unset, or `showRollUnderCanvas` is explicitly set to `true`.

      Note : This is an advanced setting

      Parameters:
        `showRollUnderCanvas` - Default value is null
      See Also:
        `setShowRollOverCanvas(java.lang.Boolean)`, Animated Selection Example

    - #### getShowRollUnderCanvas

          public java.lang.Boolean getShowRollUnderCanvas()

      If roll overs are enabled, should the `rollUnderCanvas` be displayed?

      Use of the `showRollUnderCanvas` is enabled if `showRollOver` is `true`, and either `showRollOverCanvas` is `true` and `showRollUnderCanvas` is unset, or `showRollUnderCanvas` is explicitly set to `true`.

      Returns:
        Boolean
      See Also:
        `getShowRollOverCanvas()`, Animated Selection Example

    - #### setShowRowNumbers

          public void setShowRowNumbers(java.lang.Boolean showRowNumbers)

      When set to true, shows an additional field at the beginning of the field-list (respecting RTL) that displays the current rowNum for each record.

      Note : This is an advanced setting

      Parameters:
        `showRowNumbers` - Default value is null

    - #### getShowRowNumbers

          public java.lang.Boolean getShowRowNumbers()

      When set to true, shows an additional field at the beginning of the field-list (respecting RTL) that displays the current rowNum for each record.
      Returns:
        Boolean

    - #### setShowSelectedStyle

          public void setShowSelectedStyle(java.lang.Boolean showSelectedStyle)

      Should the "Selected" style be applied to selected records?
      Parameters:
        `showSelectedStyle` - Default value is true

    - #### getShowSelectedStyle

          public java.lang.Boolean getShowSelectedStyle()

      Should the "Selected" style be applied to selected records?
      Returns:
        Boolean

    - #### setShowSelectionCanvas

          public void setShowSelectionCanvas(java.lang.Boolean showSelectionCanvas)

      If `selectionType` is set to `SelectionStyle.SINGLE`, setting this property to `true` means selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling.

      If `showSelectionCanvas` is set to `true`, then the `selectionUnderCanvas` will automatically be enabled unless `showSelectionUnderCanvas` is set to `false`.

      NOTE: It is recommended to use the `selectionUnderCanvas` rather than the `selectionCanvas` if possible because the `selectionCanvas` is stacked on top of the selected record and this may interfere with event handling in rare cases. If no interactive components are shown in the `selectionCanvas` and it simply provides custom styling, then the `selectionUnderCanvas` should be used instead.

      With `frozen fields`, the `selectionCanvas` is displayed only over the non-frozen fields of the selected row.

      Note : This is an advanced setting

      Parameters:
        `showSelectionCanvas` - Default value is null
      See Also:
        `setShowSelectionUnderCanvas(java.lang.Boolean)`

    - #### getShowSelectionCanvas

          public java.lang.Boolean getShowSelectionCanvas()

      If `selectionType` is set to `SelectionStyle.SINGLE`, setting this property to `true` means selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling.

      If `showSelectionCanvas` is set to `true`, then the `selectionUnderCanvas` will automatically be enabled unless `showSelectionUnderCanvas` is set to `false`.

      NOTE: It is recommended to use the `selectionUnderCanvas` rather than the `selectionCanvas` if possible because the `selectionCanvas` is stacked on top of the selected record and this may interfere with event handling in rare cases. If no interactive components are shown in the `selectionCanvas` and it simply provides custom styling, then the `selectionUnderCanvas` should be used instead.

      With `frozen fields`, the `selectionCanvas` is displayed only over the non-frozen fields of the selected row.

      Returns:
        Boolean
      See Also:
        `getShowSelectionUnderCanvas()`

    - #### setShowSelectionUnderCanvas

          public void setShowSelectionUnderCanvas(java.lang.Boolean showSelectionUnderCanvas)

      If `selectionType` is set to `SelectionStyle.SINGLE`, and either `showSelectionCanvas` is `true` and `showSelectionUnderCanvas` is unset, or `showSelectionUnderCanvas` is explicitly set to `true`, then selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling. Setting `showSelectionUnderCanvas` to `false` will disable the use of the `selectionUnderCanvas`.

      With `frozen fields`, the `selectionUnderCanvas` is displayed only behind the non-frozen fields of the selected row.

      Note : This is an advanced setting

      Parameters:
        `showSelectionUnderCanvas` - Default value is null
      See Also:
        `setShowSelectionCanvas(java.lang.Boolean)`

    - #### getShowSelectionUnderCanvas

          public java.lang.Boolean getShowSelectionUnderCanvas()

      If `selectionType` is set to `SelectionStyle.SINGLE`, and either `showSelectionCanvas` is `true` and `showSelectionUnderCanvas` is unset, or `showSelectionUnderCanvas` is explicitly set to `true`, then selection will be displayed to the user with the `selectionCanvas` and/or `selectionUnderCanvas` rather than with CSS styling. Setting `showSelectionUnderCanvas` to `false` will disable the use of the `selectionUnderCanvas`.

      With `frozen fields`, the `selectionUnderCanvas` is displayed only behind the non-frozen fields of the selected row.

      Returns:
        Boolean
      See Also:
        `getShowSelectionCanvas()`

    - #### setShowSortArrow

          public void setShowSortArrow(SortArrow showSortArrow)

      Indicates whether a sorting arrow should appear for the listGrid, and its location. See `SortArrow` for details.

      Clicking the sort arrow reverses the direction of sorting for the current sort column (if any), or sorts the listGrid by its first sortable column. The arrow image on the button indicates the current direction of sorting. If undefined, the sort arrow will show up in the sorted field, and the corner sort button will be displayed if a vertical scrollbar is being displayed

      Parameters:
        `showSortArrow` - Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getShowSortArrow

          public SortArrow getShowSortArrow()

      Indicates whether a sorting arrow should appear for the listGrid, and its location. See `SortArrow` for details.

      Clicking the sort arrow reverses the direction of sorting for the current sort column (if any), or sorts the listGrid by its first sortable column. The arrow image on the button indicates the current direction of sorting. If undefined, the sort arrow will show up in the sorted field, and the corner sort button will be displayed if a vertical scrollbar is being displayed

      Returns:
        SortArrow
      See Also:
        `Appearance overview and related methods`

    - #### setShowSortNumerals

          public void setShowSortNumerals(java.lang.Boolean showSortNumerals)

      When multiple fields are sorted, set this to false to hide the sort-numeral displayed by default after the sort-arrows in the header-buttons of sorted fields.

      Note : This is an advanced setting

      Parameters:
        `showSortNumerals` - Default value is null

    - #### getShowSortNumerals

          public java.lang.Boolean getShowSortNumerals()

      When multiple fields are sorted, set this to false to hide the sort-numeral displayed by default after the sort-arrows in the header-buttons of sorted fields.
      Returns:
        Boolean

    - #### setShowTreeColumnPicker

          public void setShowTreeColumnPicker(java.lang.Boolean showTreeColumnPicker)
                                       throws java.lang.IllegalStateException

      When `headerSpans` are in use, whether to show a hierarchical column picker that includes both headerSpans and normal headers, with normal headers indented under headerSpans similarly to how a `TreeGrid` displays a Tree.

      If `showTreeColumnPicker` is false, no column picker will be shown on the headerSpan itself, and the column picker for a clicked on a normal field header will include only normal fields.

      Parameters:
        `showTreeColumnPicker` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowTreeColumnPicker

          public java.lang.Boolean getShowTreeColumnPicker()

      When `headerSpans` are in use, whether to show a hierarchical column picker that includes both headerSpans and normal headers, with normal headers indented under headerSpans similarly to how a `TreeGrid` displays a Tree.

      If `showTreeColumnPicker` is false, no column picker will be shown on the headerSpan itself, and the column picker for a clicked on a normal field header will include only normal fields.

      Returns:
        Boolean

    - #### setShrinkForFreeze

          public void setShrinkForFreeze(java.lang.Boolean shrinkForFreeze)

      If this list grid is showing any `frozen` fields, and a horizontal scrollbar is visible at the bottom of the liquid columns, should an equivalent scrollbar gap be left visible below the frozen columns?
      Note that if set to `true` any backgroundColor or border applied to the ListGrid will show up below the bottom row of the frozen column(s).

      Note : This is an advanced setting

      Parameters:
        `shrinkForFreeze` - Default value is false
      See Also:
        `FrozenFields overview and related methods`

    - #### getShrinkForFreeze

          public java.lang.Boolean getShrinkForFreeze()

      If this list grid is showing any `frozen` fields, and a horizontal scrollbar is visible at the bottom of the liquid columns, should an equivalent scrollbar gap be left visible below the frozen columns?
      Note that if set to `true` any backgroundColor or border applied to the ListGrid will show up below the bottom row of the frozen column(s).
      Returns:
        Boolean
      See Also:
        `FrozenFields overview and related methods`

    - #### setSingleCellValueProperty

          public void setSingleCellValueProperty(java.lang.String singleCellValueProperty)

      If `record[this.singleCellValueProperty]` is set for some record, the record will be displayed as a single cell spanning every column in the grid, with contents set to the value of `record[this.singleCellValueProperty]`.
      Parameters:
        `singleCellValueProperty` - Default value is "singleCellValue"

    - #### getSingleCellValueProperty

          public java.lang.String getSingleCellValueProperty()

      If `record[this.singleCellValueProperty]` is set for some record, the record will be displayed as a single cell spanning every column in the grid, with contents set to the value of `record[this.singleCellValueProperty]`.
      Returns:
        String

    - #### setSkinImgDir

          public void setSkinImgDir(java.lang.String skinImgDir)

      Where do 'skin' images (those provided with the class) live?

      Note : This is an advanced setting

      Overrides:
        `setSkinImgDir` in class `Canvas`
      Parameters:
        `skinImgDir` - Default value is "images/ListGrid/"
      See Also:
        `Images overview and related methods`

    - #### getSkinImgDir

          public java.lang.String getSkinImgDir()

      Where do 'skin' images (those provided with the class) live?
      Overrides:
        `getSkinImgDir` in class `Canvas`
      Returns:
        String
      See Also:
        `Images overview and related methods`

    - #### setSortAscendingImage

          public void setSortAscendingImage(ImgProperties sortAscendingImage)

      Image to show when sorting ascending. See `ImgProperties` for format.

      Note : This is an advanced setting

      Parameters:
        `sortAscendingImage` - Default value is {...}
      See Also:
        `Appearance overview and related methods`

    - #### getSortAscendingImage

          public ImgProperties getSortAscendingImage()

      Image to show when sorting ascending. See `ImgProperties` for format.
      Returns:
        ImgProperties
      See Also:
        `Appearance overview and related methods`

    - #### setSortByGroupFirst

          public void setSortByGroupFirst(java.lang.Boolean sortByGroupFirst)

      If set, whenever grouping is performed by an end user or by a programmatic call to `ListGrid.groupBy()`, data is implicitly sorted by all of the grouped columns, in the order they were passed to groupBy. Any user-configured sorting is applied after sorting by grouped columns.

      Sorting by grouped fields will be in ascending or descending order according to whether the grid is currently sorted (by any field) in ascending or descending order, defaulting to ascending if the grid is not sorted. Implicit sorting by group can be forced to be always ascending or always descending by setting `groupSortDirection`.

      The sorting is "implicit" in the sense that the sorting is not shown in the ListGrid headers, and not shown in the MultiSortDialog if enabled. An end user cannot currently remove the implicit sorting themselves (except by removing the grouping), though it is possible to override it by providing an expliit sort on the group's column. Clicking on the grouped field's header reveals the usual sort indicators with all the same semantics.

      The correct way to remove implicit sorting programmatically is to call `setSortByGroupFirst(false)`.

      Programmatic calls to `ListGrid.getSort()` will not include the implicit sort in the list of return sort specifiers, and calls to `ListGrid.setSort()` will implicitly add the sorting by grouped columns before the specified sort.

      Note that directly calling ResultSet.getSort() will include the implicit sort information.

      Parameters:
        `sortByGroupFirst` - Default value is null

    - #### getSortByGroupFirst

          public java.lang.Boolean getSortByGroupFirst()

      If set, whenever grouping is performed by an end user or by a programmatic call to `ListGrid.groupBy()`, data is implicitly sorted by all of the grouped columns, in the order they were passed to groupBy. Any user-configured sorting is applied after sorting by grouped columns.

      Sorting by grouped fields will be in ascending or descending order according to whether the grid is currently sorted (by any field) in ascending or descending order, defaulting to ascending if the grid is not sorted. Implicit sorting by group can be forced to be always ascending or always descending by setting `groupSortDirection`.

      The sorting is "implicit" in the sense that the sorting is not shown in the ListGrid headers, and not shown in the MultiSortDialog if enabled. An end user cannot currently remove the implicit sorting themselves (except by removing the grouping), though it is possible to override it by providing an expliit sort on the group's column. Clicking on the grouped field's header reveals the usual sort indicators with all the same semantics.

      The correct way to remove implicit sorting programmatically is to call `setSortByGroupFirst(false)`.

      Programmatic calls to `ListGrid.getSort()` will not include the implicit sort in the list of return sort specifiers, and calls to `ListGrid.setSort()` will implicitly add the sorting by grouped columns before the specified sort.

      Note that directly calling ResultSet.getSort() will include the implicit sort information.

      Returns:
        Boolean

    - #### setSortDescendingImage

          public void setSortDescendingImage(ImgProperties sortDescendingImage)

      Image to show when sorting descending. See `ImgProperties` for format.

      Note : This is an advanced setting

      Parameters:
        `sortDescendingImage` - Default value is {...}
      See Also:
        `Appearance overview and related methods`

    - #### getSortDescendingImage

          public ImgProperties getSortDescendingImage()

      Image to show when sorting descending. See `ImgProperties` for format.
      Returns:
        ImgProperties
      See Also:
        `Appearance overview and related methods`

    - #### setSortDirection

          public void setSortDirection(SortDirection sortDirection)

      Sorting direction of this ListGrid. If specified when the ListGrid is initialized, this property will be the default sorting direction for the `sortField`. May be overridden by specifying `sortDirection`.

      After initialization, this property will be updated on `ListGrid.sort()` or `ListGrid.setSort()` to reflect the current sort direction of the grid. When this grid is sorted by multiple fields, the grid's sortDirection reflects the sort direction of the primary sort field.
      If this method is called after the component has been drawn/initialized: Sort this grid's data, with the option to explicitly specify a single field to sort by and sort direction.

      If sortField is not provided and listGrid.sortField is undefined, the data will be sorted by the first sortable column according to `sortDirection` if specified, or `sortDirection`.

      ListGrids also support multiple-field sorting. See `ListGrid.setSort()` for details.

      Parameters:
        `sortDirection` - the field name or column number to sort by. Default value is "ascending"
      See Also:
        `SortDirection`, Sort Example

    - #### getSortDirection

          public SortDirection getSortDirection()

      Sorting direction of this ListGrid. If specified when the ListGrid is initialized, this property will be the default sorting direction for the `sortField`. May be overridden by specifying `sortDirection`.

      After initialization, this property will be updated on `ListGrid.sort()` or `ListGrid.setSort()` to reflect the current sort direction of the grid. When this grid is sorted by multiple fields, the grid's sortDirection reflects the sort direction of the primary sort field.

      Returns:
        SortDirection
      See Also:
        `SortDirection`, Sort Example

    - #### setSortEditorSpanTitleSeparator

          public void setSortEditorSpanTitleSeparator(java.lang.String sortEditorSpanTitleSeparator)

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInSortEditor` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid on the multi-sort editor
      Parameters:
        `sortEditorSpanTitleSeparator` - Default value is " - "

    - #### getSortEditorSpanTitleSeparator

          public java.lang.String getSortEditorSpanTitleSeparator()

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInSortEditor` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid on the multi-sort editor
      Returns:
        String

    - #### setSorterButtonTitle

          public void setSorterButtonTitle(java.lang.String sorterButtonTitle)
                                    throws java.lang.IllegalStateException

      The title for the corner sort button. The title will only ListGrid.changeDefaults() rather than replacing with an entirely new object.
      Parameters:
        `sorterButtonTitle` - Default value is "corner menu"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getSorterButtonTitle

          public java.lang.String getSorterButtonTitle()

      The title for the corner sort button. The title will only ListGrid.changeDefaults() rather than replacing with an entirely new object.
      Returns:
        String
      See Also:
        `GridHeader overview and related methods`

    - #### setSortField

          public void setSortField(java.lang.String sortField)
                            throws java.lang.IllegalStateException

      Specifies the field by which this grid should be initially sorted. Can be set to either a `field name` or the index of the field in the fields Array.

      ListGrids also support being initialized with multiple-field sort via `initialSort`. If initialSort is specified, it will be used in preference to this property.

      To sort the grid after it has been initialized, use `ListGrid.sort()` or `ListGrid.setSort()`. Details about the current sort of a live grid can be retrieved by calling `ListGrid.getSortField()` or `ListGrid.getSort()`

      Parameters:
        `sortField` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        Sort Example

    - #### getSortField

          public java.lang.String getSortField()

      Specifies the field by which this grid should be initially sorted. Can be set to either a `field name` or the index of the field in the fields Array.

      ListGrids also support being initialized with multiple-field sort via `initialSort`. If initialSort is specified, it will be used in preference to this property.

      To sort the grid after it has been initialized, use `ListGrid.sort()` or `ListGrid.setSort()`. Details about the current sort of a live grid can be retrieved by calling `ListGrid.getSortField()` or `ListGrid.getSort()`

      Returns:
        Returns the current sort field for this grid. Note that if `ListGrid.setSort()` has been used to sort by multiple fields, you can call `ListGrid.getSort()` to retrieve details about the complete sort applied to the grid.
      See Also:
        Sort Example

    - #### setSortField

          public void setSortField(java.lang.Integer sortField)
                            throws java.lang.IllegalStateException

      Specifies the field by which this grid should be initially sorted. Can be set to either a `field name` or the index of the field in the fields Array.

      ListGrids also support being initialized with multiple-field sort via `initialSort`. If initialSort is specified, it will be used in preference to this property.

      To sort the grid after it has been initialized, use `ListGrid.sort()` or `ListGrid.setSort()`. Details about the current sort of a live grid can be retrieved by calling `ListGrid.getSortField()` or `ListGrid.getSort()`

      Parameters:
        `sortField` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        Sort Example

    - #### setSortFieldAscendingText

          public void setSortFieldAscendingText(java.lang.String sortFieldAscendingText)

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in ascending order.
      Parameters:
        `sortFieldAscendingText` - Default value is "Sort Ascending"

    - #### getSortFieldAscendingText

          public java.lang.String getSortFieldAscendingText()

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in ascending order.
      Returns:
        String

    - #### setSortFieldDescendingText

          public void setSortFieldDescendingText(java.lang.String sortFieldDescendingText)

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in descending order.
      Parameters:
        `sortFieldDescendingText` - Default value is "Sort Descending"

    - #### getSortFieldDescendingText

          public java.lang.String getSortFieldDescendingText()

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in descending order.
      Returns:
        String

    - #### setSortNumeralStyle

          public void setSortNumeralStyle(java.lang.String sortNumeralStyle)

      When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.

      Note : This is an advanced setting

      Parameters:
        `sortNumeralStyle` - See `CSSStyleName` . Default value is "sortNumeral"

    - #### getSortNumeralStyle

          public java.lang.String getSortNumeralStyle()

      When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.
      Returns:
        See `CSSStyleName`

    - #### setSortState

          public void setSortState(java.lang.String sortState)

      Initial sort state for the grid.

      `viewState` can be used to initialize all view properties of the grid. When doing so, `sortState` is not needed because `viewState` includes it as well. If both are provided, `sortState` has priority for sort state.
      If this method is called after the component has been drawn/initialized: Reset this grid's sort state (sort field and direction or list of `SortSpecifier`s) to match the `ListGridSortState` object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getSortState()`.

      Parameters:
        `sortState` - Object describing the desired sort state for the grid. See `ListGridSortState` . Default value is null

    - #### getSortState

          public java.lang.String getSortState()

      Initial sort state for the grid.

      `viewState` can be used to initialize all view properties of the grid. When doing so, `sortState` is not needed because `viewState` includes it as well. If both are provided, `sortState` has priority for sort state.

      Returns:
        Returns a snapshot of the current sort state within this listGrid as a `ListGridSortState` object.
        This object can be passed to `ListGrid.setSortState()` to reset this grid's sort to the current state (assuming the same fields are present in the grid).
        See `ListGridSortState`

    - #### getSpanContextMenu

          public Layout getSpanContextMenu()
                                    throws java.lang.IllegalStateException

      The menu displayed when a cell is right clicked on.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Layout
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `GridHeader overview and related methods`

    - #### setStopOnErrors

          public void setStopOnErrors(java.lang.Boolean stopOnErrors)

      If this is an editable listGrid, this property determines how failure to save due to validation errors should be displayed to the user.

      If this property is true, when validation errors occur the errors will be displayed to the user in an alert, and focus will be returned to the first cell to fail validation.

      If false, the cells that failed validation will be silently styled with the editFailedBaseStyle.

      Note: stopOnErrors being set to true implies that 'waitForSave' is also true. We will not dismiss the editor until save has completed if stopOnErrors is true.

      Note : This is an advanced setting

      Parameters:
        `stopOnErrors` - Default value is false
      See Also:
        `setWaitForSave(java.lang.Boolean)`, `Editing overview and related methods`

    - #### getStopOnErrors

          public java.lang.Boolean getStopOnErrors()

      If this is an editable listGrid, this property determines how failure to save due to validation errors should be displayed to the user.

      If this property is true, when validation errors occur the errors will be displayed to the user in an alert, and focus will be returned to the first cell to fail validation.

      If false, the cells that failed validation will be silently styled with the editFailedBaseStyle.

      Note: stopOnErrors being set to true implies that 'waitForSave' is also true. We will not dismiss the editor until save has completed if stopOnErrors is true.

      Returns:
        Boolean
      See Also:
        `getWaitForSave()`, `Editing overview and related methods`

    - #### setStyleName

          public void setStyleName(java.lang.String styleName)

      Default CSS class for the ListGrid as a whole.
      Overrides:
        `setStyleName` in class `Canvas`
      Parameters:
        `styleName` - See `CSSStyleName` . Default value is "listGrid"
      See Also:
        `Appearance overview and related methods`

    - #### getStyleName

          public java.lang.String getStyleName()

      Default CSS class for the ListGrid as a whole.
      Overrides:
        `getStyleName` in class `Canvas`
      Returns:
        See `CSSStyleName`
      See Also:
        `Appearance overview and related methods`

    - #### getSummaryRow

          public ListGrid getSummaryRow()
                                 throws java.lang.IllegalStateException

      Automatically generated ListGrid for displaying grid summary information (see `showGridSummary`).

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `listGrid.summaryRowProperties` and `listGrid.summaryRowDefaults`

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        ListGrid
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setSummaryRowCriteria

          public void setSummaryRowCriteria(Criteria summaryRowCriteria)

      If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row. If unset, and any filter criteria have been specified for the grid, they will be used.

      Note : This is an advanced setting

      Parameters:
        `summaryRowCriteria` - Default value is null

    - #### getSummaryRowCriteria

          public Criteria getSummaryRowCriteria()

      If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row. If unset, and any filter criteria have been specified for the grid, they will be used.
      Returns:
        Criteria

    - #### setSummaryRowDataSource

          public void setSummaryRowDataSource(DataSource summaryRowDataSource)
                                       throws java.lang.IllegalStateException

      If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary()` and `ListGrid.getGridSummaryFunction()`).

      In some cases however it may make sense to calculate summary values on the server and retrieve them via a dataSource fetch. If set, this property specifies a dataSource to fetch against for the summary row. The dataSource should return a single record with summary data for each field for which summary data should be shown. Note that specifying this property completely bypasses the standard client-side grid summary calculation logic.

      The fetch may be further customized via `summaryRowCriteria` and `summaryRowFetchRequestProperties`

      Note : This is an advanced setting

      Parameters:
        `summaryRowDataSource` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSummaryRowDataSource

          public DataSource getSummaryRowDataSource()

      If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary()` and `ListGrid.getGridSummaryFunction()`).

      In some cases however it may make sense to calculate summary values on the server and retrieve them via a dataSource fetch. If set, this property specifies a dataSource to fetch against for the summary row. The dataSource should return a single record with summary data for each field for which summary data should be shown. Note that specifying this property completely bypasses the standard client-side grid summary calculation logic.

      The fetch may be further customized via `summaryRowCriteria` and `summaryRowFetchRequestProperties`

      Returns:
        DataSource

    - #### setSummaryRowFetchRequestProperties

          public void setSummaryRowFetchRequestProperties(DSRequest summaryRowFetchRequestProperties)

      If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to customize the fetch request used when retrieving summary data to show in the summary row. An example use case might be specifying a `operationId` to perform a custom fetch operation which retrieved only summary values based on criteria.

      Note : This is an advanced setting

      Parameters:
        `summaryRowFetchRequestProperties` - Default value is null

    - #### getSummaryRowFetchRequestProperties

          public DSRequest getSummaryRowFetchRequestProperties()

      If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to customize the fetch request used when retrieving summary data to show in the summary row. An example use case might be specifying a `operationId` to perform a custom fetch operation which retrieved only summary values based on criteria.
      Returns:
        DSRequest

    - #### setSummaryRowHeight

          public void setSummaryRowHeight(int summaryRowHeight)
                                   throws java.lang.IllegalStateException

      Default height for the `summary row autoChild`. Note that this height is a minumum - the summary row has `autoFitData` set to "vertical" so if multiple rows are visible in the grid summary, the summaryRow component will expand to accommodate them.
      Parameters:
        `summaryRowHeight` - Default value is 20
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSummaryRowHeight

          public int getSummaryRowHeight()

      Default height for the `summary row autoChild`. Note that this height is a minumum - the summary row has `autoFitData` set to "vertical" so if multiple rows are visible in the grid summary, the summaryRow component will expand to accommodate them.
      Returns:
        int

    - #### setSummaryRowStyle

          public void setSummaryRowStyle(java.lang.String summaryRowStyle)

      `baseStyle` for the `summaryRow`

      Note : This is an advanced setting

      Parameters:
        `summaryRowStyle` - See `CSSStyleName` . Default value is "gridSummaryCell"

    - #### getSummaryRowStyle

          public java.lang.String getSummaryRowStyle()

      `baseStyle` for the `summaryRow`
      Returns:
        See `CSSStyleName`

    - #### setTallBaseStyle

          public void setTallBaseStyle(java.lang.String tallBaseStyle)
                                throws java.lang.IllegalStateException

      "Tall" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style unless the grid is showing fixed height rows with a specified cellHeight that matches `normalCellHeight`, in which case `normalBaseStyle` will be used. Note that in Internet Explorer if `fastCellUpdates` is true, `tallBaseStyle` will also be used even if the cellHeight matches the specified `normalCellHeight` for the grid.

      See `cellStyleSuffixes` for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Parameters:
        `tallBaseStyle` - See `CSSStyleName` . Default value is "cell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `getBaseStyle()`

    - #### getTallBaseStyle

          public java.lang.String getTallBaseStyle()

      "Tall" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style unless the grid is showing fixed height rows with a specified cellHeight that matches `normalCellHeight`, in which case `normalBaseStyle` will be used. Note that in Internet Explorer if `fastCellUpdates` is true, `tallBaseStyle` will also be used even if the cellHeight matches the specified `normalCellHeight` for the grid.

      See `cellStyleSuffixes` for details on how stateful suffixes are combined with the base style to generate stateful cell styles.

      Returns:
        See `CSSStyleName`
      See Also:
        `getBaseStyle()`

    - #### setTrackerImage

          public void setTrackerImage(ImgProperties trackerImage)

      Default image to use for the dragTracker when things are dragged within or out of this list. See `ImgProperties` for format.

      Note : This is an advanced setting

      Parameters:
        `trackerImage` - Default value is {...}
      See Also:
        `setDragTrackerMode(com.smartgwt.client.types.DragTrackerMode)`, `com.smartgwt.client.widgets.grid.ListGrid#getDragTrackerIcon`

    - #### getTrackerImage

          public ImgProperties getTrackerImage()

      Default image to use for the dragTracker when things are dragged within or out of this list. See `ImgProperties` for format.
      Returns:
        ImgProperties
      See Also:
        `getDragTrackerMode()`, `com.smartgwt.client.widgets.grid.ListGrid#getDragTrackerIcon`

    - #### setUnfreezeFieldText

          public void setUnfreezeFieldText(java.lang.String unfreezeFieldText)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Unfreeze " + the field's summary title.

      Note : This is an advanced setting

      Parameters:
        `unfreezeFieldText` - See `HTMLString` . Default value is "Unfreeze ${title}"

    - #### getUnfreezeFieldText

          public java.lang.String getUnfreezeFieldText()

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Unfreeze " + the field's summary title.

      Returns:
        See `HTMLString`

    - #### setUngroupText

          public void setUngroupText(java.lang.String ungroupText)

      If we're showing a `headerContextMenu` for this grid, and `this.isGrouped` is true, this attribute will be shown as the title for the menu item to ungroup the grid.
      Parameters:
        `ungroupText` - Default value is "Ungroup"

    - #### getUngroupText

          public java.lang.String getUngroupText()

      If we're showing a `headerContextMenu` for this grid, and `this.isGrouped` is true, this attribute will be shown as the title for the menu item to ungroup the grid.
      Returns:
        String

    - #### setUnremoveIcon

          public void setUnremoveIcon(java.lang.String unremoveIcon)
                               throws java.lang.IllegalStateException

      When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved()`. At this point, clicking on the icon will unmark the record as removed.
      Parameters:
        `unremoveIcon` - See `SCImgURL` . Default value is "[SKIN]/actions/undo.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUnremoveIcon

          public java.lang.String getUnremoveIcon()

      When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved()`. At this point, clicking on the icon will unmark the record as removed.
      Returns:
        See `SCImgURL`

    - #### setUseAdvancedFieldPicker

          public void setUseAdvancedFieldPicker(java.lang.Boolean useAdvancedFieldPicker)
                                         throws java.lang.IllegalStateException

      If set to true, an advanced field picker based on the `FieldPicker` will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.

      When there are large numbers of available fields, the FieldPicker-based interface is more usable for both defining visible fields and defining field order.

      Parameters:
        `useAdvancedFieldPicker` - Default value is false
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUseAdvancedFieldPicker

          public java.lang.Boolean getUseAdvancedFieldPicker()

      If set to true, an advanced field picker based on the `FieldPicker` will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.

      When there are large numbers of available fields, the FieldPicker-based interface is more usable for both defining visible fields and defining field order.

      Returns:
        Boolean

    - #### setUseCellRollOvers

          public void setUseCellRollOvers(java.lang.Boolean useCellRollOvers)

      Are rollovers cell-level or row-level?
      Parameters:
        `useCellRollOvers` - Default value is null

    - #### getUseCellRollOvers

          public java.lang.Boolean getUseCellRollOvers()

      Are rollovers cell-level or row-level?
      Returns:
        Boolean

    - #### setUseCopyPasteShortcuts

          public void setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts)

      Enables copy/paste shortcuts, provided `canSelectCells` is true

      The default setting of true means that the value of `canSelectCells` determines whether copy/paste shortcuts are enabled. Setting this property to false disables said shortcuts unconditionally.

      Copying is done via copying to a Smart GWT-wide "clipboard" - not the OS-level clipboard, which is innaccessible on some browsers - via the methods `ListGrid.getSelectedCellData()` and `ListGrid.applyCellData()`. To copy data to and from applications outside of the browser, use the technique shown in the @see Grid to Excel and @see Excel to Grid samples.

      The following shortcuts are available:

      CTRL + D: copy cell values from top row of selected cells down to all rows

      CTRL + R: copy cell values from left column of selected cells right to all columns

      CTRL + C: copy selected cell values into shared clipboard

      CTRL + V: paste from shared clipboard into current selection

      Parameters:
        `useCopyPasteShortcuts` - Default value is true

    - #### getUseCopyPasteShortcuts

          public java.lang.Boolean getUseCopyPasteShortcuts()

      Enables copy/paste shortcuts, provided `canSelectCells` is true

      The default setting of true means that the value of `canSelectCells` determines whether copy/paste shortcuts are enabled. Setting this property to false disables said shortcuts unconditionally.

      Copying is done via copying to a Smart GWT-wide "clipboard" - not the OS-level clipboard, which is innaccessible on some browsers - via the methods `ListGrid.getSelectedCellData()` and `ListGrid.applyCellData()`. To copy data to and from applications outside of the browser, use the technique shown in the @see Grid to Excel and @see Excel to Grid samples.

      The following shortcuts are available:

      CTRL + D: copy cell values from top row of selected cells down to all rows

      CTRL + R: copy cell values from left column of selected cells right to all columns

      CTRL + C: copy selected cell values into shared clipboard

      CTRL + V: paste from shared clipboard into current selection

      Returns:
        Boolean

    - #### setUseRemoteValidators

          public void setUseRemoteValidators(java.lang.Boolean useRemoteValidators)

      If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed.
      Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode. Note that since these remote validators need to run on the server, saving with this property set is asynchronous, even though the data that ultimately gets updated is already present on the client.

      Note : This is an advanced setting

      Parameters:
        `useRemoteValidators` - Default value is null
      See Also:
        `Databinding overview and related methods`

    - #### getUseRemoteValidators

          public java.lang.Boolean getUseRemoteValidators()

      If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed.
      Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode. Note that since these remote validators need to run on the server, saving with this property set is asynchronous, even though the data that ultimately gets updated is already present on the client.
      Returns:
        Boolean
      See Also:
        `Databinding overview and related methods`

    - #### setUseRowSpanStyling

          public void setUseRowSpanStyling(java.lang.Boolean useRowSpanStyling)
                                    throws java.lang.IllegalStateException

      Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan()` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right. Specifically:
      - computes `banded styling` based on the span of the cell in the left-most column
      - enables `cell-level selection`, including `cell-level rollover` styling
      - enables row-span-sensitive cell selection. See also `RowSpanSelectionMode` for available behaviors

      Because this setting enables `canSelectCells`, it is incompatible with any APIs that expect a record-oriented data model.

      Because this setting only makes sense when row spanning decreases from the first column to the last, it has unspecified behavior with `canReorderFields`.

      Parameters:
        `useRowSpanStyling` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUseRowSpanStyling

          public java.lang.Boolean getUseRowSpanStyling()

      Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan()` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right. Specifically:
      - computes `banded styling` based on the span of the cell in the left-most column
      - enables `cell-level selection`, including `cell-level rollover` styling
      - enables row-span-sensitive cell selection. See also `RowSpanSelectionMode` for available behaviors

      Because this setting enables `canSelectCells`, it is incompatible with any APIs that expect a record-oriented data model.

      Because this setting only makes sense when row spanning decreases from the first column to the last, it has unspecified behavior with `canReorderFields`.

      Returns:
        Boolean

    - #### setValidateByCell

          public void setValidateByCell(java.lang.Boolean validateByCell)

      Whether client-side validation checks should be performed when the user moves between cells in the current edit row. If unset, defaults to `editByCell`.

      Note that validation always occurs when a row is to be saved, so setting `saveByCell`:true forces validation on cell transitions. To completely disable automatic validation, set `neverValidate`:true.

      Parameters:
        `validateByCell` - Default value is null
      See Also:
        `GridValidation overview and related methods`

    - #### getValidateByCell

          public java.lang.Boolean getValidateByCell()

      Whether client-side validation checks should be performed when the user moves between cells in the current edit row. If unset, defaults to `editByCell`.

      Note that validation always occurs when a row is to be saved, so setting `saveByCell`:true forces validation on cell transitions. To completely disable automatic validation, set `neverValidate`:true.

      Returns:
        Boolean
      See Also:
        `GridValidation overview and related methods`

    - #### setValidateOnChange

          public void setValidateOnChange(java.lang.Boolean validateOnChange)

      If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
      Parameters:
        `validateOnChange` - Default value is null
      See Also:
        `ListGridField.setValidateOnChange(java.lang.Boolean)`, `GridValidation overview and related methods`

    - #### getValidateOnChange

          public java.lang.Boolean getValidateOnChange()

      If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
      Returns:
        Boolean
      See Also:
        `ListGridField.getValidateOnChange()`, `GridValidation overview and related methods`

    - #### setValueIconHeight

          public void setValueIconHeight(java.lang.Integer valueIconHeight)

      Height for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Parameters:
        `valueIconHeight` - Default value is null
      See Also:
        `ImageColumns overview and related methods`

    - #### getValueIconHeight

          public java.lang.Integer getValueIconHeight()

      Height for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Returns:
        Integer
      See Also:
        `ImageColumns overview and related methods`

    - #### setValueIconLeftPadding

          public void setValueIconLeftPadding(int valueIconLeftPadding)

      How much padding should there be on the left of valueIcons by default Can be overridden at the field level
      Parameters:
        `valueIconLeftPadding` - Default value is 2
      See Also:
        `ListGridField.setValueIcons(java.util.Map<java.lang.String, java.lang.String>)`, `ImageColumns overview and related methods`

    - #### getValueIconLeftPadding

          public int getValueIconLeftPadding()

      How much padding should there be on the left of valueIcons by default Can be overridden at the field level
      Returns:
        int
      See Also:
        `com.smartgwt.client.widgets.grid.ListGridField#getValueIcons`, `ImageColumns overview and related methods`

    - #### setValueIconRightPadding

          public void setValueIconRightPadding(int valueIconRightPadding)

      How much padding should there be on the right of valueIcons by default
      Parameters:
        `valueIconRightPadding` - Default value is 2
      See Also:
        `ListGridField.setValueIcons(java.util.Map<java.lang.String, java.lang.String>)`, `ImageColumns overview and related methods`

    - #### getValueIconRightPadding

          public int getValueIconRightPadding()

      How much padding should there be on the right of valueIcons by default
      Returns:
        int
      See Also:
        `com.smartgwt.client.widgets.grid.ListGridField#getValueIcons`, `ImageColumns overview and related methods`

    - #### setValueIconSize

          public void setValueIconSize(int valueIconSize)

      Default width and height of value icons for this ListGrid. Can be overridden at the listGrid level via explicit `valueIconWidth` and `valueIconHeight`, or at the field level via `valueIconSize`, `valueIconWidth` and {ListGridField.valueIconHeight}
      Parameters:
        `valueIconSize` - Default value is 16
      See Also:
        `setValueIconWidth(java.lang.Integer)`, `setValueIconHeight(java.lang.Integer)`, `ListGridField.setValueIconSize(java.lang.Integer)`, `ImageColumns overview and related methods`

    - #### getValueIconSize

          public int getValueIconSize()

      Default width and height of value icons for this ListGrid. Can be overridden at the listGrid level via explicit `valueIconWidth` and `valueIconHeight`, or at the field level via `valueIconSize`, `valueIconWidth` and {ListGridField.valueIconHeight}
      Returns:
        int
      See Also:
        `getValueIconWidth()`, `getValueIconHeight()`, `ListGridField.getValueIconSize()`, `ImageColumns overview and related methods`

    - #### setValueIconWidth

          public void setValueIconWidth(java.lang.Integer valueIconWidth)

      Width for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Parameters:
        `valueIconWidth` - Default value is null
      See Also:
        `ImageColumns overview and related methods`

    - #### getValueIconWidth

          public java.lang.Integer getValueIconWidth()

      Width for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Returns:
        Integer
      See Also:
        `ImageColumns overview and related methods`

    - #### setViewState

          public void setViewState(java.lang.String viewState)

      Initial `view state` for the grid.

      Since view state contains field state it is not necessary to set `fieldState` when also setting `viewState`. If both are provided, `fieldState` has priority for field state.
      If this method is called after the component has been drawn/initialized: Reset this grid's view state to match the `ListGridViewState` object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getViewState()`.

      Parameters:
        `viewState` - Object describing the desired view state for the grid. Default value is null

    - #### getViewState

          public java.lang.String getViewState()

      Initial `view state` for the grid.

      Since view state contains field state it is not necessary to set `fieldState` when also setting `viewState`. If both are provided, `fieldState` has priority for field state.

      Returns:
        Returns a snapshot of the current view state of this ListGrid.
        This includes the field, sort, hilite, group, and selected state of the grid, returned as a string representation of a `ListGridViewState` object.
        This string can be passed to `ListGrid.setViewState()` to reset this grid's view state to the current state (assuming the same data / fields are present in the grid).

    - #### setVirtualScrolling

          public void setVirtualScrolling(java.lang.Boolean virtualScrolling)
                                   throws java.lang.IllegalStateException

      When incremental rendering is switched on and there are variable record heights, the virtual scrolling mechanism manages the differences in scroll height calculations due to the unknown sizes of un-rendered rows to make the scrollbar and viewport appear correctly.

      When the `virtualScrolling` system is active, the last scroll position scrolls the last record to the top of the viewport, leaving blank space underneath. This is a necessary and unavoidable consequence of mapping the position of the scrollbar thumb to an unknown amount of remaining space without being able to know the total scrollable area in advance (since record heights vary).

      virtualScrolling is switched on automatically when `fixedRecordHeights` is false and also when using the `recordComponents subsystem`, as recordComponents expand the rows that contain them. This flag should be manually enabled when calling `ListGrid.addEmbeddedComponent()` if embedded components can cause record sizes to expand beyond specified cellHeight.

      virtualScrolling is also automatically enabled when `canExpandRecords` is true to handle the fact that expanded rows may render at variable heights.

      Note : This is an advanced setting

      Parameters:
        `virtualScrolling` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setRecordComponentHeight(java.lang.Integer)`

    - #### getVirtualScrolling

          public java.lang.Boolean getVirtualScrolling()

      When incremental rendering is switched on and there are variable record heights, the virtual scrolling mechanism manages the differences in scroll height calculations due to the unknown sizes of un-rendered rows to make the scrollbar and viewport appear correctly.

      When the `virtualScrolling` system is active, the last scroll position scrolls the last record to the top of the viewport, leaving blank space underneath. This is a necessary and unavoidable consequence of mapping the position of the scrollbar thumb to an unknown amount of remaining space without being able to know the total scrollable area in advance (since record heights vary).

      virtualScrolling is switched on automatically when `fixedRecordHeights` is false and also when using the `recordComponents subsystem`, as recordComponents expand the rows that contain them. This flag should be manually enabled when calling `ListGrid.addEmbeddedComponent()` if embedded components can cause record sizes to expand beyond specified cellHeight.

      virtualScrolling is also automatically enabled when `canExpandRecords` is true to handle the fact that expanded rows may render at variable heights.

      Returns:
        Boolean
      See Also:
        `getRecordComponentHeight()`

    - #### setWaitForSave

          public void setWaitForSave(java.lang.Boolean waitForSave)

      If this is an editable listGrid, this property determines whether the user will be able to dismiss the edit form, or navigate to another cell while the save is in process (before the asynchronous server response returns).

      Note : This is an advanced setting

      Parameters:
        `waitForSave` - Default value is false
      See Also:
        `Editing overview and related methods`

    - #### getWaitForSave

          public java.lang.Boolean getWaitForSave()

      If this is an editable listGrid, this property determines whether the user will be able to dismiss the edit form, or navigate to another cell while the save is in process (before the asynchronous server response returns).
      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setWarnOnRemoval

          public void setWarnOnRemoval(java.lang.Boolean warnOnRemoval)

      If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
      Parameters:
        `warnOnRemoval` - Default value is false

    - #### getWarnOnRemoval

          public java.lang.Boolean getWarnOnRemoval()

      If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
      Returns:
        Boolean

    - #### setWarnOnRemovalMessage

          public void setWarnOnRemovalMessage(java.lang.String warnOnRemovalMessage)

      Warning message to show the user on a click on the 'remove' icon if `canRemoveRecords` is true and `warnOnRemoval` is true.
      Parameters:
        `warnOnRemovalMessage` - Default value is "Are you sure you want to delete this record?"

    - #### getWarnOnRemovalMessage

          public java.lang.String getWarnOnRemovalMessage()

      Warning message to show the user on a click on the 'remove' icon if `canRemoveRecords` is true and `warnOnRemoval` is true.
      Returns:
        String

    - #### setWarnOnUnmappedValueFieldChange

          public void setWarnOnUnmappedValueFieldChange(java.lang.Boolean warnOnUnmappedValueFieldChange)

      If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).

      If such a field is editable, changing the edit value for the field on some record, without updating the edit value for the associated display field on the same record would mean the user would continue to see the unchanged display field value. Developers can resolve this situation by programmatically setting an edit value for the display field as well as the data field, or avoid it by specifying an optionDataSource and ensuring `autoFetchDisplayMap` is true, or setting an explicit valueMap for the field.

      By default, when the edit value on a field with a specified displayField and no optionDataSource is set, we log a warning to notify the developer. This warning may be disabled by setting `warnOnUnmappedValueFieldChange` to `false`.

      Note: There are actually a couple of cases in which the system will automatically derive a new display-field value and apply it to the record:

      1. If the edit value was changed by a user actually editing the record (rather than a programmatic call to setEditValue()), and the edit-item had a valueMap or optionDataSource set, we automatically pick up the display value from that item and store it as an edit-value for the displayField of the record
      2. If the listGrid has a loaded record in its data set whose valueField value matches the edit value for the valueField, we automatically apply the displayField value from that record as an edit value for the displayField on the newly edited record.
      In either case, the display value for the record is updated automatically (and the warning would not be logged).

      Note : This is an advanced setting

      Parameters:
        `warnOnUnmappedValueFieldChange` - Default value is true

    - #### getWarnOnUnmappedValueFieldChange

          public java.lang.Boolean getWarnOnUnmappedValueFieldChange()

      If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).

      If such a field is editable, changing the edit value for the field on some record, without updating the edit value for the associated display field on the same record would mean the user would continue to see the unchanged display field value. Developers can resolve this situation by programmatically setting an edit value for the display field as well as the data field, or avoid it by specifying an optionDataSource and ensuring `autoFetchDisplayMap` is true, or setting an explicit valueMap for the field.

      By default, when the edit value on a field with a specified displayField and no optionDataSource is set, we log a warning to notify the developer. This warning may be disabled by setting `warnOnUnmappedValueFieldChange` to `false`.

      Note: There are actually a couple of cases in which the system will automatically derive a new display-field value and apply it to the record:

      1. If the edit value was changed by a user actually editing the record (rather than a programmatic call to setEditValue()), and the edit-item had a valueMap or optionDataSource set, we automatically pick up the display value from that item and store it as an edit-value for the displayField of the record
      2. If the listGrid has a loaded record in its data set whose valueField value matches the edit value for the valueField, we automatically apply the displayField value from that record as an edit value for the displayField on the newly edited record.
      In either case, the display value for the record is updated automatically (and the warning would not be logged).
      Returns:
        Boolean

    - #### setWrapCells

          public void setWrapCells(java.lang.Boolean wrapCells)

      Should content within cells be allowed to wrap?

      Even if content is allowed to wrap, if `fixedRecordHeights` is set, the content will be clipped off at the cell boundary. Either set a larger, fixed `cellHeight` to reveal more content, or set `fixedRecordHeights` to false to allow auto-sizing.

      Note : This is an advanced setting

      Parameters:
        `wrapCells` - Default value is false
      See Also:
        Cell Values Example

    - #### getWrapCells

          public java.lang.Boolean getWrapCells()

      Should content within cells be allowed to wrap?

      Even if content is allowed to wrap, if `fixedRecordHeights` is set, the content will be clipped off at the cell boundary. Either set a larger, fixed `cellHeight` to reveal more content, or set `fixedRecordHeights` to false to allow auto-sizing.

      Returns:
        Boolean
      See Also:
        Cell Values Example

    - #### setWrapHeaderTitles

          public void setWrapHeaderTitles(java.lang.Boolean wrapHeaderTitles)
                                   throws java.lang.IllegalStateException

      If `wrap` is not explicitly set, should fields wrap?
      Parameters:
        `wrapHeaderTitles` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getWrapHeaderTitles

          public java.lang.Boolean getWrapHeaderTitles()

      If `wrap` is not explicitly set, should fields wrap?
      Returns:
        Boolean

    - #### addData

          public void addData(Record newRecord)

      Perform a DataSource "add" operation to add new records to this component's DataSource.
      Parameters:
        `newRecord` - new record
      See Also:
        `DataBoundComponentMethods overview and related methods`, Databound add Example

    - #### addData

          public void addData(Record newRecord,
                     DSCallback callback)

      See Also:
        `addData(com.smartgwt.client.data.Record)`

    - #### addData

          public void addData(Record newRecord,
                     DSCallback callback,
                     DSRequest requestProperties)

      Perform a DataSource "add" operation to add new records to this component's DataSource.
      Parameters:
        `newRecord` - new record
        `callback` - method to call on operation completion
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`, Databound add Example

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record)

      Attaches the component to the provided record. If `position` is specified as `"within"` `snapTo` and `snapOffsetLeft`, `snapOffsetTop` may be set to specify where the component will render within the cell or record. If unset, for components embedded within a record we will default to embedding at the top/left coordinate, and for components embedded within a cell, we will respect the align / valign properties for the cell in question. Any percentage sizing will be interpreted as percentage of row size.

      Otherwise it will appear to be embedded within the record, underneath the field values.

      Embedded components become children of the grid and will stay attached to a record through scrolling, sorting and other operations that cause records to shift position.

      If `position` is set to `"expand"`, embedded components may offer a resize interface, eg, by setting `canDragResize`:true, and the grid will react accordingly, growing or shrinking the record to match the embedded component's new extents.

      Embedded components can be explicitly removed with `ListGrid.removeEmbeddedComponent()`.

      If a record is removed from the dataset or is replaced in the dataset, for example, it is eliminated through filtering (removes record) or is successfully edited in a databound grid (replaces record), the component is cleared but not logically removed from the grid. It is the responsibility of code that sets up the embedded component to remove it if the record is removed from the dataSet.

      When embedding components will result in variable height records, you should switch on `virtualScrolling`.

      Parameters:
        `component` - component to embed
        `record` - record to attach the component to

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record,
                                  java.lang.Integer rowNum)

      See Also:
        `addEmbeddedComponent(com.smartgwt.client.widgets.Canvas, com.smartgwt.client.widgets.grid.ListGridRecord)`

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record,
                                  java.lang.Integer rowNum,
                                  java.lang.Integer colNum)

      See Also:
        `addEmbeddedComponent(com.smartgwt.client.widgets.Canvas, com.smartgwt.client.widgets.grid.ListGridRecord)`

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record,
                                  java.lang.Integer rowNum,
                                  java.lang.Integer colNum,
                                  EmbeddedPosition position)

      Attaches the component to the provided record. If `position` is specified as `"within"` `snapTo` and `snapOffsetLeft`, `snapOffsetTop` may be set to specify where the component will render within the cell or record. If unset, for components embedded within a record we will default to embedding at the top/left coordinate, and for components embedded within a cell, we will respect the align / valign properties for the cell in question. Any percentage sizing will be interpreted as percentage of row size.

      Otherwise it will appear to be embedded within the record, underneath the field values.

      Embedded components become children of the grid and will stay attached to a record through scrolling, sorting and other operations that cause records to shift position.

      If `position` is set to `"expand"`, embedded components may offer a resize interface, eg, by setting `canDragResize`:true, and the grid will react accordingly, growing or shrinking the record to match the embedded component's new extents.

      Embedded components can be explicitly removed with `ListGrid.removeEmbeddedComponent()`.

      If a record is removed from the dataset or is replaced in the dataset, for example, it is eliminated through filtering (removes record) or is successfully edited in a databound grid (replaces record), the component is cleared but not logically removed from the grid. It is the responsibility of code that sets up the embedded component to remove it if the record is removed from the dataSet.

      When embedding components will result in variable height records, you should switch on `virtualScrolling`.

      Parameters:
        `component` - component to embed
        `record` - record to attach the component to
        `rowNum` - rowNum of the record to attach the component to
        `colNum` - colNum in which to embed the component
        `position` - positioning with respect to the record or cell (Defaults to "expand").

    - #### addSort

          public void addSort(SortSpecifier sortSpecifier)

      Adds another `SortSpecifier` to this grid's sort configuration and resorts.
      Parameters:
        `sortSpecifier` - A SortSpecifier object indicating an additional field and direction to sort by

    - #### applyCellData

          public void applyCellData(RecordList cellData)

      Applies a set of Records containing coordinate-based data as returned by `ListGrid.getSelectedCellData()` and applies the data at the current selection.

      For consistency with Excel, given a record in the cellData, after the data value with the most negative column index is found, the rest of the values in the record are applied contiguously to the right of it, using the positional data for ordering only.

      Will only modify cells in the grid which are editable, and changes will be applied as editValues, exactly as though the user had typed the values in (see `Grid Editing Overview`).

      See also `ListGrid.applyRecordData()`.

      Parameters:
        `cellData` - list of Records as described above

    - #### applyRecordData

          public void applyRecordData(RecordList recordData)

      Applies a list of Records as changes to the current selection.

      Values found in each of the passed records will be applied to the same-named fields in the Records starting from the top-left of the current selection, in order.

      Will only modify cells in the grid which are editable, and changes will be applied as editValues, exactly as though the user had typed the values in (see `Grid Editing Overview`).

      See also `ListGrid.applyCellData()`.

      Parameters:
        `recordData` - list of Records as described above

    - #### autoFitField

          public int autoFitField(java.lang.String fieldName)

      Programmatically cause a field to auto-fit horizontally to it's contents or title.

      Does not establish permanent auto-fitting - use `ListGrid.setAutoFitWidth()` to do so.

      Parameters:
        `fieldName` -
      Returns:
        new width in pixels

    - #### autoFitFields

          public void autoFitFields()

      Perform a one-time horizontal auto-fit of the fields passed. Fields will be sized to match their contents or title (as specified in `autoFitWidthApproach`) Does not establish permanent auto-fitting - use `ListGrid.setAutoFitWidth()` to do so.

    - #### autoFitFields

          public void autoFitFields(ListGridField... fields)

      Perform a one-time horizontal auto-fit of the fields passed. Fields will be sized to match their contents or title (as specified in `autoFitWidthApproach`) Does not establish permanent auto-fitting - use `ListGrid.setAutoFitWidth()` to do so.
      Parameters:
        `fields` - Array of fields to auto fit. If this parameter is not passed, autoFitting will occur on all visible fields.

    - #### cancelEditing

          public void cancelEditing()

      Cancel the current edit without saving.
      See Also:
        `Editing overview and related methods`

    - #### canEditCell

          public boolean canEditCell(int rowNum,
                            int colNum)

      Can this cell be edited?

      The default implementation of `canEditCell()` respects the various property settings affecting editability:

      - `field.canEdit` can be set to disable editing for a field
      - If the grid is bound to a dataSource, the `canEditFieldAttribute` value on the dataSource field may enable / disable editing
      - a record with the `recordEditProperty` set to false is not editable
      - disabled records are not editable
      You can override this method to control editability on a cell-by-cell basis. For example, if you had a grid that allows editing of "orders", and you had a field "shipDate" that is normally editable, but should not be editable if the order is already "complete", you might implement `canEditCell()` as follows:

              isc.ListGrid.create({
                  ...
                  canEditCell : function (rowNum, colNum) {
                      var record = this.getRecord(rowNum),
                          fieldName = this.getFieldName(colNum);
                      if (fieldName == "shipDate" &&
                          record.orderStatus == "complete")
                      {
                          return false;
                      }
                      // use default rules for all other fields
                      return this.Super("canEditCell", arguments);
                  }
              });

      Notes on providing custom implementations:

      - In order to allow complete control over editing, `canEditCell()` is called very frequently. If you see delays on row to row navigation, check that your implementation is efficient
      - If you change the editability of a cell on the fly, for example, during `ListGrid.editorExit()` on another cell, call refreshCell() to show or hide the editor
      - If this ListGrid allows new records to be created, `canEditCell()` may be called when there is no record available, in which case getRecord() will return null. The values input so far by the user are available via `ListGrid.getEditValues()`.
      Parameters:
        `rowNum` - row number for the cell
        `colNum` - column number of the cell
      Returns:
        Whether to allow editing this cell
      See Also:
        `Editing overview and related methods`

    - #### canExpandRecord

          public boolean canExpandRecord(ListGridRecord record,
                                int rowNum)

      Indicates whether a given record or rowNum can be expanded. The default implementation checks the value of `canExpandRecords` and `record[`canExpandRecordProperty`]`.

      Override this method for more specific control over individual record expansion.

      Note: Rows with no underlying record in the data array - for example newly added edit rows that have not yet been saved - cannot be expanded.

      Parameters:
        `record` - record to work with
        `rowNum` - rowNum of the record to work with
      Returns:
        true if the record can be expanded

    - #### canSelectCell

          public boolean canSelectCell(int rowNum,
                              int colNum)

      If `canSelectCells` is set to `true` then, whenever an end-user or programmatic cell-selection is attempted, this method is called for each cell in the selection. If it returns false, the cell will not be selected.
      Parameters:
        `rowNum` - rowNum being selected
        `colNum` - colNum being selected
      Returns:
        return false to disallow selection

    - #### addCellSavedHandler

          public HandlerRegistration addCellSavedHandler(CellSavedHandler handler)

      Add a cellSaved handler.

      Fires after user edits have been successfully saved to the server, only for cells where the value was actually modified.

      If you want immediate notification of a changes before changes has been saved to the server, implement `field.change()` or `field.changed()` instead.

      You can alternatively use `ListGridField.cellChanged()` to get notification only of saved changes for a specific field. If both a listGridField and the containing listGrid have a handler for this event, only the handler defined on the field is called.

      Specified by:
        `addCellSavedHandler` in interface `HasCellSavedHandlers`
      Parameters:
        `handler` - the cellSaved handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellClickHandler

          public HandlerRegistration addCellClickHandler(CellClickHandler handler)

      Add a cellClick handler.

      Called when a cell receives a click event.

      Note that returning false from this method will not prevent any specified `ListGrid.rowClick()` handler from firing.

      Specified by:
        `addCellClickHandler` in interface `HasCellClickHandlers`
      Parameters:
        `handler` - the cellClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellContextClickHandler

          public HandlerRegistration addCellContextClickHandler(CellContextClickHandler handler)

      Add a cellContextClick handler.

      Called when a cell receives a contextclick event.

      Specified by:
        `addCellContextClickHandler` in interface `HasCellContextClickHandlers`
      Parameters:
        `handler` - the cellContextClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellDoubleClickHandler

          public HandlerRegistration addCellDoubleClickHandler(CellDoubleClickHandler handler)

      Add a cellDoubleClick handler.

      Called when a cell receives a double click event.

      Specified by:
        `addCellDoubleClickHandler` in interface `HasCellDoubleClickHandlers`
      Parameters:
        `handler` - the cellDoubleClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### cellHasChanges

          public java.lang.Boolean cellHasChanges(int rowNum,
                                         int colNum)

      If this listGrid can be edited, this method will return true if the cell passed in has been edited, but the edits have not yet been saved to the ListGrid's data object.
      Parameters:
        `rowNum` - index of row to check for changes
        `colNum` - index of the col to check for changes
      Returns:
        returns true if the cell has unsaved edits
      See Also:
        `Editing overview and related methods`

    - #### cellHasErrors

          public java.lang.Boolean cellHasErrors(int rowNum,
                                        java.lang.String fieldID)

      Given a rowNum and a colNum or fieldName, determine whether we currently have stored validation errors for the record/field in question.
      Parameters:
        `rowNum` - index of row to check for validation errors
        `fieldID` - name of field, or index of column to check for validation errors
      Returns:
        true if we have validation errors for the row/col in question
      See Also:
        `hasErrors()`, `rowHasErrors(int)`, `GridValidation overview and related methods`

    - #### addCellHoverHandler

          public HandlerRegistration addCellHoverHandler(CellHoverHandler handler)

      Add a cellHover handler.

      Called when the mouse hovers over a cell if this.canHover is true. Returning false will suppress the hover text from being shown if this.showHover is true.

      Specified by:
        `addCellHoverHandler` in interface `HasCellHoverHandlers`
      Parameters:
        `handler` - the cellHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellMouseDownHandler

          public HandlerRegistration addCellMouseDownHandler(CellMouseDownHandler handler)

      Add a cellMouseDown handler.

      Called when a cell receives a mousedown event.

      Specified by:
        `addCellMouseDownHandler` in interface `HasCellMouseDownHandlers`
      Parameters:
        `handler` - the cellMouseDown handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellMouseUpHandler

          public HandlerRegistration addCellMouseUpHandler(CellMouseUpHandler handler)

      Add a cellMouseUp handler.

      Called when a cell receives a mouseup event.

      Specified by:
        `addCellMouseUpHandler` in interface `HasCellMouseUpHandlers`
      Parameters:
        `handler` - the cellMouseUp handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellOutHandler

          public HandlerRegistration addCellOutHandler(CellOutHandler handler)

      Add a cellOut handler.

      Called when the mouse pointer leaves a cell

      Specified by:
        `addCellOutHandler` in interface `HasCellOutHandlers`
      Parameters:
        `handler` - the cellOut handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellOverHandler

          public HandlerRegistration addCellOverHandler(CellOverHandler handler)

      Add a cellOver handler.

      Called when the mouse pointer enters a cell

      Specified by:
        `addCellOverHandler` in interface `HasCellOverHandlers`
      Parameters:
        `handler` - the cellOver handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellSelectionChangedHandler

          public HandlerRegistration addCellSelectionChangedHandler(CellSelectionChangedHandler handler)

      Add a cellSelectionChanged handler.

      Called when (cell-based) selection changes within this grid.

      Specified by:
        `addCellSelectionChangedHandler` in interface `HasCellSelectionChangedHandlers`
      Parameters:
        `handler` - the cellSelectionChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellValueHoverHandler

          public HandlerRegistration addCellValueHoverHandler(CellValueHoverHandler handler)

      Add a cellValueHover handler.

      Optional stringMethod to fire when the user hovers over a cell and the value is clipped. If this.showClippedValuesOnHover is true, the default behavior is to show a hover canvas containing the HTML returned by cellValueHoverHTML(). Call `CellValueHoverEvent.cancel()` from within `CellValueHoverHandler.onCellValueHover(com.smartgwt.client.widgets.grid.events.CellValueHoverEvent)` to suppress this default behavior.

      Specified by:
        `addCellValueHoverHandler` in interface `HasCellValueHoverHandlers`
      Parameters:
        `handler` - the cellValueHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### cellValueHoverHTML

          public java.lang.String cellValueHoverHTML(ListGridRecord record,
                                            int rowNum,
                                            int colNum,
                                            java.lang.String defaultHTML)

      Returns the HTML that is displayed by the default cellValueHover handler. Return null or an empty string to cancel the hover.

      Use `setCellValueHoverFormatter()` to provide a custom implementation.

      Parameters:
        `record` - cell record as returned by getCellRecord()
        `rowNum` - row number for the cell
        `colNum` - column number of the cell
        `defaultHTML` - the HTML that would have been displayed by default. See `HTMLString`
      Returns:
        HTML to be displayed in the hover. If null or an empty string, then the hover is canceled.
      See Also:
        `CellValueHoverEvent`

    - #### cellValueIsClipped

          public java.lang.Boolean cellValueIsClipped(int rowNum,
                                             int colNum)

      Is the value in a given cell clipped?
      Parameters:
        `rowNum` - row number of the cell
        `colNum` - column number of the cell
      Returns:
        null if there is no cell at the given row, column; otherwise, whether the value in the specified cell is clipped.
      See Also:
        `CellValueHoverEvent`

    - #### chartData

          public FacetChart chartData(java.lang.String labelField)

      Chart the data in this listGrid as a multi-series chart.

      Each row provides a series of data. Each series of data is labeled by a value from one column, called the `labelField`.

      For example, cell values are sales figures, and fields are "Product", "August", "September", "October". In this case each row gives a series: sales figures for each of 3 months. The `labelField` in this case is the "Product" field, meaning each row represents sales figures for each of 3 months for a particular product. This dataset can be charted via any multi-series chart: stacked or clustered bar or column chart, line chart with multiple lines, or area chart (stacked lines).

      By default, all visible fields other than the label field are assumed to be labels for series values, but an explicit list of fields can be provided as `dataFields`.

      By default, all data is charted if all data is loaded, otherwise, data visible in the viewport is charted. An explicit set of rows can be provided via `dataRows`.

      Parameters:
        `labelField` - name of the field
      Returns:
        created Chart instance
      See Also:
        Grid Charting Example

    - #### chartData

          public FacetChart chartData(java.lang.String labelField,
                             java.lang.String[] dataFields)

      See Also:
        `chartData(java.lang.String)`

    - #### chartData

          public FacetChart chartData(java.lang.String labelField,
                             java.lang.String[] dataFields,
                             ListGridRecord... dataRows)

      See Also:
        `chartData(java.lang.String)`

    - #### chartData

          public FacetChart chartData(java.lang.String labelField,
                             java.lang.String[] dataFields,
                             ListGridRecord[] dataRows,
                             FacetChart chartProperties)

      See Also:
        `chartData(java.lang.String)`

    - #### chartData

          public FacetChart chartData(java.lang.String labelField,
                             java.lang.String[] dataFields,
                             ListGridRecord[] dataRows,
                             FacetChart chartProperties,
                             boolean labelFieldFirst)

      Chart the data in this listGrid as a multi-series chart.

      Each row provides a series of data. Each series of data is labeled by a value from one column, called the `labelField`.

      For example, cell values are sales figures, and fields are "Product", "August", "September", "October". In this case each row gives a series: sales figures for each of 3 months. The `labelField` in this case is the "Product" field, meaning each row represents sales figures for each of 3 months for a particular product. This dataset can be charted via any multi-series chart: stacked or clustered bar or column chart, line chart with multiple lines, or area chart (stacked lines).

      By default, all visible fields other than the label field are assumed to be labels for series values, but an explicit list of fields can be provided as `dataFields`.

      By default, all data is charted if all data is loaded, otherwise, data visible in the viewport is charted. An explicit set of rows can be provided via `dataRows`.

      Parameters:
        `labelField` - name of the field
        `dataFields` - optional list of fields to use as labels. By default, all fields are used.
        `dataRows` - set of records to chart. Can be obtained by eg `grid.data.getRange()`.
        `chartProperties` - properties to pass to the created chart
        `labelFieldFirst` - if true, use the labelField as the "first" set of labels, for example, as the bar labels in a stacked bar chart, whereas the second set of labels would appear as the legend.
      Returns:
        created Chart instance
      See Also:
        Grid Charting Example

    - #### clearCriteria

          public void clearCriteria()

      Clear the current criteria used to filter data.
      See Also:
        `fetchData()`, `DataBoundComponentMethods overview and related methods`, Databound filter Example

    - #### clearCriteria

          public void clearCriteria(DSCallback callback)

      See Also:
        `clearCriteria()`

    - #### clearCriteria

          public void clearCriteria(DSCallback callback,
                           DSRequest requestProperties)

      Clear the current criteria used to filter data.
      Parameters:
        `callback` - callback to invoke on completion
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `fetchData()`, `DataBoundComponentMethods overview and related methods`, Databound filter Example

    - #### clearFieldError

          public void clearFieldError(int rowNum,
                             int fieldName)

      Clears any validation errors for some cell.
      Parameters:
        `rowNum` - row index of cell to add validation error for
        `fieldName` - col index or field name of cell to add validation error for
      See Also:
        `setFieldError(int, java.lang.String, java.lang.String)`, `GridValidation overview and related methods`

    - #### clearRowErrors

          public void clearRowErrors(int rowNum)

      Clear any stored validation errors for some row
      Parameters:
        `rowNum` - index of row to clear validation error for
      See Also:
        `setRowErrors(int, java.lang.Object)`, `Validation overview and related methods`

    - #### clearSort

          public void clearSort()

      This method clears any existing sort on this grid by calling `ListGrid.setSort()` with a null parameter. The internal list of `SortSpecifier`s is removed and the grid is unsorted.

    - #### collapseRecord

          public void collapseRecord(ListGridRecord record)

      Collapses a given `record` which has been previously expanded using `ListGrid.expandRecord()`.

      Depending on the `pooling mode`, this method may automatically destroy expansionComponents. By default, components created automatically by the ListGrid will be auto-destroyed. This behavior can be changed by setting a different pooling mode.

      Note that components created via an override to `ListGrid.getExpansionComponent()` will *not* be auto-destroyed - developers should override collapseRecord to take care of clean-up for such components.

      Parameters:
        `record` - record to collapse

    - #### collapseRecords

          public void collapseRecords(ListGridRecord... records)

      Collapses the passed list of expanded `records`. Calls `collapseRecord` for each passed record, but only marks the grid for redraw once, after all records have been collapsed.
      Parameters:
        `records` - records to collapse

    - #### configureGrouping

          public void configureGrouping()

      Open a MultiGroupDialog to configure the fields used for grouping.

    - #### createRecordComponent

          protected Canvas createRecordComponent(ListGridRecord record,
                                     java.lang.Integer colNum)

      When `showRecordComponents` is true, this method is called to create per-row or per-cell embedded components to display in the grid.

      The colNum parameter is applicable only when `showRecordComponentsByCell` is true.

      If this row should not have a `recordComponent`, return null.

      This method should create and return a new component for the record passed in every time it is called and never return the same Canvas instance twice. To re-use components with different rows, set `RecordComponentPoolingMode` to "recycle". In this mode, in addition to implementing this method, developers should also implement `ListGrid.updateRecordComponent()` which allows already created components to be altered for re-use in new records. See the `showRecordComponents` overview for more information.

      Parameters:
        `record` - record to create a component for
        `colNum` - cell to which the component applies
      Returns:
        return the component to embed in the passed record

    - #### addDataArrivedHandler

          public HandlerRegistration addDataArrivedHandler(DataArrivedHandler handler)

      Add a dataArrived handler.

      Notification method fired when new data arrives from the server to be displayed in this ListGrid, (for example in response to the user scrolling a new set of rows into view). Only applies to databound listGrids where the `data` attribute is a `ResultSet`. This ResultSet may have been created manually and applied to the grid via a call to `ListGrid.setData()` or may have been created and automatically assigned if `ListGrid.fetchData()` was used to populate the grid. This method is fired directly in response to `dataArrived()` firing on the data object.

      Specified by:
        `addDataArrivedHandler` in interface `HasDataArrivedHandlers`
      Parameters:
        `handler` - the dataArrived handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### deselectRange

          public void deselectRange(int startRow,
                           int endRow)

      Deselect a contiguous range of records by index.

      This is a synonym for `selectRange(startRow, endRow, false);`

      Parameters:
        `startRow` - start of selection range
        `endRow` - end of selection range (non-inclusive)

    - #### discardAllEdits

          public void discardAllEdits()

      Cancel outstanding edits, discarding edit values, and hiding editors for the record[s] passed in if appropriate.

      If no rows are passed in, all outstanding edit values will be dropped. This will not automatically end editing; call `ListGrid.endEditing()` before calling discardAllEdits() if you also want to end editing.

      Note that this also clears the `removed` state of any records that have been marked as removed.

      See Also:
        `Editing overview and related methods`

    - #### discardAllEdits

          public void discardAllEdits(int[] rows)

      See Also:
        `discardAllEdits()`

    - #### discardAllEdits

          public void discardAllEdits(int[] rows,
                             boolean dontHideEditor)

      Cancel outstanding edits, discarding edit values, and hiding editors for the record[s] passed in if appropriate.

      If no rows are passed in, all outstanding edit values will be dropped. This will not automatically end editing; call `ListGrid.endEditing()` before calling discardAllEdits() if you also want to end editing.

      Note that this also clears the `removed` state of any records that have been marked as removed.

      Parameters:
        `rows` - allows you to specify which row(s) to drop edits for
        `dontHideEditor` - By default this method will hide the editor if it is currently showing for any row in the grid. Passing in this parameter will leave the editor visible (and just reset the edit values underneath the editor).
      See Also:
        `Editing overview and related methods`

    - #### discardEdits

          public void discardEdits(int rowNum,
                          int colNum)

      Cancel outstanding edits for the specified rows, discarding edit values, and hiding editors if appropriate.

      Note that if this method is called on a new edit row (created via `ListGrid.startEditingNew()` for example), which has not yet been saved, this method will remove the row entirely.

      Also note that this method will clear the `removed` state of records that have been marked as removed.

      Parameters:
        `rowNum` - Row to cancel
        `colNum` - Column to cancel. Note that this parameter is ignored in ListGrids but may be required in subclasses of ListGrid where each cell represents one record in the data set (EG CubeGrid)
      See Also:
        `Editing overview and related methods`

    - #### discardEdits

          public void discardEdits(int rowNum,
                          int colNum,
                          java.lang.Boolean dontHideEditor)

      Cancel outstanding edits for the specified rows, discarding edit values, and hiding editors if appropriate.

      Note that if this method is called on a new edit row (created via `ListGrid.startEditingNew()` for example), which has not yet been saved, this method will remove the row entirely.

      Also note that this method will clear the `removed` state of records that have been marked as removed.

      Parameters:
        `rowNum` - Row to cancel
        `colNum` - Column to cancel. Note that this parameter is ignored in ListGrids but may be required in subclasses of ListGrid where each cell represents one record in the data set (EG CubeGrid)
        `dontHideEditor` - By default this method will hide the editor if it is currently showing for the row in question. Passing in this parameter will leave the editor visible (and just reset the edit values underneath the editor).
      See Also:
        `Editing overview and related methods`

    - #### addDrawAreaChangedHandler

          public HandlerRegistration addDrawAreaChangedHandler(DrawAreaChangedHandler handler)

      Add a drawAreaChanged handler.

      Notification method that fires when the drawArea changes due to scrolling. Receives the previous drawArea co-ordinates as parameters. Call `ListGrid.getDrawArea()` to get the new drawArea co-ordinates.

      Note that if this grid is showing any `frozen fields`, they will not be included in the `oldStartCol`, `oldEndCol` range reported by this method. Frozen fields are assumed never to be scrolled out of view.

      Specified by:
        `addDrawAreaChangedHandler` in interface `HasDrawAreaChangedHandlers`
      Parameters:
        `handler` - the drawAreaChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addEditCompleteHandler

          public HandlerRegistration addEditCompleteHandler(EditCompleteHandler handler)

      Add a editComplete handler.

      Callback fired when inline edits have been successfully saved.

      No default implementation.

      Specified by:
        `addEditCompleteHandler` in interface `HasEditCompleteHandlers`
      Parameters:
        `handler` - the editComplete handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addEditFailedHandler

          public HandlerRegistration addEditFailedHandler(EditFailedHandler handler)

      Add a editFailed handler.

      Called when an attempt to save inline edits fails, due to a validation error or other server error.

      The default implementation of editFailed does nothing for normal validation errors, which are displayed before editFailed() is called. For any other errors, the default implementation will call `RPCManager.handleError()`, which by default will result in a warning dialog.

      Specified by:
        `addEditFailedHandler` in interface `HasEditFailedHandlers`
      Parameters:
        `handler` - the editFailed handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addEditorEnterHandler

          public HandlerRegistration addEditorEnterHandler(EditorEnterHandler handler)

      Add a editorEnter handler.

      Callback fired when the user starts editing a new cell.

      This callback is typically used to establish dynamic default values via `ListGrid.setEditValue()` or `ListGrid.setEditValues()`.

      Can also be overridden on a per-field basis via `field.editorEnter`.

      Specified by:
        `addEditorEnterHandler` in interface `HasEditorEnterHandlers`
      Parameters:
        `handler` - the editorEnter handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addEditorExitHandler

          public HandlerRegistration addEditorExitHandler(EditorExitHandler handler)

      Add a editorExit handler.

      Callback fired when the user attempts to navigate away from the current edit cell, or complete the current edit.

      Call `EditorExitEvent.cancel()` from within `EditorExitHandler.onEditorExit(com.smartgwt.client.widgets.grid.events.EditorExitEvent)` from this method to cancel the default behavior (Saving / cancelling the current edit / moving to the next edit cell).

      This callback is typically used to dynamically update values or value maps for related fields (via `ListGrid.setEditValue()` and `ListGrid.setEditorValueMap()` respectively, or to implement custom navigation (via `startEditing(rowNum,colNum)`.

      Can be overridden at the field level as field.editorExit.

      Specified by:
        `addEditorExitHandler` in interface `HasEditorExitHandlers`
      Parameters:
        `handler` - the editorExit handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### endEditing

          public void endEditing()

      Complete the current edit by storing the value and hiding the inline editor. Note that if `autoSaveEdits` is true, the value will be saved to the server.
      See Also:
        `startEditing()`, `Editing overview and related methods`

    - #### expandRecord

          public void expandRecord(ListGridRecord record)

      Expands a given `record` by creating a subcomponent and inserting it in to the record's grid-row. A number of built-in `expansionModes` are supported by the default implementation of `getExpansionComponent()` and you can override that method to provide your own expansion behavior.

      Once a record has been expanded, the currently visible expansion component may be retrieved via `ListGrid.getCurrentExpansionComponent()`.

      Parameters:
        `record` - record to expand

    - #### expandRecords

          public void expandRecords(ListGridRecord... records)

      Expands the passed list of `records` by creating a subcomponent for each record and inserting them it in to the record's grid-row. Calls `expandRecord` for each passed record, but only marks the grid for redraw once, after all expansions are complete.
      Parameters:
        `records` - records to expand

    - #### exportClientData

          public void exportClientData()

      Exports this component's data with client-side formatters applied, so is suitable for direct display to users. This feature requires the Smart GWT server.

      Ordinarily, calls to this method go through the static classMethod `DataSource.exportClientData()`. In this case, no server-side DataSources are required. However, if this component is `databound` and you specify a valid `operationId` in the properties passed to this method, the call will go through the instance method `DataSource.exportClientData()` instead. As the documentation for that method explains, this allows you more control on the server side. This approach requires both the Smart GWT server and server-side DataSource definitions.

      To export data from this component's dataSource, see `exportData`, which does not include client-side formatters, but does include formatters declared in the `.ds.xml` file. `exportData()` relies on both the Smart GWT server and server-side DataSources.

      See Also:
        `DataSource.exportClientData(java.lang.Object[], com.smartgwt.client.data.DSRequest)`

    - #### exportClientData

          public void exportClientData(DSRequest requestProperties)

      See Also:
        `exportClientData()`

    - #### exportClientData

          public void exportClientData(DSRequest requestProperties,
                              RPCCallback callback)

      Exports this component's data with client-side formatters applied, so is suitable for direct display to users. This feature requires the Smart GWT server.

      Ordinarily, calls to this method go through the static classMethod `DataSource.exportClientData()`. In this case, no server-side DataSources are required. However, if this component is `databound` and you specify a valid `operationId` in the properties passed to this method, the call will go through the instance method `DataSource.exportClientData()` instead. As the documentation for that method explains, this allows you more control on the server side. This approach requires both the Smart GWT server and server-side DataSource definitions.

      To export data from this component's dataSource, see `exportData`, which does not include client-side formatters, but does include formatters declared in the `.ds.xml` file. `exportData()` relies on both the Smart GWT server and server-side DataSources.

      Parameters:
        `requestProperties` - Request properties for the export. Note that specifying `exportData` on the request properties allows the developer to pass in an explicit data set to export.
        `callback` - Optional callback. If you specify `exportToClient`: false in the request properties, this callback will fire after export completes. Otherwise the callback will fire right before the download request is made to the server.
      See Also:
        `DataSource.exportClientData(java.lang.Object[], com.smartgwt.client.data.DSRequest)`

    - #### fetchRelatedData

          public void fetchRelatedData(ListGridRecord record,
                              Canvas schema)

      Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.

      Relationships between DataSources are declared via `foreignKey`.

      For example, given two related DataSources "orders" and "orderItems", where we want to fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a `foreignKey` to the "orders" table (for example, it might be named "orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData() on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders" DataSource as the "record" argument.

      Parameters:
        `record` - DataSource record
        `schema` - schema of the DataSource record, or DataBoundComponent already bound to that schema
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### fetchRelatedData

          public void fetchRelatedData(ListGridRecord record,
                              Canvas schema,
                              DSCallback callback)

      See Also:
        `fetchRelatedData(com.smartgwt.client.widgets.grid.ListGridRecord, com.smartgwt.client.widgets.Canvas)`

    - #### fetchRelatedData

          public void fetchRelatedData(ListGridRecord record,
                              Canvas schema,
                              DSCallback callback,
                              DSRequest requestProperties)

      Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.

      Relationships between DataSources are declared via `foreignKey`.

      For example, given two related DataSources "orders" and "orderItems", where we want to fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a `foreignKey` to the "orders" table (for example, it might be named "orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData() on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders" DataSource as the "record" argument.

      Parameters:
        `record` - DataSource record
        `schema` - schema of the DataSource record, or DataBoundComponent already bound to that schema
        `callback` - callback to invoke on completion
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### fieldIsVisible

          public boolean fieldIsVisible(java.lang.String field)

      Check whether a field is currently visible
      Parameters:
        `field` - field to be checked
      Returns:
        true if the field is currently visible, false otherwise.

    - #### addFieldStateChangedHandler

          public HandlerRegistration addFieldStateChangedHandler(FieldStateChangedHandler handler)

      Add a fieldStateChanged handler.

      Notification method executed when columns are resized or reordered, or fields are shown or hidden. Has no default implementation.

      Specified by:
        `addFieldStateChangedHandler` in interface `HasFieldStateChangedHandlers`
      Parameters:
        `handler` - the fieldStateChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### filterByEditor

          public void filterByEditor()

      If the filter editor (`showFilterEditor`) is visible for this grid, this method will perform a filter based on the current values in the editor.

    - #### addFilterEditorSubmitHandler

          public HandlerRegistration addFilterEditorSubmitHandler(FilterEditorSubmitHandler handler)

      Add a filterEditorSubmit handler.

      Optional notification fired when the user performs a filter using the `Filter Editor`. May fire as criteria values are being edited if `filterOnKeypress` is true, otherwise will fire when the user clicks the filter button or presses the Enter key while focus is in the Filter Editor.

      Use event.cancel() to cancel the default behavior - you must cancel the default behavior if your code is going to call `ListGrid.filterData()`, `ListGrid.setCriteria()` or any other API that affects the criteria applied to the grid.

      The `criteria` parameter contains the current criteria applied to the grid including edits the user has just made using the Filter Editor. This matches what is returned if you call `ListGrid.getFilterEditorCriteria()`.

      If you wish to access the `criteria` applied to the grid without picking up any edits to the Filter Editor, use `ListGrid.getCriteria()` instead.

      Developers may wish to perform a filter using the Filter Editor values from code running outside the standard filterEditorSubmit flow. For example, if you wanted a confirmation dialog to be shown before filtering was performed, you would cancel the default behavior as described above, but then need to replicate the default behavior once the user confirms that they want to proceed. To replicate the default behavior, just call:

             grid.filterData(grid.getFilterEditorCriteria());

      or, to ensure the specified `autoFetchTextMatchStyle` is picked up

             DSRequest request = new DSRequest();
             request.setTextMatchStyle(grid.getAutoFetchTextMatchStyle());
             grid.filterData(grid.getFilterEditorCriteria(), null,
                  request);

      Specified by:
        `addFilterEditorSubmitHandler` in interface `HasFilterEditorSubmitHandlers`
      Parameters:
        `handler` - the filterEditorSubmit handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### focusInCell

          public void focusInCell(java.lang.Integer row,
                         java.lang.Integer col)

      Puts keyboard focus into the specified cell, showing a highlighted (roll-over style) appearance, and ensuring that arrow-key navigation will start from the specified cell.

      Only applies where `canSelectCells` is true.

      Parameters:
        `row` - Index of target row
        `col` - Index of target col
      See Also:
        `focusInRow(java.lang.Integer)`

    - #### focusInFilterEditor

          public void focusInFilterEditor()

      If the filter editor (`showFilterEditor`) is visible for this grid, this method will explicitly put focus into the specified field in the filter editor.

    - #### focusInFilterEditor

          public void focusInFilterEditor(java.lang.String fieldName)

      If the filter editor (`showFilterEditor`) is visible for this grid, this method will explicitly put focus into the specified field in the filter editor.
      Parameters:
        `fieldName` - Name of the field to put focus into. If unspecified focus will go to the first field in the editor

    - #### focusInRow

          public void focusInRow(java.lang.Integer row)

      Puts keyboard focus into the specified row, showing a highlighted (roll-over style) appearance, and ensuring that arrow-key navigation will start from the specified row.

      Only applies where `canSelectCells` is false.

      Parameters:
        `row` - Index of target row
      See Also:
        `focusInCell(java.lang.Integer, java.lang.Integer)`

    - #### addFormulaUpdatedHandler

          public HandlerRegistration addFormulaUpdatedHandler(FormulaUpdatedHandler handler)

      Add a formulaUpdated handler.

      Notification fired when a user either creates a new formula field or edits an existing formula field.

      Specified by:
        `addFormulaUpdatedHandler` in interface `HasFormulaUpdatedHandlers`
      Parameters:
        `handler` - the formulaUpdated handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### freezeField

          public void freezeField(ListGridField field)

      Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to freeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### freezeField

          public void freezeField(java.lang.Integer field)

      Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to freeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### freezeField

          public void freezeField(java.lang.String field)

      Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to freeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### freezeField

          public void freezeField(java.lang.String[] field)

      Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to freeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### getAllEditRows

          public int[] getAllEditRows()

      Returns an array of every rowNum for which we have pending (unsubmitted) edits. This will return records that have been marked as removed (see `ListGrid.markRecordRemoved()` as well as records with unsaved changes to field values.
      Returns:
        Array of rowNums for rows with edit values pending submission.
      See Also:
        `Editing overview and related methods`

    - #### getAllFields

          public ListGridField[] getAllFields()

      Get the complete array of fields for this ListGrid, including fields that are not currently visible or were specified implicitly via `dataSource`.

      This list of fields is only valid once the ListGrid has been `drawn` or once `ListGrid.setFields()` has been called explicitly. If called earlier, only the list of directly specified fields will be returned (the Array passed to create()).

      This Array should be treated as read-only. To modify the set of visible fields, use `ListGrid.showField()`, `ListGrid.hideField()` and related APIs. To update properties of individual fields, use `ListGrid.setFieldProperties()` or more specific APIs such as `ListGrid.setFieldTitle()`.

      Returns:
        Array of all fields in the ListGrid

    - #### getBaseStyle

          protected java.lang.String getBaseStyle(ListGridRecord record,
                                      int rowNum,
                                      int colNum)

      Return the base stylename for this cell. Has the following implementation by default:
      - If `this.editFailedBaseStyle` is defined, and the cell is displaying a validation error return this value.
      - If `this.editFailedPendingStyle` is defined, and the cell is displaying an edit value that has not yet been saved (see `autoSaveEdits`) return this value.
      - Otherwise return `record[listGrid.recordBaseStyleProperty]`, if defined, otherwise `field.baseStyle`.
      If no custom style is found for the cell as described above, the default baseStyle will be returned. If `baseStyle` is specified this will be used. Otherwise for grids showing fixed height rows which match `normalCellHeight` `normalBaseStyle` will be used. For grids with variable, or modified cell heights, `tallBaseStyle` will be used.

      Note also that enabling `fastCellUpdates` will cause the `tallBaseStyle` to be used rather than `normalBaseStyle`.

      Note: This is an override point.

      Parameters:
        `record` - Record associated with this cell. May be `null` for a new edit row at the end of this grid's data set.
        `rowNum` - row number for the cell
        `colNum` - column number of the cell
      Returns:
        CSS class for this cell
      See Also:
        `getCellStyle(com.smartgwt.client.widgets.grid.ListGridRecord, int, int)`, Hilite cells (replace style) Example

    - #### getCellCSSText

          protected java.lang.String getCellCSSText(ListGridRecord record,
                                        int rowNum,
                                        int colNum)

      Return CSS text for styling this cell, which will be applied in addition to the CSS class for the cell, as overrides.

      "CSS text" means semicolon-separated style settings, suitable for inclusion in a CSS stylesheet or in a STYLE attribute of an HTML element.

      Parameters:
        `record` - cell record as returned by getCellRecord
        `rowNum` - row number for the cell
        `colNum` - column number of the cell
      Returns:
        CSS text for this cell
      See Also:
        `getCellStyle(com.smartgwt.client.widgets.grid.ListGridRecord, int, int)`, Hilite cells (add style) Example

    - #### getCellErrors

          public java.lang.String[] getCellErrors(int rowNum,
                                         java.lang.String fieldName)

      Returns the current set of errors for this cell.
      Parameters:
        `rowNum` - index of row to check for validation errors.
        `fieldName` - field to check for validation errors - can be fieldName or index of the column.
      Returns:
        array of error messages (strings) for the specified cell. If no validation errors are present, returns null.
      See Also:
        `GridValidation overview and related methods`

    - #### getCellHoverComponent

          protected Canvas getCellHoverComponent(Record record,
                                     java.lang.Integer rowNum,
                                     java.lang.Integer colNum)

      When `showHoverComponents` is set, this method is called to get the component to show as a hover for the current cell.

      By default, this method returns one of a set of builtin components, according to the value of `listGrid.hoverMode`. You can override this method to return any component you wish to provide as a hoverComponent, or invoke the superclass method to have the default hover component generated, then further customize it.

      By default, components returned by `getCellHoverComponent()` will be automatically destroyed when the hover is hidden. To prevent this, set `hoverAutoDestroy` to false on the returned component.

      Parameters:
        `record` - record to get the hoverComponent for
        `rowNum` - row number for the cell
        `colNum` - column number of the cell
      Returns:
        the component to show as a hover

    - #### getCellPageRect

          public java.lang.Integer[] getCellPageRect(int rowNum,
                                            int colNum)

      Returns the page offsets and size of the cell at the passed row and column. If auto-sizing is enabled, sizes are not definitive until the grid has finished drawing, so calling this method before drawing completes will return the configured column sizes.
      Parameters:
        `rowNum` - row index of the cell
        `colNum` - column index of the cell
      Returns:
        the page rect of the passed cell, or null if undrawn
      See Also:
        `Sizing overview and related methods`

    - #### getCellRowSpan

          public int getCellRowSpan(int rowNum,
                           int colNum)

      When using `row spanning`, returns the number of cells spanned by the cell at the given coordinates.

      If the passed coordinates are in the middle of a series of spanned cells, the row span of the spanning cell is returned. For example, if row 2 col 0 spans 3 cells, calls to `getCellRowSpan()` for row 2 col 0, row 3 col 0, row 4 col 0 will all return 3.

      This method returns row span information for the current rendered cells. In contrast, if the grid is about to be redrawn, a call to `getRowSpan()` may return row span values for how the grid is about to be drawn. Also, user-provided getRowSpan() functions are not required to operate properly when called outside of the grid rendering loop.

      Note: This method is a utility method for developers - it is not called directly by the grid rendering path and therefore is not intended for override. To set up custom row-spanning behavior, override `ListGrid.getRowSpan()` instead.

      Parameters:
        `rowNum` - row number of cell to return the row span for
        `colNum` - column number of cell to return the row span for
      Returns:
        number of cells spanned by the cell that spans through these coordinates

    - #### getCellSelection

          public CellSelection getCellSelection()

      When `canSelectCells` is active, returns the `CellSelection` object that tracks and manages the current selection. Returns null if `canSelectCells` is false.
      Returns:
        current cellSelection

    - #### getCellStartRow

          public int getCellStartRow(int rowNum,
                            int colNum)

      When using `row spanning`, returns the row number where a row-spanning cell starts.

      For example, if row 2 col 0 spans 3 cells, `getCellStartRow()` for row 2 col 0, row 3 col 0, row 4 col 0 will all return 2, because that's the row when spanning starts.

      Parameters:
        `rowNum` - row number of cell for which the start row should be returned
        `colNum` - column number of cell for which the start row should be returned
      Returns:
        row number where spanning starts

    - #### getCellStyle

          protected java.lang.String getCellStyle(ListGridRecord record,
                                      int rowNum,
                                      int colNum)

      Return the CSS class for a cell. By default this method has the following implementation:
      - return any custom style for the record (e `recordCustomStyleProperty`) if defined.
      - create a style name based on the result of `GridRenderer.getBaseStyle()` and the state of the record using the rules described in `cellStyleSuffixes`.

      Cell Styles are customizable by:

      - attaching a custom style to a record by setting `record[this.recordCustomStyleProperty]` to some valid CSS style name.
      - modifying the base style returned by getBaseStyle() [see that method for further documentation on this]
      - overriding this function

      In addition to this `ListGrid.getCellCSSText()` may be overriden to provide custom cssText to apply on top of the styling attributes derived from the named style.

      Parameters:
        `record` - record object for this row and column
        `rowNum` - number of the row
        `colNum` - number of the column
      Returns:
        CSS style for this cell
      See Also:
        `getBaseStyle()`, `Appearance overview and related methods`

    - #### getColumnLeft

          public java.lang.Integer getColumnLeft(java.lang.Integer colNum)

      Return the left offset (in local coordinate space) of a particular column.
      Parameters:
        `colNum` - number of the column
      Returns:
        left offset of the passed colNum, or null if not yet drawn or no such column
      See Also:
        `Sizing overview and related methods`

    - #### getColumnPageLeft

          public java.lang.Integer getColumnPageLeft(java.lang.Integer colNum)

      Return the left coordinate for a given column number as a GLOBAL coordinate
      Parameters:
        `colNum` - number of the column
      Returns:
        page left offset of the passed colNum, or null if undrawn or no such column
      See Also:
        `Sizing overview and related methods`

    - #### getColumnWidth

          public java.lang.Integer getColumnWidth(int colNum)

      Return the width of a particular column.
      Parameters:
        `colNum` - number of the column
      Returns:
        width of the column, or `null` if undrawn or no such column.
      See Also:
        `Sizing overview and related methods`

    - #### getCurrentExpansionComponent

          public Canvas getCurrentExpansionComponent(java.lang.Integer record)

      Returns the expansion component derived from `ListGrid.getExpansionComponent()` currently visible in some record, or null if the specified record is not showing an expansion component.
      Parameters:
        `record` - rowNum or record to get the expansionComponent for
      Returns:
        the currently visible expansion component for the expanded row.

    - #### getCurrentExpansionComponent

          public Canvas getCurrentExpansionComponent(ListGridRecord record)

      Returns the expansion component derived from `ListGrid.getExpansionComponent()` currently visible in some record, or null if the specified record is not showing an expansion component.
      Parameters:
        `record` - rowNum or record to get the expansionComponent for
      Returns:
        the currently visible expansion component for the expanded row.

    - #### getDefaultFieldWidth

          public int getDefaultFieldWidth(ListGridField field)

      Method to calculate and return the default width of a field. This method is called to calculate the size of each field's content as part of the `field auto fit` behavior. Note that this method returns a size for content, so will not be consulted if `autoFitWidthApproach` is set to `"title"`.

      The default implementation varies by `field type`. For fields of type `"icon"`, or fields which show only a `valueIcon` as a value, and for boolean fields which show a checkbox value, the width will be calculated based on the icon size and `iconPadding`. For other fields the width will be calculated based on the rendered width of content. Note that for `"image"` type fields, this method will rely on the `imageWidth` being specified.

      Note that this width is the default width of "content" - it does not take into account the rendered size of the field title.

      Parameters:
        `field` - Field for which the size should be determined
      Returns:
        default size required for the field's content.

    - #### getDefaultFormattedFieldValue

          public java.lang.String getDefaultFormattedFieldValue(Record record,
                                                       ListGridField field)

      Get a field value for some record with default field formatters applied.

      This method differs from `ListGrid.getDefaultFormattedValue()` in a couple of ways. Firstly, this method does not rely on the rowNum and colNum parameters to find the record and field in the grid.
      Secondly, unlike `ListGrid.getDefaultFormattedValue()` this method will call any explicit cell formatter specified on the field passed in (though it will not call a `component level formatter` if one exists).

      This is useful for cases where a developer wishes to display a formatted value for some record and field combination which does not necessarily map to a cell displayed in the ListGrid.

      If `rowNum` and `colNum` parameters are passed through to the field level cell formatter if one exists. If not explicitly provided these are defaulted to -1.

      Parameters:
        `record` - the record object
        `field` - the field object
      Returns:
        Default formatted value
      See Also:
        `ListGridField.setCellFormatter(com.smartgwt.client.widgets.grid.CellFormatter)`

    - #### getDefaultFormattedFieldValue

          public java.lang.String getDefaultFormattedFieldValue(Record record,
                                                       ListGridField field,
                                                       int rowNum)

      See Also:
        `getDefaultFormattedFieldValue(com.smartgwt.client.data.Record, com.smartgwt.client.widgets.grid.ListGridField)`

    - #### getDefaultFormattedFieldValue

          public java.lang.String getDefaultFormattedFieldValue(Record record,
                                                       ListGridField field,
                                                       int rowNum,
                                                       int colNum)

      Get a field value for some record with default field formatters applied.

      This method differs from `ListGrid.getDefaultFormattedValue()` in a couple of ways. Firstly, this method does not rely on the rowNum and colNum parameters to find the record and field in the grid.
      Secondly, unlike `ListGrid.getDefaultFormattedValue()` this method will call any explicit cell formatter specified on the field passed in (though it will not call a `component level formatter` if one exists).

      This is useful for cases where a developer wishes to display a formatted value for some record and field combination which does not necessarily map to a cell displayed in the ListGrid.

      If `rowNum` and `colNum` parameters are passed through to the field level cell formatter if one exists. If not explicitly provided these are defaulted to -1.

      Parameters:
        `record` - the record object
        `field` - the field object
        `rowNum` - rowNum (passed to any field level cell formatter)
        `colNum` - colNum (passed to any field level cell formatter)
      Returns:
        Default formatted value
      See Also:
        `ListGridField.setCellFormatter(com.smartgwt.client.widgets.grid.CellFormatter)`

    - #### getDefaultFormattedValue

          public java.lang.String getDefaultFormattedValue(Record record,
                                                  int rowNum,
                                                  int colNum)

      Get the value for some cell with default formatters applied.

      This method is useful for cases where a developer wishes to conditionally customize a cell's formatting, but needs to see what the default formatted value would be.

      For example - a developer might wish to apply a custom `formatter` to some `link` type field, and be able to return the default active link HTML in some cases. In this case a formatter could check for the conditions in which custom formatting should be applied and run appropriate custom logic to generate a value for display - otherwise return the result of this method to leave the standard formatted-value intact.

      Parameters:
        `record` - the cell's record object
        `rowNum` - rowNum for the cell
        `colNum` - colNum for the cell
      Returns:
        Cell value with default formatters applied
      See Also:
        `ListGridField.setCellFormatter(com.smartgwt.client.widgets.grid.CellFormatter)`

    - #### getDrawArea

          public java.lang.Integer[] getDrawArea()

      Returns the extents of the rows and columns currently visible in this grid's viewport.

      Note: if there are any `frozen fields`, they are not included in the draw area range returned by this method. Frozen fields are assumed to never be scrolled out of view. The column coordinates returned by this method will only include unfrozen columns.

      Returns:
        The row/col co-ordinates currently visible in the viewport as [startRow, endRow, startCol, endCol].

    - #### getDrawnRowHeight

          public int getDrawnRowHeight(int rowNum)

      Get the drawn height of a row.
      Parameters:
        `rowNum` -
      Returns:
        height
      See Also:
        `Sizing overview and related methods`

    - #### getEditCol

          public int getEditCol()

      Returns the index of the column being edited or -1 if there is no current edit column.
      Returns:
        index of the current edit column
      See Also:
        `Editing overview and related methods`

    - #### getEditedCell

          public java.lang.Object getEditedCell(int record,
                                       int field)

      Returns the current value of a cell. If the cell has an outstanding edit value, this will be returned, otherwise the underlying value of the record will be returned.
      Parameters:
        `record` - rowNum of the record being edited, or an Object containing values for all the record's primary keys
        `field` - colNum or fieldName of the cell
      Returns:
        Current edit value, or underlying value for the cell
      See Also:
        `Editing overview and related methods`

    - #### getEditRow

          public int getEditRow()

      Returns the index of the row being edited or -1 if there is no current edit row.
      Returns:
        index of the current edit row
      See Also:
        `Editing overview and related methods`

    - #### getEditValue

          public java.lang.Object getEditValue(int rowNum,
                                      int colNum)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `colNum` - index of the field, or fieldName, for which value should be returned
      Returns:
        edit value for the field in question
      See Also:
        `Editing overview and related methods`

    - #### getEventColumn

          public int getEventColumn()

      Returns the column number of the most recent mouse event.
      Returns:
        column number, or -2 if beyond last drawn column

    - #### getEventColumn

          public int getEventColumn(java.lang.Integer x)

      Returns the column number of the most recent mouse event.
      Parameters:
        `x` - optional x-coordinate to obtain column number for, in lieu of the x coordinate of the last mouse event
      Returns:
        column number, or -2 if beyond last drawn column

    - #### getEventRow

          public int getEventRow()

      Returns the row number of the most recent mouse event.
      Returns:
        row number, or -2 if beyond last drawn row

    - #### getEventRow

          public int getEventRow(java.lang.Integer y)

      Returns the row number of the most recent mouse event.
      Parameters:
        `y` - optional y-coordinate to obtain row number, in lieu of the y coordinate of the last mouse event
      Returns:
        row number, or -2 if beyond last drawn row

    - #### getExpansionComponent

          protected Canvas getExpansionComponent(ListGridRecord record)

      Gets the embedded-component to show as a given record's expansionComponent. This component is then housed in `a VLayout` and embedded into a record's row.

      By default, this method returns one of a set of built-in components, according to the value of `listGrid.expansionMode`. You can override this method to return any component you wish to provide as an expansionComponent.

      As long as the record is expanded, this component may be retrieved via a call to `ListGrid.getCurrentExpansionComponent()`.

      When an expanded record is collapsed, the component is disassociated from the record and may or may not be automatically destroyed. By default, built-in components will be destroyed on unembed. Custom expansion components, created via an override of getExpansionComponents(), may not be auto-destroyed, according to the `pooling mode` being used.

      Parameters:
        `record` - record to get the expansionComponent for
      Returns:
        the component to embed

    - #### getExportBGColor

          public java.lang.String getExportBGColor(int rowNum,
                                          int colNum,
                                          Record record)

      When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for the cell at the given rowNum and colNum.

      See `ExportBGColor` for an overview.

      Parameters:
        `rowNum` - row number of cell
        `colNum` - column number of cell
        `record` - the record object behind the row being exported
      Returns:
        background color to use for the cell, or null to use the default background color

    - #### getExportColumnBGColor

          public java.lang.String getExportColumnBGColor(int colNum)

      When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for the given colNum.

      See `ExportBGColor` for an overview.

      Parameters:
        `colNum` - column number
      Returns:
        background color to use for the column, or null to use the default background color

    - #### getExportRowBGColor

          public java.lang.String getExportRowBGColor(int rowNum,
                                             Record record)

      When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, background color to use for the given rowNum.

      See `ExportBGColor` for an overview.

      Parameters:
        `rowNum` - row number
        `record` - the record object behind the row being exported
      Returns:
        background color to use for the row, or null to use the default background color

    - #### getField

          public ListGridField getField(int colNum)

      Given a column number or field name, return the field definition.

      When using `DataBinding`, the field definition may be a mix of information derived from `fields` and `dataSource`.

      Parameters:
        `colNum` - number or id of the field.
      Returns:
        field definition

    - #### getFieldName

          public java.lang.String getFieldName(int colNum)

      Given a column number or field id, return the field name of a field.
      Parameters:
        `colNum` - number or id of the field.
      Returns:
        Name of the field.

    - #### getFieldNum

          public int getFieldNum(java.lang.String fieldID)

      Given a field or field id, return it's index in the fields array
      Parameters:
        `fieldID` - field number or field.name
      Returns:
        index of the field within this.fields

    - #### getFieldNum

          public int getFieldNum(int fieldID)

      Given a field or field id, return it's index in the fields array
      Parameters:
        `fieldID` - field number or field.name
      Returns:
        index of the field within this.fields

    - #### getFieldTitle

          public java.lang.String getFieldTitle(java.lang.String fieldId)

      Return the title of a field, specified by name or index.
      Parameters:
        `fieldId` - name or index of the field
      Returns:
        Field title.

    - #### getFieldTitle

          public java.lang.String getFieldTitle(int fieldId)

      Return the title of a field, specified by name or index.
      Parameters:
        `fieldId` - name or index of the field
      Returns:
        Field title.

    - #### getFieldWidth

          public java.lang.Integer getFieldWidth(int fieldNum)

      Returns a numeric value for the width of some field within this `ListGrid`.
      Parameters:
        `fieldNum` - Index or name of the field for which the width is to be determined.
      Returns:
        width of the field in px, or `null` if the width can't be determined.

    - #### getFilterEditorCriteria

          public Criteria getFilterEditorCriteria()

      If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`. Note that these values may differ from the criteria returned by `ListGrid.getCriteria()` if the filter editor values have been modified without performing an actual filter.
      Returns:
        criteria currently displayed in the filterEditor

    - #### getFilterEditorCriteriaAsAdvancedCriteria

          public AdvancedCriteria getFilterEditorCriteriaAsAdvancedCriteria()

      If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`. Note that these values may differ from the criteria returned by `ListGrid.getCriteria()` if the filter editor values have been modified without performing an actual filter.
      Returns:
        criteria currently displayed in the filterEditor

    - #### getFilterEditorCriteria

          public Criteria getFilterEditorCriteria(java.lang.Boolean omitHiddenFields)

      If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`. Note that these values may differ from the criteria returned by `ListGrid.getCriteria()` if the filter editor values have been modified without performing an actual filter.
      Parameters:
        `omitHiddenFields` - By default this method will include criteria applied to fields, including criteria that are not actually visible/editable in the filterEditor for the grid. Pass in this parameter to get only values for visible fields returned.
      Returns:
        criteria currently displayed in the filterEditor

    - #### getFocusRow

          public java.lang.Integer getFocusRow()

      Get the row that currently has keyboard focus. Arrow key navigation moves relative to this row.
      Returns:
        rowNum of the current focus row

    - #### getGridSummary

          public java.lang.Object getGridSummary(ListGridField field)

      When `showGridSummary` is `true` this method is called for each field which will show a grid summary value (as described in `showGridSummary`) to get the summary value to display below the relevant column.

      The default implementation is as follows:

      - If this is a databound grid and not all data is loaded, returns null for every field
      - Otherwise if `ListGridField.getGridSummary()` is defined, calls that method passing in the current data set for the grid
      - If `ListGridField.getGridSummary()` is undefined, makes use of the `standard summary function` for the field to calculate the summary based on the current data set
      This method may return an array of values. This implies that the grid summary should show multiple rows. Note that if a field has more than one summaryFunction specified, this method will pick up values from each summary function and return them in an array, meaning these summaries will show up on multiple rows in the grid.

      This method may be overridden to completely customize the summary value displayed for columns in this grid. An example use case would be when summary information is available on the client and does not need to be calculated directly from the data.

      Note: this method will not be called if `summaryRowDataSource` is specified.

      Parameters:
        `field` - field for which the summary value should be returned
      Returns:
        summary value to display for the specified field.

    - #### getGridSummaryData

          public ListGridRecord[] getGridSummaryData()

      This method returns the data displayed in the `summaryRow` when `showGridSummary` is true.

      By default this will call `ListGrid.getGridSummary()` for each field and generate an array of records containing the resulting values.

      This method may return multiple records if more than one summary row is desired.

      Returns:
        summary record(s)

    - #### getGroupSummaryData

          public ListGridRecord[] getGroupSummaryData(Record[] records,
                                             Record groupNode)

      If this grid is `grouped`, and `showGroupSummary` is true, this method will return the group summary data displayed at the end of the group.

      This method may return multiple records if more than one summary row per group is desired.

      Parameters:
        `records` - the records in the group, for which the summary values are being calculated
        `groupNode` - object with specified groupValue and groupName for this group
      Returns:
        summary record(s)

    - #### getGroupTreeSelection

          public ListGridRecord[] getGroupTreeSelection()

      If this grid `is grouped`, this method will return the current selection. Unlike the standard `getSelection method`, this method will return `group nodes` in addition to standard `ListGridRecord`s within the grid's data.
      Returns:
        Selected group header nodes and record data objects. If this grid is not grouped, standard `listGrid selection` will be returned.

    - #### getGroupTreeSelection

          public ListGridRecord[] getGroupTreeSelection(boolean excludePartialSelection)

      See Also:
        `getGroupTreeSelection()`

    - #### getGroupTreeSelection

          public ListGridRecord[] getGroupTreeSelection(boolean excludePartialSelection,
                                               boolean groupNodesOnly)

      If this grid `is grouped`, this method will return the current selection. Unlike the standard `getSelection method`, this method will return `group nodes` in addition to standard `ListGridRecord`s within the grid's data.
      Parameters:
        `excludePartialSelection` - By default a group header node is considered selected if any members of the group are selected. If this flag is passed in, only header nodes where all members of the group are selected will be included in the returned results.
        `groupNodesOnly` - If this parameter is passed as `true`, this method will return just the group header nodes from the group tree. If omitted or false, both header nodes and data records will be returned.
      Returns:
        Selected group header nodes and record data objects. If this grid is not grouped, standard `listGrid selection` will be returned.

    - #### getHeaderContextMenuItems

          protected MenuItem[] getHeaderContextMenuItems(java.lang.Integer fieldNum)

      If `showHeaderContextMenu` is `true` this method returns the menu items to be displayed in the default header context menu.

      This method is called at various times, including during redraws, as the mouse moves over a ListGrid header button and each time the menu is actually displayed - this allows for dynamic content depending on the current state of the grid and its fields.

      Consequently, this method should not instantiate any classes, because they'll be re-created on each call, resulting in a leak - your implementation should return an array of menuItem config-blocks only, so you shouldn't instantiate actual Menu instances to apply as the +link{menuItem.subMenu, submenu) of items - instead, set submenu to a simple array of menuItems. If your use-case necessitates that class instances are created, because specific submenus have a different Menu class, for example, you should keep a reference to them and either, if their content is dynamic, destroy and recreate them with the new items, or just return the existing instances otherwise.

      The default set of menu items includes items for built-in ListGrid features like showing and hiding fields, freezing fields or grouping by them, and other functions.

      Parameters:
        `fieldNum` - Index of the field the user clicked in the `fields` array. Note: if the user right-clicked the sorter button this parameter will be `null`.
      Returns:
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderSpanContextMenuItems

          protected MenuItem[] getHeaderSpanContextMenuItems(HeaderSpan headerSpan)

      Return the menus items that should be shown in a menu triggered from a `headerSpan`.
      Parameters:
        `headerSpan` - the component representing the headerSpan. This component will have all the properties specified via `headerSpans`.
      Returns:
        return false instead to avoid showing a menu

    - #### getRecord

          public ListGridRecord getRecord(int recordNum)

      Return the pointer to a particular record by record number. Synonym for `ListGrid.getCellRecord()`.
      Parameters:
        `recordNum` - row index of record to return.
      Returns:
        Record object for the row.
      See Also:
        `com.smartgwt.client.widgets.grid.ListGrid#getCellRecord`, `getEditedRecord(int)`

    - #### getRecordComponent

          public Canvas getRecordComponent(int rowNum)

      Retrieve the `recordComponent` currently being shown at the given coordinates.

      `recordComponents` are dynamically assigned to row/cell coordinates and, depending on the `recordComponentPoolingMode`, any kind of redraw of the containing ListGrid (due to sort change, scrolling, editing etc) may cause a `recordComponent` to be assigned to another row, `clear()ed` or permanently `destroy()ed`.

      Hence you should always call `getRecordComponent()` right before taking action on the `recordComponent` - don't cache the component associated with row/cell coordinate. Similarly, it's invalid to call `getRecordComponent()` during a redraw (for example, from `formatting` code).

      It's always invalid to try to use a `recordComponent` outside of a ListGrid (by eg adding it to some other layout).

      If `showRecordComponentsByCell` is true and the colNum parameter is not passed, the call will return the first component in the passed rowNum.

      Returns null if there is no component at the specified coordinates.

      Parameters:
        `rowNum` - row number to get record component for
      Returns:
        record component, or null if none is shown at these coordintes

    - #### getRecordComponent

          public Canvas getRecordComponent(int rowNum,
                                  java.lang.Integer colNum)

      Retrieve the `recordComponent` currently being shown at the given coordinates.

      `recordComponents` are dynamically assigned to row/cell coordinates and, depending on the `recordComponentPoolingMode`, any kind of redraw of the containing ListGrid (due to sort change, scrolling, editing etc) may cause a `recordComponent` to be assigned to another row, `clear()ed` or permanently `destroy()ed`.

      Hence you should always call `getRecordComponent()` right before taking action on the `recordComponent` - don't cache the component associated with row/cell coordinate. Similarly, it's invalid to call `getRecordComponent()` during a redraw (for example, from `formatting` code).

      It's always invalid to try to use a `recordComponent` outside of a ListGrid (by eg adding it to some other layout).

      If `showRecordComponentsByCell` is true and the colNum parameter is not passed, the call will return the first component in the passed rowNum.

      Returns null if there is no component at the specified coordinates.

      Parameters:
        `rowNum` - row number to get record component for
        `colNum` - optional column number to get the record component for
      Returns:
        record component, or null if none is shown at these coordintes

    - #### getRecordDropPosition

          public RecordDropPosition getRecordDropPosition()

      Returns the `RecordDropPosition` for some record drop operation. This value is passed to the `ListGrid.recordDrop()` event notification method.

      Default implementation determines the position to return based on the specified `recordDropAppearance` for the grid and the `y-coordinate of the drop event`.

      Returns:
        record drop position.

    - #### getRecordIndex

          public int getRecordIndex(ListGridRecord record)

      Get the index of the provided record.

      This is essentially the same as calling listGrid.data.indexOf(record), except that the currently visible range of records is checked first. This is important for responsiveness in functions that respond to user actions when the user is working near the end of a very large dataset (eg 500k records).

      Parameters:
        `record` - the record whose index is to be retrieved
      Returns:
        index of the record, or -1 if not found

    - #### getRelatedDataSource

          public DataSource getRelatedDataSource(ListGridRecord record)

      Returns the `DataSource` containing data related to the passed record. Used when `canExpandRecords` is true and `ExpansionMode` is "related". The default implementation returns the DataSource specified in `detailDS` if set, otherwise `detailDS`.
      Parameters:
        `record` - The record to get the Related dataSource for.
      Returns:
        The related DataSource for the "record" param

    - #### getRollOverCanvas

          protected Canvas getRollOverCanvas(java.lang.Integer rowNum,
                                 java.lang.Integer colNum)

      If the `rollOverCanvas` is enabled, this method will be called to create the canvas to display over the current row or cell when a user moves their mouse over the row.

      Note that for efficiency this should not typically create a new Canvas every time that it is called. Instead typically a single rollOver canvas should be created and updated to reflect the current rollOver row if necessary.

      Return null to avoid showing a `rollOverCanvas` for this row.

      Note: This is an override point.

      Parameters:
        `rowNum` - index of the current rollOver row.
        `colNum` - index of the current rollOver column. This parameter will be null unless `useCellRollOvers` is true for the grid.
      Returns:
        the embedded component

    - #### getRollUnderCanvas

          protected Canvas getRollUnderCanvas(java.lang.Integer rowNum,
                                  java.lang.Integer colNum)

      If the `rollUnderCanvas` is enabled, this method will be called to create the canvas to display under the current row or cell when a user moves their mouse over the row.

      Note that for efficiency this should not typically create a new Canvas every time that it is called. Instead typically a single rollUnder canvas should be created and updated to reflect the current rollOver row if necessary.

      Return null to avoid showing a `rollUnderCanvas` for this row.

      Note: This is an override point.

      Parameters:
        `rowNum` - index of the current rollOver row.
        `colNum` - index of the current rollOver column. This parameter will be null unless `useCellRollOvers` is true for the grid.
      Returns:
        the embedded component

    - #### getRowErrors

          public java.util.Map getRowErrors(int rowNum)

      Returns any currently stored validation errors for this row in the following format:
      `{fieldName:[array of error messages], ...}`
      Parameters:
        `rowNum` - index of row to check for validation errors.
      Returns:
        object showing validation error arrays by field for the row passed in - if no validation errors stored for the row, null is returned.
      See Also:
        `getCellErrors(int, java.lang.String)`, `GridValidation overview and related methods`

    - #### getRowHeight

          public int getRowHeight(ListGridRecord record,
                         int rowNum)

      Return the height this row should be. Default is this.cellHeight. If `fixedRecordHeights` is false, the row may be rendered taller than this specified size.

      If records will be variable height, you should switch on `virtualScrolling`.

      Note if `row spanning` is enabled, this method should return the height of a single row (with rowSpan set to 1).

      Parameters:
        `record` - cell record as returned by getCellRecord
        `rowNum` - row number
      Returns:
        height in pixels

    - #### getRowNum

          public int getRowNum(ListGridRecord record)

      Synonym of `getRecordIndex()`.
      Parameters:
        `record` - the record whose index is to be retrieved
      Returns:
        index of the record, or -1 if not found

    - #### getRowPageTop

          public int getRowPageTop(int rowNum)

      Returns the Y-coordinate for a given row number as a page-relative coordinate. See `ListGrid.getRowTop()`.
      Parameters:
        `rowNum` -
      Returns:
        Y-coordinate
      See Also:
        `Positioning overview and related methods`

    - #### getRowTop

          public int getRowTop(int rowNum)

      Returns the top coordinate for a given row number, relative to the top of body content. Use `ListGrid.getRowPageTop()` for a page-relative coordinate.

      This method is reliable only for rows that are currently drawn, which is generally only rows that are visible in the viewport. If row heights vary (see `fixedRowHeights`), coordinates for rows that are not currently shown are rough approximations.

      Parameters:
        `rowNum` -
      Returns:
        Y-coordinate
      See Also:
        `Positioning overview and related methods`

    - #### getSelectedRecord

          public ListGridRecord getSelectedRecord()

      Returns the first selected record in this grid.

      This method is appropriate if the `selectionType` is `SelectionStyle.SINGLE`, or if you only care about the first selected record in a multiple-record selection. To access all selected records, use `ListGrid.getSelection()` instead.

      NOTE: If a record is returned, it should be treated as read-only and not modified.

      Returns:
        the first selected record, or null if no record is selected.
      See Also:
        `Selection overview and related methods`, Databound remove Example

    - #### getSelectedRecords

          public ListGridRecord[] getSelectedRecords()

      Returns all selected records in this grid.

      NOTE: Records in the returned array should be treated as read-only and not modified.

      Returns:
        array of selected records, which will be empty if no record is selected.
      See Also:
        `Selection overview and related methods`

    - #### getSelectedRecords

          public ListGridRecord[] getSelectedRecords(boolean excludePartialSelections)

      Returns all selected records in this grid.

      NOTE: Records in the returned array should be treated as read-only and not modified.

      Parameters:
        `excludePartialSelections` - When true, partially selected records will not be returned. Otherwise, both fully and partially selected records are returned.
      Returns:
        array of selected records, which will be empty if no record is selected.
      See Also:
        `Selection overview and related methods`

    - #### getSort

          public SortSpecifier[] getSort()

      Returns the current `SortSpecifiers` for this ListGrid. Will return null if this grid has never been sorted (and has no specified `initialSort` or `sortField`).

      Note that if sorting was applied via `ListGrid.sort()` [rather than `ListGrid.setSort()`] the sortSpecifiers returned will have been created based on the specified sort field / direction passed into `ListGrid.sort()`.

      Returns:
        current sort specifiers for this grid (may be null if this grid is unsorted).

    - #### getSortFieldCount

          public int getSortFieldCount()

      Returns the number of fields involved in this grid's current sort configuration.
      Returns:
        the number of fields this grid is currently sorted on.

    - #### getSortNumeralHTML

          public java.lang.String getSortNumeralHTML(java.lang.String fieldName,
                                            int sortIndex)

      When multiple fields are sorted, this method returns the HTML for the sort-numeral that appears after the sort-arrows in the header-buttons of sorted fields. If you don't want sort-numerals in the header-buttons, you can override this method to return null or an empty string, or set `showSortNumerals` to false.

      Note that the sortIndex passed in is zero based. The default implementation of this method returns an HTML element with the `sortNumeralStyle` applied to it, containing the specified sortIndex incremented by 1 (therefore showing the more user-friendly 1-based numbering system).

      Parameters:
        `fieldName` - The name of a sort-field to get the `sortNumeral` HTML for.
        `sortIndex` - The sort index for the field.
      Returns:
        The HTML for this field's sortNumeral

    - #### getSortSpecifier

          public SortSpecifier getSortSpecifier(java.lang.String fieldName)

      Returns the `SortSpecifier` for the passed fieldName, or null if the field is not sorted.
      Parameters:
        `fieldName` - The name of a field, visible, hidden or existing only in the dataSource
      Returns:
        for the passed fieldName, or null if the field is not sorted.

    - #### getSummaryFieldValue

          public java.lang.String getSummaryFieldValue(ListGridField field,
                                              Record record)

      Get the computed value of a `summary field`.
      Parameters:
        `field` - field that has a summary format
        `record` - record to use to compute formula value
      Returns:
        formula result

    - #### getToggleFreezeText

          public java.lang.String getToggleFreezeText(ListGridField field)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to toggle whether a field is frozen or unfrozen.

      Default implementation evaluates and returns `freezeFieldText` or `unfreezeFieldText` depending on whether the field is currently frozen.

      Parameters:
        `field` - field to get the menu item title for
      Returns:
        Title to show in the menu item

    - #### addGroupByCompleteHandler

          public HandlerRegistration addGroupByCompleteHandler(GroupByCompleteHandler handler)

      Add a groupByComplete handler.

      Callback fired when the listGrid is grouped or ungrouped.

      Unlike `ListGrid.groupBy()`, this notification will fire when grouping is complete, and the `data` object has been updated. On successful grouping the `fields` argument will list the new grouping and the `groupTree` will have been updated to reflect the grouped data.

      Note that the `fields` argument may be an empty array if the data is not grouped. This implies that a user or developer explicitly ungrouped the grid, or that a groupBy attempt failed due to the data length exceeding `groupByMaxRecords`.

      Specified by:
        `addGroupByCompleteHandler` in interface `HasGroupByCompleteHandlers`
      Parameters:
        `handler` - the groupByComplete handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addGroupStateChangedHandler

          public HandlerRegistration addGroupStateChangedHandler(GroupStateChangedHandler handler)

      Add a groupStateChanged handler.

      Notification method executed whenever the groupState of this grid changes. Group state is accessible via `ListGrid.getGroupState()`, and contains group state information.

      Specified by:
        `addGroupStateChangedHandler` in interface `HasGroupStateChangedHandlers`
      Parameters:
        `handler` - the groupStateChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addGroupByHandler

          public HandlerRegistration addGroupByHandler(GroupByHandler handler)

      Add a groupBy handler.

      Callback fired when the user attempts to group or ungroup the listGrid, or when `ListGrid.groupBy()` is called programmatically. This event may be cancelled.

      This notification is fired before the `data` is updated to reflect the grouping. See also `ListGrid.groupByComplete()`.

      Specified by:
        `addGroupByHandler` in interface `HasGroupByHandlers`
      Parameters:
        `handler` - the groupBy handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### hasChanges

          public java.lang.Boolean hasChanges()

      Whether the grid as a whole has any unsaved edits, in any row. Note that this method will return true if any rows are `marked as removed` in addition to any rows that have pending unsaved edits.
      Returns:
        returns true of any unsaved edits are present
      See Also:
        `Editing overview and related methods`

    - #### hasErrors

          public java.lang.Boolean hasErrors()

      Does this grid currently have errors associated with editValues for any row in the grid.
      Returns:
        true if there are unresolved errors, false otherwise
      See Also:
        `rowHasErrors(int)`, `cellHasErrors(int, java.lang.String)`, `GridValidation overview and related methods`

    - #### addHeaderDoubleClickHandler

          public HandlerRegistration addHeaderDoubleClickHandler(HeaderDoubleClickHandler handler)

      Add a headerDoubleClick handler.

      Handle a double click in the list header.

      By default, calls `ListGrid.autoFitField()` if `canAutoFitFields` is true and `headerAutoFitEvent` is `"doubleClick"`.

      Specified by:
        `addHeaderDoubleClickHandler` in interface `HasHeaderDoubleClickHandlers`
      Parameters:
        `handler` - the headerDoubleClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addHeaderHoverHandler

          public HandlerRegistration addHeaderHoverHandler(HeaderHoverHandler handler)

      Add a headerHover handler.

      Handle a hover over a button in the header.

      Specified by:
        `addHeaderHoverHandler` in interface `HasHeaderHoverHandlers`
      Parameters:
        `handler` - the headerHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### headerHoverHTML

          public java.lang.String headerHoverHTML(int fieldNum,
                                         java.lang.String defaultHTML)

      Returns the HTML that is displayed by the default `headerHover` handler. Return null or an empty string to cancel the hover.

      Use `setHeaderHoverFormatter()` to provide a custom implementation.

      Parameters:
        `fieldNum` - field number for the header that was hovered
        `defaultHTML` - the HTML that would have been displayed by default. See `HTMLString`
      Returns:
        HTML to be displayed in the hover. If null or an empty string, then the hover is canceled.
      See Also:
        `getShowClippedHeaderTitlesOnHover()`, `getClipHeaderTitles()`, `GridHeader overview and related methods`

    - #### headerTitleClipped

          public boolean headerTitleClipped(int fieldNum)

      Is the field title for the specified field clipped?
      Parameters:
        `fieldNum` - field number for the header button title to test
      Returns:
        whether the field title for the specified field is clipped
      See Also:
        `getClipHeaderTitles()`, `GridHeader overview and related methods`

    - #### hideField

          public void hideField(java.lang.String field)

      Force a field to be hidden.
      NOTE: If a field.showIf expression exists, it will be destroyed.

      Note also that if multiple fields are to be hidden it is more efficient to call `ListGrid.hideFields()` passing in the array of fields to hide rather than to call this method repeatedly.

      See `discardEditsOnHideField` and `dropCriteriaOnHideField` for behavior when hiding fields while `editing`.

      Parameters:
        `field` - field to hide
      See Also:
        Column order Example

    - #### hideField

          public void hideField(java.lang.String field,
                       boolean suppressRelayout)

      Force a field to be hidden.
      NOTE: If a field.showIf expression exists, it will be destroyed.

      Note also that if multiple fields are to be hidden it is more efficient to call `ListGrid.hideFields()` passing in the array of fields to hide rather than to call this method repeatedly.

      See `discardEditsOnHideField` and `dropCriteriaOnHideField` for behavior when hiding fields while `editing`.

      Parameters:
        `field` - field to hide
        `suppressRelayout` - if passed, don't relayout non-explicit sized fields to fit the available space
      See Also:
        Column order Example

    - #### hideFields

          public void hideFields(java.lang.String... fields)

      Force an array of fields to be hidden.

      NOTE: If a field.showIf expression exists, it will be destroyed.

      When hiding multiple fields, this method should be called rather than calling `ListGrid.hideField()` repeatedly for each field to hide.

      Parameters:
        `fields` - fields to hide

    - #### hideFields

          public void hideFields(ListGridField... fields)

      Force an array of fields to be hidden.

      NOTE: If a field.showIf expression exists, it will be destroyed.

      When hiding multiple fields, this method should be called rather than calling `ListGrid.hideField()` repeatedly for each field to hide.

      Parameters:
        `fields` - fields to hide

    - #### hideFields

          public void hideFields(java.lang.String[] fields,
                        boolean suppressRelayout)

      Force an array of fields to be hidden.

      NOTE: If a field.showIf expression exists, it will be destroyed.

      When hiding multiple fields, this method should be called rather than calling `ListGrid.hideField()` repeatedly for each field to hide.

      Parameters:
        `fields` - fields to hide
        `suppressRelayout` - if passed, don't relayout non-explicit sized fields to fit the available space

    - #### addHilitesChangedHandler

          public HandlerRegistration addHilitesChangedHandler(HilitesChangedHandler handler)

      Add a hilitesChanged handler.

      Notification method executed whenever the end user uses the HiliteEditor to change the set of hilites applied to this grid. This method will not be called after a purely programmatic change to the hilites made with a call to `setHilites()`. The array of currently applied hilite objects is accessible via `getHilites()`.

      Specified by:
        `addHilitesChangedHandler` in interface `HasHilitesChangedHandlers`
      Parameters:
        `handler` - the hilitesChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### invalidateRecordComponents

          public void invalidateRecordComponents()

      Invalidates the currently visible set of `recordComponents` and gets fresh ones for the visible rows in the grid according to the `recordComponentPoolingMode`

      See also `ListGrid.refreshRecordComponent()` which allows you to refresh a specific recordComponent

    - #### isCheckboxField

          public java.lang.Boolean isCheckboxField(ListGridField field)

      Identifies whether the passed-in field is the specially generated `checkboxField` used when `SelectionAppearance` is "checkbox". Use this method in your custom event handlers to avoid inappropriately performing actions when the checkboxField is clicked on.
      Parameters:
        `field` - field to test
      Returns:
        whether the provided field is the checkbox field

    - #### isExpanded

          public java.lang.Boolean isExpanded(ListGridRecord record)

      Whether a given `record` is expanded or collapsed.
      Parameters:
        `record` - record in question
      Returns:
        true if the node is expanded

    - #### isExpansionField

          public java.lang.Boolean isExpansionField(ListGridField field)

      Identifies whether the passed-in field is the specially generated `expansionField` used when `canExpandRecords` is true. Use this method in your custom event handlers to avoid inappropriately performing actions when the expansionField is clicked on.
      Parameters:
        `field` - field to test
      Returns:
        whether the provided field is the expansion field

    - #### isGroupNode

          public boolean isGroupNode(ListGridRecord record)

      If this listGrid is `grouped`, is the record passed in a group header node.
      Parameters:
        `record` - record to test
      Returns:
        returns true if the record passed in is a group header node

    - #### isPartiallySelected

          public java.lang.Boolean isPartiallySelected(ListGridRecord record)

      When using tree-oriented selection modes like `cascadeSelection`, returns true if the record is considered partially selected because only some of it's children are selected.
      Parameters:
        `record` - record to check
      Returns:
        true if record is partially selected; false otherwise
      See Also:
        `Selection overview and related methods`

    - #### isRowNumberField

          public java.lang.Boolean isRowNumberField(ListGridField field)

      Identifies whether the passed-in field is the specially generated `rowNumberField` used when `showRowNumbers` is true. Use this method in your custom event handlers to avoid inappropriately performing actions when the rowNumberField is clicked on.
      Parameters:
        `field` - field to test
      Returns:
        whether the provided field is the rowNumberField

    - #### isSelected

          public java.lang.Boolean isSelected(ListGridRecord record)

      Returns true if the record is selected.
      Parameters:
        `record` - record to check
      Returns:
        true if record is selected; false otherwise
      See Also:
        `Selection overview and related methods`

    - #### isSortField

          public java.lang.Boolean isSortField(java.lang.String fieldName)

      Returns true if the passed fieldName is in the current sort-specification.
      Parameters:
        `fieldName` - The name of a field, visible, hidden or existing only in the dataSource
      Returns:
        True if the passed field is sorted, false otherwise

    - #### markForRedraw

          public void markForRedraw()

      Marks the widget as "dirty" so that it will be added to a queue for redraw. Redraw of dirty components is handled by a looping timer and will after a very short delay (typically less than 100ms). In most cases it is recommended that developers use `markForRedraw()` instead of calling `Canvas.redraw()` directly. Since this method queues the redraw, multiple calls to markForRedraw() within a single thread of execution will only lead to a single DOM manipulation which greatly improves application performance.
      Overrides:
        `markForRedraw` in class `Canvas`
      See Also:
        `Drawing overview and related methods`

    - #### markForRedraw

          public void markForRedraw(java.lang.String reason)

      Marks the widget as "dirty" so that it will be added to a queue for redraw. Redraw of dirty components is handled by a looping timer and will after a very short delay (typically less than 100ms). In most cases it is recommended that developers use `markForRedraw()` instead of calling `Canvas.redraw()` directly. Since this method queues the redraw, multiple calls to markForRedraw() within a single thread of execution will only lead to a single DOM manipulation which greatly improves application performance.
      Overrides:
        `markForRedraw` in class `Canvas`
      Parameters:
        `reason` - reason for performing the redraw
      See Also:
        `Drawing overview and related methods`

    - #### markRecordRemoved

          public void markRecordRemoved(int rowNum)

      Marks a record deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.

      A removed record is disabled and non-editable, and uses `removedCSSText` for its CSS style, which by default will show strikethrough text.

      Contrast this method with removeSelectedData(), which immediately submits a DSRequest to remove the selected records from the dataset.

      Records that have been marked for removal using this method may be 'unmarked' via a call to `ListGrid.unmarkRecordRemoved()`, or by discarding edit values (`ListGrid.discardEdits()`).

      Parameters:
        `rowNum` - row number for the record to mark
      See Also:
        `Editing overview and related methods`

    - #### markRecordsRemoved

          public void markRecordsRemoved(ListGridRecord... records)

      Marks an array of records deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.

      This method is similar to `ListGrid.markRecordRemoved()` but should be more efficient in avoiding unneeded duplicate refreshes due to the multiple records getting marked.

      Parameters:
        `records` - records or indices to mark removed
      See Also:
        `markRecordRemoved(int)`, `Editing overview and related methods`

    - #### markRecordsRemoved

          public void markRecordsRemoved(int records)

      Marks an array of records deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.

      This method is similar to `ListGrid.markRecordRemoved()` but should be more efficient in avoiding unneeded duplicate refreshes due to the multiple records getting marked.

      Parameters:
        `records` - records or indices to mark removed
      See Also:
        `markRecordRemoved(int)`, `Editing overview and related methods`

    - #### markRecordsRemoved

          public void markRecordsRemoved(RecordList records)

      Marks an array of records deleted such that a later call to `ListGrid.saveEdits()` or `ListGrid.saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.

      This method is similar to `ListGrid.markRecordRemoved()` but should be more efficient in avoiding unneeded duplicate refreshes due to the multiple records getting marked.

      Parameters:
        `records` - records or indices to mark removed
      See Also:
        `markRecordRemoved(int)`, `Editing overview and related methods`

    - #### markSelectionRemoved

          public void markSelectionRemoved()

      Marks the currently selected records as removed, as though `ListGrid.markRecordRemoved()` had been called.
      See Also:
        `Editing overview and related methods`

    - #### addBodyKeyPressHandler

          public HandlerRegistration addBodyKeyPressHandler(BodyKeyPressHandler handler)

      Add a bodyKeyPress handler.

      Handle a keyPress event on the body.

      Default implementation handles navigating between records with arrow keys, and activating records with space and enter.

      Specified by:
        `addBodyKeyPressHandler` in interface `HasBodyKeyPressHandlers`
      Parameters:
        `handler` - the bodyKeyPress handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRecordCollapseHandler

          public HandlerRegistration addRecordCollapseHandler(RecordCollapseHandler handler)

      Add a recordCollapse handler.

      Handler fired when a record is collapsed in a grid with `canExpandRecords` set to true. Allows the collapse to be cancelled.

      Specified by:
        `addRecordCollapseHandler` in interface `HasRecordCollapseHandlers`
      Parameters:
        `handler` - the recordCollapse handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRecordExpandHandler

          public HandlerRegistration addRecordExpandHandler(RecordExpandHandler handler)

      Add a recordExpand handler.

      Handler fired when a record is expanded in a grid with `canExpandRecords` set to true. Allows the expansion to be cancelled.

      Specified by:
        `addRecordExpandHandler` in interface `HasRecordExpandHandlers`
      Parameters:
        `handler` - the recordExpand handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addHeaderClickHandler

          public HandlerRegistration addHeaderClickHandler(HeaderClickHandler handler)

      Add a headerClick handler.

      Handler fired when the user clicks a header in this listGrid before any other processing occurs. Call `HeaderClickEvent.cancel()` from within `HeaderClickHandler.onHeaderClick(com.smartgwt.client.widgets.grid.events.HeaderClickEvent)` to suppress the default header click handling

      Specified by:
        `addHeaderClickHandler` in interface `HasHeaderClickHandlers`
      Parameters:
        `handler` - the headerClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRecordClickHandler

          public HandlerRegistration addRecordClickHandler(RecordClickHandler handler)

      Add a recordClick handler.

      Executed when the listGrid receives a 'click' event on an enabled, non-separator record. The default implementation does nothing -- override to perform some action when any record or field is clicked.
      A record event handler can be specified either as a function to execute, or as a string of script to evaluate. If the handler is defined as a string of script, all the parameters below will be available as variables for use in the script.
      To do something specific if a particular field is clicked, add a recordClick method or string of script to that field (same parameters) when you're setting up the list.
      Notes:

      - This will not be called if the click is below the last item of the list.
      - This method is called from the default implementation of `ListGrid.rowClick()`, so if that method is overridden this method may not be fired.
      Specified by:
        `addRecordClickHandler` in interface `HasRecordClickHandlers`
      Parameters:
        `handler` - the recordClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRecordDropHandler

          public HandlerRegistration addRecordDropHandler(RecordDropHandler handler)

      Add a recordDrop handler.

      Process a drop of one or more records on a ListGrid record.

      This method can be overridden to provide custom drop behaviors, and is a more appropriate override point than the lower level `Canvas.drop()` handler.

      If this is a self-drop, records are simply reordered.

      For a drop from another widget, `ListGrid.transferDragData()` is called, which depending on the `dragDataAction` specified on the source widget, may either remove the source records from the original list (`dragDataAction:"move"`) or just provide a copy to this list (`dragDataAction:"copy"`).

      If this grid is databound, the new records will be added to the dataset by calling `DataSource.addData()`. Further, if the new records were dragged from another databound component, and `addDropValues` is true, `getDropValues` will be called for every item being dropped.

      For multi-record drops, Queuing is automatically used to combine all DSRequests into a single HTTP Request (see QuickStart Guide, Server Framework chapter). This allows the server to persist all changes caused by the drop in a single transaction (and this is automatically done when using the built-in server DataSources with Power Edition and above).

      Note that reordering records has no effect on a databound grid.

      The newly dropped data is then selected automatically.

      If these default persistence behaviors are undesirable, Call `RecordDropEvent.cancel()` from within `RecordDropHandler.onRecordDrop(com.smartgwt.client.widgets.grid.events.RecordDropEvent)` to cancel them, then and implement your own behavior, typically by using grid.updateData() or addData() to add new records.

      NOTE: the records you receive in this event are the actual Records from the source component. Use `DataSource.copyRecords()` to create a copy before modifying the records or using them with updateData() or addData().

      NOTE: for a drop beyond the last visible record of a ListGrid, `targetRecord` will be null and the `index` will be one higher than the last record. This includes a drop into an empty ListGrid, where `index` will be 0.

      Specified by:
        `addRecordDropHandler` in interface `HasRecordDropHandlers`
      Parameters:
        `handler` - the recordDrop handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRemoveRecordClickHandler

          public HandlerRegistration addRemoveRecordClickHandler(RemoveRecordClickHandler handler)

      Add a removeRecordClick handler.

      Handler fired when the user clicks the "remove" icon if `canRemoveRecords` is true. Default behavior will remove the record from the data set, or if we're `deferring removal` mark the record as removed [or for records already marked as removed, clear this removed marker].

      If `warnOnRemoval` is set, this method will also show a warning dialog to users allowing them to cancel the removal.

      This event may be cancelled to suppress the default behavior.

      Specified by:
        `addRemoveRecordClickHandler` in interface `HasRemoveRecordClickHandlers`
      Parameters:
        `handler` - the removeRecordClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### recalculateGridSummary

          public void recalculateGridSummary()

      Refresh the `grid summary`, by either re-calculating from already-loaded data or doing a new fetch from the `summaryRowDataSource`.

      Note unlike `ListGrid.recalculateSummaries()`, this method will not force a refresh of field-level summaries (see `recordSummaryFunction`) or group level summaries (see `showGroupSummary`).

    - #### recalculateSummaries

          public void recalculateSummaries()

      Recalculates values for fields with `summary-functions` or `user formulae` defined and for values displayed in the `grid summary` and `group summary rows`.

    - #### recalculateSummaries

          public void recalculateSummaries(Record... records)

      See Also:
        `recalculateSummaries()`

    - #### recalculateSummaries

          public void recalculateSummaries(Record[] records,
                                  ListGridField... fields)

      Recalculates values for fields with `summary-functions` or `user formulae` defined and for values displayed in the `grid summary` and `group summary rows`.
      Parameters:
        `records` - Optional array of records to recalculate summaries for, or null for all records
        `fields` - Optional array of fields to recalculate summaries for, or null for all fields

        Note that the records should be from `data`; thus, if the grid is grouped, the records should be from the grouped data rather than `originalData`.

    - #### recordClick

          public boolean recordClick(ListGrid viewer,
                            ListGridRecord record,
                            int recordNum,
                            ListGridField field,
                            int fieldNum,
                            java.lang.Object value,
                            java.lang.Object rawValue)

      Executed when the listGrid receives a 'click' event on an enabled, non-separator record. The default implementation does nothing -- override to perform some action when any record or field is clicked.
      A record event handler can be specified either as a function to execute, or as a string of script to evaluate. If the handler is defined as a string of script, all the parameters below will be available as variables for use in the script.
      To do something specific if a particular field is clicked, add a recordClick method or string of script to that field (same parameters) when you're setting up the list.
      Notes:
      - This will not be called if the click is below the last item of the list.
      - This method is called from the default implementation of `ListGrid.rowClick()`, so if that method is overridden this method may not be fired.
      Parameters:
        `viewer` - the listGrid that contains the click event
        `record` - the record that was clicked on
        `recordNum` - number of the record clicked on in the current set of displayed records (starts with 0)
        `field` - the field that was clicked on (field definition)
        `fieldNum` - number of the field clicked on in the listGrid.fields array
        `value` - value of the cell (after valueMap, etc. applied)
        `rawValue` - raw value of the cell (before valueMap, etc applied)
      Returns:
        return false to cancel default behavior
      See Also:
        `rowClick(com.smartgwt.client.widgets.grid.ListGridRecord, int, int)`

    - #### addRecordDoubleClickHandler

          public HandlerRegistration addRecordDoubleClickHandler(RecordDoubleClickHandler handler)

      Add a recordDoubleClick handler.

      Executed when the listGrid receives a 'doubleClick' event on an enabled, non-separator record. The default implementation does nothing -- override to perform some action when any record or field is double clicked.
      A record event handler can be specified either as a function to execute, or as a string of script to evaluate. If the handler is defined as a string of script, all the parameters below will be available as variables for use in the script.
      To do something specific if a particular field is double clicked, add a recordDoubleClick method or string of script to that field (same parameters) when you're setting up the list.
      Notes:

      - This will not be called if the click is below the last item of the list.
      - This method is called from the default implementation of `ListGrid.rowDoubleClick()`, so if that method is overridden this method may not be fired.
      Specified by:
        `addRecordDoubleClickHandler` in interface `HasRecordDoubleClickHandlers`
      Parameters:
        `handler` - the recordDoubleClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### recordMarkedAsRemoved

          public java.lang.Boolean recordMarkedAsRemoved(int rowNum)

      Returns true if the specified record is marked as removed via a call to `ListGrid.markRecordRemoved()`
      Parameters:
        `rowNum` - index of row to verify
      Returns:
        true if the specified record has been marked for removal
      See Also:
        `Editing overview and related methods`

    - #### refreshCell

          public void refreshCell(int rowNum,
                         int colNum)

      Refresh an individual cell without redrawing the grid.

      The cell's value, CSS class, and CSS text will be refreshed, to the current values returned by getCellValue(), getCellStyle() and getCellCSSText() respectively.

      Parameters:
        `rowNum` - row number of cell to refresh
        `colNum` - column number of cell to refresh
      See Also:
        `refreshCellStyle(int, int)`, `Appearance overview and related methods`, Calculated Example

    - #### refreshCellStyle

          public void refreshCellStyle(int rowNum,
                              int colNum)

      Refresh the styling of an individual cell without redrawing the grid.

      The cell's CSS class and CSS text will be refreshed, to the current values returned by getCellStyle() and getCellCSSText() respectively.

      The cell's contents (as returned by getCellValue()) will not be refreshed. To refresh both styling and contents, call refreshCell() instead.

      Parameters:
        `rowNum` - row number of cell to refresh
        `colNum` - column number of cell to refresh
      See Also:
        `refreshCell(int, int)`, `Appearance overview and related methods`

    - #### refreshFields

          public void refreshFields()

      Re-evaluates `ListGridField.showIf()` for each field, dynamically showing and hiding the appropriate set of fields

    - #### refreshRecordComponent

          public void refreshRecordComponent(int rowNum)

      Discards any `recordComponent` currently assigned to the specified record (or cell) and gets a fresh one, according to the `recordComponentPoolingMode`

      See also `ListGrid.invalidateRecordComponents()` which allows you to refresh all record components that are currently visible in the grid.

      Parameters:
        `rowNum` - Row to refresh

    - #### refreshRecordComponent

          public void refreshRecordComponent(int rowNum,
                                    java.lang.Integer colNum)

      Discards any `recordComponent` currently assigned to the specified record (or cell) and gets a fresh one, according to the `recordComponentPoolingMode`

      See also `ListGrid.invalidateRecordComponents()` which allows you to refresh all record components that are currently visible in the grid.

      Parameters:
        `rowNum` - Row to refresh
        `colNum` - Column to refresh. This parameter should be passed if `showRecordComponentsByCell` is true.

    - #### refreshRow

          public void refreshRow(int rowNum)

      Refresh an entire row of cells without redrawing the grid.

      The cells' values, CSS classes, and CSS text will be refreshed, to the current values returned by getCellValue(), getCellStyle() and getCellCSSText() respectively.

      Parameters:
        `rowNum` - row number of cell to refresh
      See Also:
        `refreshCellStyle(int, int)`, `refreshCell(int, int)`, `Appearance overview and related methods`

    - #### removeData

          public void removeData(Record data)

      Remove a record from this ListGrid.

      If this grid is bound to a DataSource, it will perform a DataSource "remove" operation to remove records from this component's DataSource.

      Otherwise the data will be removed from the grid's `data` object.

      To make changes to the local data object even when a DataSource is present, use `saveLocally`.

      Parameters:
        `data` - listGrid record, or primary key values of record to delete.
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### removeData

          public void removeData(Record data,
                        DSCallback callback)

      See Also:
        `removeData(com.smartgwt.client.data.Record)`

    - #### removeData

          public void removeData(Record data,
                        DSCallback callback,
                        DSRequest requestProperties)

      Remove a record from this ListGrid.

      If this grid is bound to a DataSource, it will perform a DataSource "remove" operation to remove records from this component's DataSource.

      Otherwise the data will be removed from the grid's `data` object.

      To make changes to the local data object even when a DataSource is present, use `saveLocally`.

      Parameters:
        `data` - listGrid record, or primary key values of record to delete.
        `callback` - method to call on operation completion. Note that if this is method does not trigger a dataSource remove operation, the callback will still be fired when the data has been removed, but the `dsResponse` parameter will be null.
        `requestProperties` - additional properties to set on any DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### removeEmbeddedComponent

          public void removeEmbeddedComponent(ListGridRecord record)

      Removes an embedded component previously associated with the provided record. If a Canvas is passed as the `record` parameter, it is assumed to be a component and the record is detected automatically from it. If `destroyOnUnEmbed` is `true` for the component, it will also be destroyed.
      Parameters:
        `record` - record that the component was previously attached to or the component itself

    - #### removeEmbeddedComponent

          public void removeEmbeddedComponent(ListGridRecord record,
                                     java.lang.Integer component)

      Removes an embedded component previously associated with the provided record. If a Canvas is passed as the `record` parameter, it is assumed to be a component and the record is detected automatically from it. If `destroyOnUnEmbed` is `true` for the component, it will also be destroyed.
      Parameters:
        `record` - record that the component was previously attached to or the component itself
        `component` - component to unembed, or the colNum in which it appears

    - #### removeRecordClick

          public void removeRecordClick(int rowNum)

      Method fired when the user clicks the "remove" icon if `canRemoveRecords` is true. Default behavior will remove the record from the data set, or if we're `deferring removal` mark record as removed [or for records already marked as removed, clear this removed marker].

      If `warnOnRemoval` is set, this method will also show a warning dialog to users allowing them to cancel the removal.

      This method may be called directly to cause a record to be removed or marked for removal as if the user had hit the "remove" icon.

      To be notified when a "remove" click occurs, developers should add a `* RemoveRecordClickHandler`.

      Parameters:
        `rowNum` - Row on which the icon was clicked

    - #### removeSelectedData

          public void removeSelectedData()

      Remove the currently selected records from this component. If this is a databound grid, the records will be removed directly from the DataSource.

      If no records are selected, no action is taken. The grid will automatically be updated if the record deletion succeeds.

      See Also:
        `DataBoundComponentMethods overview and related methods`, Remove Example

    - #### removeSelectedData

          public void removeSelectedData(DSCallback callback)

      See Also:
        `removeSelectedData()`

    - #### removeSelectedData

          public void removeSelectedData(DSCallback callback,
                                DSRequest requestProperties)

      Remove the currently selected records from this component. If this is a databound grid, the records will be removed directly from the DataSource.

      If no records are selected, no action is taken. The grid will automatically be updated if the record deletion succeeds.

      Parameters:
        `callback` - callback to fire when the data has been removed
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`, Remove Example

    - #### reorderField

          public void reorderField(int fieldNum,
                          int moveToPosition)

      Reorder a particular field
      Parameters:
        `fieldNum` - Number of the field to reorder
        `moveToPosition` - New position for that field

    - #### reorderFields

          public void reorderFields(int start,
                           int end,
                           int moveDelta)

      Reorder a set of adjacent fields, from start to end exclusive at the end, by distance moveDelta.
      NOTE: start and end coordinates are in terms of the currently visible fields, not the full set of fields.
      Parameters:
        `start` - Start of the range of fields to move, inclusive
        `end` - End of the range of fields to move, non-inclusive
        `moveDelta` - Distance to move by

    - #### resizeField

          public void resizeField(int fieldNum,
                         int newWidth)

      Resize a particular field to a new width. Note that this method will also set `autoFitWidth` to false if it was previously true.
      Parameters:
        `fieldNum` - Number of the field to resize
        `newWidth` - New width of the field

    - #### resort

          public void resort()

      If a list has become unsorted due to data modification or a call to `ListGrid.unsort()`, this method will resort the list by the previous `sort-specifier` array, if there is one, or by the previous sort-field and -direction.

    - #### rowClick

          public void rowClick(ListGridRecord record,
                      int recordNum,
                      int fieldNum)

      Event handler for when rows in the body are clicked upon. The default implementation handles firing `ListGrid.startEditing()` if appropriate, and fires `ListGridField.recordClick()` and/or `ListGrid.recordClick()` if set. Developers should typically implement recordClick rather than overriding this method.

      Note that this method fires in addition to any specified `ListGrid.cellClick()` handler (even if that method cancels the event as a whole by returning `false`).

      Parameters:
        `record` - record object returned from getCellRecord()
        `recordNum` - index of the row where the click occurred
        `fieldNum` - index of the col where the click occurred
      See Also:
        `recordClick(com.smartgwt.client.widgets.grid.ListGrid, com.smartgwt.client.widgets.grid.ListGridRecord, int, com.smartgwt.client.widgets.grid.ListGridField, int, java.lang.Object, java.lang.Object)`

    - #### rowClick

          public void rowClick(ListGridRecord record,
                      int recordNum,
                      int fieldNum,
                      boolean keyboardGenerated)

      Event handler for when rows in the body are clicked upon. The default implementation handles firing `ListGrid.startEditing()` if appropriate, and fires `ListGridField.recordClick()` and/or `ListGrid.recordClick()` if set. Developers should typically implement recordClick rather than overriding this method.

      Note that this method fires in addition to any specified `ListGrid.cellClick()` handler (even if that method cancels the event as a whole by returning `false`).

      Parameters:
        `record` - record object returned from getCellRecord()
        `recordNum` - index of the row where the click occurred
        `fieldNum` - index of the col where the click occurred
        `keyboardGenerated` - indicates whether this was a synthesized record click in response to a keyboard event
      See Also:
        `recordClick(com.smartgwt.client.widgets.grid.ListGrid, com.smartgwt.client.widgets.grid.ListGridRecord, int, com.smartgwt.client.widgets.grid.ListGridField, int, java.lang.Object, java.lang.Object)`

    - #### addRowContextClickHandler

          public HandlerRegistration addRowContextClickHandler(RowContextClickHandler handler)

      Add a rowContextClick handler.

      Called when a row receives a contextclick event.

      Specified by:
        `addRowContextClickHandler` in interface `HasRowContextClickHandlers`
      Parameters:
        `handler` - the rowContextClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### rowDoubleClick

          public void rowDoubleClick(ListGridRecord record,
                            int recordNum,
                            int fieldNum)

      Event handler for when a body record is double-clicked.

      Default implementation fires 'editCell' if appropriate, and handles firing 'recordDoubleClick' stringMethod if defined at the field or LG level (That method has a different signature from this one)

      Parameters:
        `record` - record object returned from getCellRecord()
        `recordNum` - index of the row where the click occurred
        `fieldNum` - index of the col where the click occurred
      See Also:
        `RecordDoubleClickEvent`

    - #### rowDoubleClick

          public void rowDoubleClick(ListGridRecord record,
                            int recordNum,
                            int fieldNum,
                            boolean keyboardGenerated)

      Event handler for when a body record is double-clicked.

      Default implementation fires 'editCell' if appropriate, and handles firing 'recordDoubleClick' stringMethod if defined at the field or LG level (That method has a different signature from this one)

      Parameters:
        `record` - record object returned from getCellRecord()
        `recordNum` - index of the row where the click occurred
        `fieldNum` - index of the col where the click occurred
        `keyboardGenerated` - indicates whether this was a synthesized record doubleclick in response to a keyboard event
      See Also:
        `RecordDoubleClickEvent`

    - #### addRowEditorEnterHandler

          public HandlerRegistration addRowEditorEnterHandler(RowEditorEnterHandler handler)

      Add a rowEditorEnter handler.

      Callback fired when the user starts editing a new row.

      Specified by:
        `addRowEditorEnterHandler` in interface `HasRowEditorEnterHandlers`
      Parameters:
        `handler` - the rowEditorEnter handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRowEditorExitHandler

          public HandlerRegistration addRowEditorExitHandler(RowEditorExitHandler handler)

      Add a rowEditorExit handler.

      Callback fired when the user attempts to navigate away from the current edit row, or complete the current edit.

      Call `RowEditorExitEvent.cancel()` from within `RowEditorExitHandler.onRowEditorExit(com.smartgwt.client.widgets.grid.events.RowEditorExitEvent)` from this method to cancel the default behavior (Saving / cancelling the current edit / moving to the next edit cell).

      Specified by:
        `addRowEditorExitHandler` in interface `HasRowEditorExitHandlers`
      Parameters:
        `handler` - the rowEditorExit handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### rowHasChanges

          public java.lang.Boolean rowHasChanges(int rowNum)

      If this listGrid can be edited, this method will return true if the row passed in has been edited, but the edits have not yet been saved to the ListGrid's data object.

      Note this method will not return true if a record has been marked as `removed`, but has no other changes. Developers can use `ListGrid.recordMarkedAsRemoved()` to check for this case.

      Parameters:
        `rowNum` - index of row to check for changes
      Returns:
        true if the row has changes.
      See Also:
        `Editing overview and related methods`

    - #### rowHasErrors

          public java.lang.Boolean rowHasErrors(int rowNum)

      Does the specified row have unresolved errors?
      Parameters:
        `rowNum` - rowNum to check for errors
      Returns:
        true if there are unresolved errors, false otherwise
      See Also:
        `hasErrors()`, `cellHasErrors(int, java.lang.String)`, `GridValidation overview and related methods`

    - #### addRowHoverHandler

          public HandlerRegistration addRowHoverHandler(RowHoverHandler handler)

      Add a rowHover handler.

      Called when the mouse hovers over a row if this.canHover is true. Returning false will suppress the hover text from being shown if this.showHover is true.

      Specified by:
        `addRowHoverHandler` in interface `HasRowHoverHandlers`
      Parameters:
        `handler` - the rowHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRowMouseDownHandler

          public HandlerRegistration addRowMouseDownHandler(RowMouseDownHandler handler)

      Add a rowMouseDown handler.

      Called when a row receives a mousedown event.

      Specified by:
        `addRowMouseDownHandler` in interface `HasRowMouseDownHandlers`
      Parameters:
        `handler` - the rowMouseDown handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRowMouseUpHandler

          public HandlerRegistration addRowMouseUpHandler(RowMouseUpHandler handler)

      Add a rowMouseUp handler.

      Called when a row receives a mouseup event.

      Specified by:
        `addRowMouseUpHandler` in interface `HasRowMouseUpHandlers`
      Parameters:
        `handler` - the rowMouseUp handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRowOutHandler

          public HandlerRegistration addRowOutHandler(RowOutHandler handler)

      Add a rowOut handler.

      Called when the mouse pointer leaves a row

      Specified by:
        `addRowOutHandler` in interface `HasRowOutHandlers`
      Parameters:
        `handler` - the rowOut handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addRowOverHandler

          public HandlerRegistration addRowOverHandler(RowOverHandler handler)

      Add a rowOver handler.

      Called when the mouse pointer enters a row

      Specified by:
        `addRowOverHandler` in interface `HasRowOverHandlers`
      Parameters:
        `handler` - the rowOver handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### saveEdits

          public void saveEdits()

      Validates and saves edits within the row currently being edited (or another row with unsaved edits, if indicated).

      This method can be called to manually trigger saves if the default mechanisms of `cell by cell` or row by row saving are not suitable.

      The 'callback' parameter provides a notification when the save attempt completes, which is likely to be asynchronous for databound grids. Cases under which the callback will fire are:

      - Save completed successfully
      - No changes to the edited row, so save not required
      - Validation failure occurred on the client or on the server
      Note that if this method was unable to determine the row to be saved, the callback will NOT fire - in this case, the method is a no-op.

      Other, standard callbacks such as `ListGrid.editComplete()`, `ListGrid.editFailed()` and `ListGrid.cellSaved()` will fire normally.

      Note this method does not hide the inline editors if they are showing - to explicitly save and end editing, use the method 'endEditing()'

      If this method is called for a row which has been marked for deletion (see `ListGrid.markRecordRemoved()`) it will cause the record to be removed from the data-set.

      See Also:
        `endEditing()`, `Editing overview and related methods`

    - #### saveEdits

          public void saveEdits(EditCompletionEvent editCompletionEvent)

      See Also:
        `saveEdits()`

    - #### saveEdits

          public void saveEdits(EditCompletionEvent editCompletionEvent,
                       java.lang.String callback)

      See Also:
        `saveEdits()`

    - #### saveEdits

          public void saveEdits(EditCompletionEvent editCompletionEvent,
                       java.lang.String callback,
                       int rowNum)

      Validates and saves edits within the row currently being edited (or another row with unsaved edits, if indicated).

      This method can be called to manually trigger saves if the default mechanisms of `cell by cell` or row by row saving are not suitable.

      The 'callback' parameter provides a notification when the save attempt completes, which is likely to be asynchronous for databound grids. Cases under which the callback will fire are:

      - Save completed successfully
      - No changes to the edited row, so save not required
      - Validation failure occurred on the client or on the server
      Note that if this method was unable to determine the row to be saved, the callback will NOT fire - in this case, the method is a no-op.

      Other, standard callbacks such as `ListGrid.editComplete()`, `ListGrid.editFailed()` and `ListGrid.cellSaved()` will fire normally.

      Note this method does not hide the inline editors if they are showing - to explicitly save and end editing, use the method 'endEditing()'

      If this method is called for a row which has been marked for deletion (see `ListGrid.markRecordRemoved()`) it will cause the record to be removed from the data-set.

      Parameters:
        `editCompletionEvent` - Event used to complete cell editing. Optional, and defaults to `"programmatic"`. Can be used by the `callback` method to perform custom actions such as navigation when the save completes.
        `callback` - Callback to fire on completion of the saving process. If no edits were made or client-side validation fails the callback will be fired synchronously at the end of this method.
        Takes the following parameters:
        - rowNum (Number) edited row number
        - colNum (Number) edited column number
        - editCompletionEvent (EditCompletionEvent) event passed in (defaults to `"programmatic"`)
        - success (boolean) false if the save was unable to complete due to a validation failure or server-side error.. See `Callback`
        `rowNum` - Which row should be saved. If unspecified the current edit row is saved by default. Note that if there is no current edit row this method will no op.
      See Also:
        `endEditing()`, `Editing overview and related methods`

    - #### scrollToCell

          public void scrollToCell(int rowNum,
                          int colNum)

      Will scroll the listGrid body such that the specified cell is visible close to the centre of the viewport.

      This method has no effect if the cell is already visible in the viewport.

      When scrolling vertically, this will cause data to be automatically loaded if `paging is active` and you scroll into an area of the data that isn't loaded. Only rows around the target row will be loaded, not all intervening rows. See also `ResultSet`.

      Scrolling into an undrawn area will cause the body area of the grid to redraw, but this won't happen synchronously unless you explicitly call redraw(). Scrolling into an area of the data that is not yet loaded will never synchronously draw new rows, even if you call redraw() - wait for `ListGrid.dataArrived()` to be notified when new rows have been loaded.

      Calling this method with a row index larger than the current dataset will clamp to the end of the dataset (similarly horizontal scrolling will clamp to the last column).

      If a call to this method is made while data is still loading, such that the last row of the dataset is not yet known the grid will attempt to compensate by scrolling the record into view when data arrives, if it is valid. For better control over scrolling, developers should consider calling `scrollToRow()` or `scrollToCell` from `ListGrid.dataArrived()` if data is still loading.

      With mixed-height rows it will only reliably work if virtualScrolling is enabled.

      Parameters:
        `rowNum` - Row index of the cell to scroll into view
        `colNum` - Column index of the cell to scroll into view
      See Also:
        `Scrolling overview and related methods`

    - #### scrollToCell

          public void scrollToCell(int rowNum,
                          int colNum,
                          Alignment xPosition)

      See Also:
        `scrollToCell(int, int)`

    - #### scrollToCell

          public void scrollToCell(int rowNum,
                          int colNum,
                          Alignment xPosition,
                          VerticalAlignment yPosition)

      Will scroll the listGrid body such that the specified cell is visible close to the centre of the viewport.

      This method has no effect if the cell is already visible in the viewport.

      When scrolling vertically, this will cause data to be automatically loaded if `paging is active` and you scroll into an area of the data that isn't loaded. Only rows around the target row will be loaded, not all intervening rows. See also `ResultSet`.

      Scrolling into an undrawn area will cause the body area of the grid to redraw, but this won't happen synchronously unless you explicitly call redraw(). Scrolling into an area of the data that is not yet loaded will never synchronously draw new rows, even if you call redraw() - wait for `ListGrid.dataArrived()` to be notified when new rows have been loaded.

      Calling this method with a row index larger than the current dataset will clamp to the end of the dataset (similarly horizontal scrolling will clamp to the last column).

      If a call to this method is made while data is still loading, such that the last row of the dataset is not yet known the grid will attempt to compensate by scrolling the record into view when data arrives, if it is valid. For better control over scrolling, developers should consider calling `scrollToRow()` or `scrollToCell` from `ListGrid.dataArrived()` if data is still loading.

      With mixed-height rows it will only reliably work if virtualScrolling is enabled.

      Parameters:
        `rowNum` - Row index of the cell to scroll into view
        `colNum` - Column index of the cell to scroll into view
        `xPosition` - Horizontal position of scrolled cell (optional)
        `yPosition` - Vertical position of scrolled cell (optional)
      See Also:
        `Scrolling overview and related methods`

    - #### scrollToColumn

          public void scrollToColumn(int colNum)

      Scroll the grid to specified column such that the row appears near the center of the viewport.

      See `ListGrid.scrollToCell()` for a full description of how this method interacts with incremental loading and rendering of data.

      Parameters:
        `colNum` - Index of the column to scroll into view
      See Also:
        `Scrolling overview and related methods`

    - #### scrollToColumn

          public void scrollToColumn(int colNum,
                            Alignment xPosition)

      Scroll the grid to specified column such that the row appears near the center of the viewport.

      See `ListGrid.scrollToCell()` for a full description of how this method interacts with incremental loading and rendering of data.

      Parameters:
        `colNum` - Index of the column to scroll into view
        `xPosition` - Horizontal position of scrolled column (optional)
      See Also:
        `Scrolling overview and related methods`

    - #### scrollToRow

          public void scrollToRow(int rowNum)

      Scroll the grid to specified row such that the row appears near the center of the viewport, loading data if necessary.

      See `ListGrid.scrollToCell()` for a full description of how this method interacts with incremental loading and rendering of data.

      Parameters:
        `rowNum` - Row index of the cell to scroll into view
      See Also:
        `Scrolling overview and related methods`

    - #### scrollToRow

          public void scrollToRow(int rowNum,
                         VerticalAlignment yPosition)

      Scroll the grid to specified row such that the row appears near the center of the viewport, loading data if necessary.

      See `ListGrid.scrollToCell()` for a full description of how this method interacts with incremental loading and rendering of data.

      Parameters:
        `rowNum` - Row index of the cell to scroll into view
        `yPosition` - Vertical position of scrolled row (optional)
      See Also:
        `Scrolling overview and related methods`

    - #### addSelectionChangedHandler

          public HandlerRegistration addSelectionChangedHandler(SelectionChangedHandler handler)

      Add a selectionChanged handler.

      Called when (row-based) selection changes within this grid. Note this method fires for each record for which selection is modified - so when a user clicks inside a grid this method will typically fire twice (once for the old record being deselected, and once for the new record being selected).

      NOTE: For updating other components based on selections or triggering selection-oriented events within an application, see the `selectionUpdated()` event which is likely more suitable. Calls to `getSelection()` from within this event may not return a valid set of selected records if the event has been triggered by a call to `selectAllRecords()` or `deselectAllRecords()` - in this case use the `selectionUpdated()` event instead.

      Specified by:
        `addSelectionChangedHandler` in interface `HasSelectionChangedHandlers`
      Parameters:
        `handler` - the selectionChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addSelectionUpdatedHandler

          public HandlerRegistration addSelectionUpdatedHandler(SelectionUpdatedHandler handler)

      Add a selectionUpdated handler.

      Called when selection changes. Note this method fires exactly once for any given change unlike the `selectionChanged` event.

      This event is fired once after selection/deselection has completed. The result is one event per mouse-down event. For a drag selection there will be two events fired: one when the first record is selected and once when the range is completed.

      This event is also fired when selection is updated by a direct call to one of the DataBoundComponent select/deselect methods. Calls on the Selection object do not trigger this event.

      Specified by:
        `addSelectionUpdatedHandler` in interface `HasSelectionUpdatedHandlers`
      Parameters:
        `handler` - the selectionUpdated handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### selectRange

          public void selectRange(int startRow,
                         int endRow)

      Select a contiguous range of records by index
      Parameters:
        `startRow` - start of selection range
        `endRow` - end of selection range (non-inclusive)

    - #### selectRange

          public void selectRange(int startRow,
                         int endRow,
                         boolean newState)

      Select a contiguous range of records by index
      Parameters:
        `startRow` - start of selection range
        `endRow` - end of selection range (non-inclusive)
        `newState` - new selection state (if null, defaults to true)

    - #### setAutoFitWidth

          public void setAutoFitWidth(java.lang.String fieldName,
                             boolean autoFit)

      Setter for `autoFitWidth`. Enables or disables dynamic autoFitWidth behavior on the specified field. Note if the field is currently autoFitWidth:true, and this method is disabling autoFit, the field will not be resized by default - if you wish to resize to an explicit width, use `ListGrid.resizeField()`.
      Parameters:
        `fieldName` - field to auto-fit
        `autoFit` - Should autoFitWidth be enabled or disabled?

    - #### setDontAutoDestroyComponent

          public void setDontAutoDestroyComponent(Canvas component,
                                         boolean dontAutoDestroy)

      If `showRecordComponents` is true, by default any created record components are destroyed once they are no longer in use (for example, if the ListGrid as a whole is destroyed). This method may be used to suppress this behavior for some component. Typical usage might call this method as part of `ListGrid.createRecordComponent()` to suppress this behavior.
      Parameters:
        `component` - component in question.
        `dontAutoDestroy` - If true, the component will not be destroyed automatically when the grid is destroyed

    - #### setEditValues

          public void setEditValues(int rowNum,
                           java.util.Map values)

      This method sets up a set of editValues for some row / cell. It differs from 'setEditValue()' in that:
      - it takes values for multiple fields
      - it clears out any previous edit values for the record
      Parameters:
        `rowNum` - Row number for the record being edited
        `values` - New values for the row

    - #### setFieldButtonProperties

          public void setFieldButtonProperties(java.lang.String name,
                                      Canvas properties)

      Method to update properties on a field's header button at runtime. This property allows customization of any settable properties on the ListGridField's header button after it has been generated. Note that the provided Canvas should only have the minimal needed properties set on it, and should not be a Canvas that's already been drawn or added as the child of another widget.
      Parameters:
        `name` - Field to update
        `properties` - new properties to apply to the header button

    - #### setFieldCellIcon

          public void setFieldCellIcon(java.lang.String fieldName,
                              java.lang.String cellIcon)

      Change the `cellIcon` for a field after the grid is created
      Parameters:
        `fieldName` - field to update
        `cellIcon` - new cellIcon for the field. See `SCImgURL`

    - #### setFieldError

          public void setFieldError(int rowNum,
                           java.lang.String fieldName,
                           java.lang.String errorMessage)

      Set a validation error for some cell.
      Parameters:
        `rowNum` - row index of cell to add validation error for
        `fieldName` - col index or field name of cell to add validation error for
        `errorMessage` - validation error/errors for the cell.
      See Also:
        `getCellErrors(int, java.lang.String)`, `setRowErrors(int, java.lang.Object)`, `GridValidation overview and related methods`

    - #### setFieldHeaderBaseStyle

          public void setFieldHeaderBaseStyle(java.lang.String name,
                                     java.lang.String newStyle)

      Update the `headerBaseStyle` for a field within the grid at runtime.
      Parameters:
        `name` - name of the field.
        `newStyle` - new baseStyle for the field header. See `CSSClass`

    - #### setFieldHeaderTitleStyle

          public void setFieldHeaderTitleStyle(java.lang.String name,
                                      java.lang.String newStyle)

      Update the `headerTitleStyle` for a field within the grid at runtime.
      Parameters:
        `name` - name of the field.
        `newStyle` - new titleTyle for the field header. See `CSSClass`

    - #### setFieldIcon

          public void setFieldIcon(java.lang.String fieldName,
                          java.lang.String icon)

      Change the `icon` for a field after the grid is created
      Parameters:
        `fieldName` - field to update
        `icon` - icon for the field. See `SCImgURL`

    - #### setFieldProperties

          public void setFieldProperties(int fieldNum,
                                ListGridField properties)

      Dynamically set properties for a particular field. This method will update the fields header-button without having to explicitly reset the fields in the grid. The passed-in `ListGridField` should contain just the minimal properties you want to change; do not take the original ListGridField, modify it, and just pass that to this function.

      NOTE: Where explicit setters exist for field properties (such as `ListGrid.resizeField()`, `ListGrid.setFieldTitle()`, `ListGrid.setFieldIcon()`, etc.) these should be used instead.

      Parameters:
        `fieldNum` - name of the field, or index.
        `properties` - properties to apply to the header

    - #### setFieldTitle

          public void setFieldTitle(int fieldNum,
                           java.lang.String title)

      Change the title of a field after the grid is created.
      Parameters:
        `fieldNum` - name of the field, or index.
        `title` - new title

    - #### setFilterEditorCriteria

          public void setFilterEditorCriteria(Criteria criteria)

      If `showFilterEditor` is true, this method will update the criteria shown in the `filterEditor` without performing a filter.
      Parameters:
        `criteria` - New criteria to show

    - #### setHeaderSpanBaseStyle

          public void setHeaderSpanBaseStyle(java.lang.String name,
                                    java.lang.String newStyle)

      Update the `headerBaseStyle` for a span within the grid at runtime.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newStyle` - new baseStyle for the headerSpan. See `CSSClass`

    - #### setHeaderSpanButtonProperties

          public void setHeaderSpanButtonProperties(java.lang.String name,
                                           Canvas properties)

      Method to update properties on a headerSpan's header button at runtime. This property allows customization of any settable properties on the HeaderSpan's header button after it has been generated.
      Parameters:
        `name` - `name` of span to update
        `properties` - new properties to apply to the header button

    - #### setHeaderSpanHeaderTitle

          public void setHeaderSpanHeaderTitle(java.lang.String name,
                                      java.lang.String newTitle)

      Update the headerTitle of a `headerSpan` dynamically.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newTitle` - new headerTitle for the headerSpan

    - #### setHeaderSpanTitle

          public void setHeaderSpanTitle(java.lang.String name,
                                java.lang.String newTitle)

      Update the title of a `headerSpan` dynamically.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newTitle` - new title for the headerSpan

    - #### setHeaderSpanTitleStyle

          public void setHeaderSpanTitleStyle(java.lang.String name,
                                     java.lang.String newTitle)

      Update the `headerTitleStyle` for a span within the grid at runtime.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newTitle` - new titleStyle for the headerSpan. See `CSSClass`

    - #### setRowErrors

          public void setRowErrors(int rowNum,
                          java.lang.Object errors)

      Set the validation errors for some row (replacing any pre-existent validation errors)
      Parameters:
        `rowNum` - row to add validation error for
        `errors` - validation errors for the row in the format `{fieldName:errorMessage, ...}`
        or
        `{fieldName:[errorMessage1, errorMessage2], ...}`
      See Also:
        `getRowErrors(int)`, `setFieldError(int, java.lang.String, java.lang.String)`, `GridValidation overview and related methods`

    - #### shouldIncludeHiliteInSummaryField

          public boolean shouldIncludeHiliteInSummaryField(java.lang.String summaryFieldName,
                                                  java.lang.String usedFieldName)

      When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?

      Example use case: Consider a grid containing a numeric field, and a summary field which contains some string value, plus the contents of the numeric field. If a hilite is defined for the grid which turns the numeric field text red when the value is negative, this property will govern whether the number will also be rendered in red within the summary field cells. Any other text in the summary field cells would not be effected by this hilite.

      Default implementation returns `includeHilitesInSummaryFields`.

      To control hilites showing in group summaries, see `showHilitesInGroupSummary`.

      Parameters:
        `summaryFieldName` - name of the summary field
        `usedFieldName` - name of the field referenced by this summary
      Returns:
        Return true to include hilites from the used field in the generated summary field value.

    - #### showField

          public void showField(java.lang.String field)

      Force a field to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

      Note: for showing multiple fields it is more efficient to call `ListGrid.showFields()` than to call this method repeatedly.

      Parameters:
        `field` - field to show
      See Also:
        Column order Example

    - #### showField

          public void showField(java.lang.String field,
                       boolean suppressRelayout)

      Force a field to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

      Note: for showing multiple fields it is more efficient to call `ListGrid.showFields()` than to call this method repeatedly.

      Parameters:
        `field` - field to show
        `suppressRelayout` - If passed, don't resize non-explicitly sized columns to fill the available space.
      See Also:
        Column order Example

    - #### showFields

          public void showFields(java.lang.String... field)

      Force an array of fields to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

      Note: for showing multiple fields it is more efficient to call this method than to call `ListGrid.showField()` repeatedly.

      Parameters:
        `field` - Fields to show.
      See Also:
        Column order Example

    - #### showFields

          public void showFields(ListGridField... field)

      Force an array of fields to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

      Note: for showing multiple fields it is more efficient to call this method than to call `ListGrid.showField()` repeatedly.

      Parameters:
        `field` - Fields to show.
      See Also:
        Column order Example

    - #### showFields

          public void showFields(java.lang.String[] field,
                        boolean suppressRelayout)

      Force an array of fields to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

      Note: for showing multiple fields it is more efficient to call this method than to call `ListGrid.showField()` repeatedly.

      Parameters:
        `field` - Fields to show.
        `suppressRelayout` - If passed, don't resize non-explicitly sized columns to fill the available space.
      See Also:
        Column order Example

    - #### sort

          public java.lang.Boolean sort()

      Sort this grid's data, with the option to explicitly specify a single field to sort by and sort direction.

      If sortField is not provided and listGrid.sortField is undefined, the data will be sorted by the first sortable column according to `sortDirection` if specified, or `sortDirection`.

      ListGrids also support multiple-field sorting. See `ListGrid.setSort()` for details.

      Returns:
        sorting worked
      See Also:
        `SortDirection`

    - #### sort

          public java.lang.Boolean sort(java.lang.String sortField)

      See Also:
        `sort()`

    - #### sort

          public java.lang.Boolean sort(java.lang.String sortField,
                               SortDirection sortDirection)

      Sort this grid's data, with the option to explicitly specify a single field to sort by and sort direction.

      If sortField is not provided and listGrid.sortField is undefined, the data will be sorted by the first sortable column according to `sortDirection` if specified, or `sortDirection`.

      ListGrids also support multiple-field sorting. See `ListGrid.setSort()` for details.

      Parameters:
        `sortField` - the field name or column number to sort by
        `sortDirection` - the direction to sort in
      Returns:
        sorting worked
      See Also:
        `SortDirection`

    - #### addSortChangedHandler

          public HandlerRegistration addSortChangedHandler(SortChangedHandler handler)

      Add a sortChanged handler.

      Notification method executed when the `sort specifiers` change for this grid.

      Specified by:
        `addSortChangedHandler` in interface `HasSortChangedHandlers`
      Parameters:
        `handler` - the sortChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addSorterClickHandler

          public HandlerRegistration addSorterClickHandler(SorterClickHandler handler)

      Add a sorterClick handler.

      Notification method fired when the user clicks on the corner `sort button`. Call `SorterClickEvent.cancel()` from within `SorterClickHandler.onSorterClick(com.smartgwt.client.widgets.grid.events.SorterClickEvent)` to suppress the sort.

      Specified by:
        `addSorterClickHandler` in interface `HasSorterClickHandlers`
      Parameters:
        `handler` - the sorterClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addSorterContextClickHandler

          public HandlerRegistration addSorterContextClickHandler(SorterContextClickHandler handler)

      Add a sorterContextClick handler.

      Notification method fired when the user right-clicks on the corner `sort button`. Call `SorterContextClickEvent.cancel()` from within `SorterContextClickHandler.onSorterContextClick(com.smartgwt.client.widgets.grid.events.SorterContextClickEvent)` to suppress the default behavior of showing the sorter's context menu.

      Specified by:
        `addSorterContextClickHandler` in interface `HasSorterContextClickHandlers`
      Parameters:
        `handler` - the sorterContextClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### startEditing

          public java.lang.Boolean startEditing()

      Start inline editing at the provided coordinates.

      Invoked when a cell is editable and the `editEvent` occurs on that cell. Can also be invoked explicitly.

      If this method is called while editing is already in progress, the value from the current editCell will either be stored locally as a temporary edit value, or saved via 'saveEdits()' depending on `this.saveByCell`, and the position of the new edit cell.
      Will update the UI to show the editor for the new cell, and put focus in it unless explicitly suppressed by the optional `suppressFocus` parameter.

      Returns:
        true if we are editing the cell, false if not editing for some reason
      See Also:
        `canEditCell(int, int)`, `getEditEvent()`, `Editing overview and related methods`

    - #### startEditing

          public java.lang.Boolean startEditing(java.lang.Integer rowNum)

      See Also:
        `startEditing()`

    - #### startEditing

          public java.lang.Boolean startEditing(java.lang.Integer rowNum,
                                       java.lang.Integer colNum)

      See Also:
        `startEditing()`

    - #### startEditing

          public java.lang.Boolean startEditing(java.lang.Integer rowNum,
                                       java.lang.Integer colNum,
                                       java.lang.Boolean suppressFocus)

      Start inline editing at the provided coordinates.

      Invoked when a cell is editable and the `editEvent` occurs on that cell. Can also be invoked explicitly.

      If this method is called while editing is already in progress, the value from the current editCell will either be stored locally as a temporary edit value, or saved via 'saveEdits()' depending on `this.saveByCell`, and the position of the new edit cell.
      Will update the UI to show the editor for the new cell, and put focus in it unless explicitly suppressed by the optional `suppressFocus` parameter.

      Parameters:
        `rowNum` - Row number of the cell to edit. Defaults to first editable row
        `colNum` - Column number of the cell to edit. Defaults to first editable column
        `suppressFocus` - If passed this parameter suppresses the default behavior of focusing in the edit form item when the editor is shown.
      Returns:
        true if we are editing the cell, false if not editing for some reason
      See Also:
        `canEditCell(int, int)`, `getEditEvent()`, `Editing overview and related methods`

    - #### startEditingNew

          public void startEditingNew()

      Start editing a new row, after the last pre-existing record in the current set of data.

      This new row will be saved via the "add" `DataSource\n operation`.

      See the `Grid Editing overview` and also the `Editing Unsaved Records overview` for context about how unsaved records behave.

      You can optionally pass `newValues` which are the initial values for the newly added record. See also `defaultValue` as a means of setting default values every time the user begins editing a new record, for instance, by pressing downArrow on the last normal record in the grid when `listEndEditAction` is "next".

      If editing is already underway elsewhere in the grid, startEditingNew() behaves just like `ListGrid.startEditing()`.

      See Also:
        `startEditing()`, `Editing overview and related methods`

    - #### startEditingNew

          public void startEditingNew(java.util.Map newValues)

      See Also:
        `startEditingNew()`

    - #### startEditingNew

          public void startEditingNew(java.util.Map newValues,
                             java.lang.Boolean suppressFocus)

      Start editing a new row, after the last pre-existing record in the current set of data.

      This new row will be saved via the "add" `DataSource\n operation`.

      See the `Grid Editing overview` and also the `Editing Unsaved Records overview` for context about how unsaved records behave.

      You can optionally pass `newValues` which are the initial values for the newly added record. See also `defaultValue` as a means of setting default values every time the user begins editing a new record, for instance, by pressing downArrow on the last normal record in the grid when `listEndEditAction` is "next".

      If editing is already underway elsewhere in the grid, startEditingNew() behaves just like `ListGrid.startEditing()`.

      Parameters:
        `newValues` - Optional initial set of properties for the new record
        `suppressFocus` - Whether to suppress the default behavior of moving focus to the newly shown editor.
      See Also:
        `startEditing()`, `Editing overview and related methods`

    - #### stopHover

          public void stopHover()

      Notification that the user is no longer hovering over some cell. Hides the current hover canvas if one is showing.

    - #### summaryUpdated

          public void summaryUpdated(ListGridField field,
                            UserSummary summary)

      Notification fired when a user either creates a new summary field or edits an existing summary field.
      Parameters:
        `field` - the summary field
        `summary` - the new or updated summary definition

    - #### toggleSort

          public void toggleSort(java.lang.String fieldName)

      Toggles the sort-direction of the field with the passed name and resorts the grid.
      Parameters:
        `fieldName` - The name of a field, visible, hidden or existing only in the dataSource

    - #### unfreezeField

          public void unfreezeField(ListGridField field)

      Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to unfreeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### unfreezeField

          public void unfreezeField(java.lang.Integer field)

      Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to unfreeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### unfreezeField

          public void unfreezeField(java.lang.String field)

      Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to unfreeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### unfreezeField

          public void unfreezeField(java.lang.String[] field)

      Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
      Parameters:
        `field` - field or fields to unfreeze. fields may be specified as ListGridField objects, field names or colNum.
      See Also:
        `FrozenFields overview and related methods`

    - #### ungroup

          public void ungroup()

      Removes the grouping from the listgrid, restoring its original data

    - #### unmarkRecordRemoved

          public void unmarkRecordRemoved(int rowNum)

      Reverses a previous call to `ListGrid.markRecordRemoved()`.

      Note that a record that is marked for removal and then un-marked retains any uncommited edits from before it was marked for removal. These can be discarded with `ListGrid.discardEdits()`.

      Parameters:
        `rowNum` - index of record to clear the 'removed'
      See Also:
        `Editing overview and related methods`

    - #### unsort

          public void unsort()

      Turn sorting off, typically because data has changed and is no longer sorted.

      Calling `unsort()` disables visual indication of which columns are sorted, and calls `unsort()` on the underlying dataset.

      Note that a grid viewing a paged dataset may not be able to support `unsort()` because the sort order is what establishes the row numbering that allows data to be fetched in batches.

      `unsort()` is automatically called when records are dropped or the `sort-configuration` is altered.

    - #### updateData

          public void updateData(Record updatedRecord)

      Perform a DataSource "update" operation to update existing records in this component's DataSource.
      Parameters:
        `updatedRecord` - updated record
      See Also:
        `DataBoundComponentMethods overview and related methods`, Databound update Example

    - #### updateData

          public void updateData(Record updatedRecord,
                        DSCallback callback)

      See Also:
        `updateData(com.smartgwt.client.data.Record)`

    - #### updateData

          public void updateData(Record updatedRecord,
                        DSCallback callback,
                        DSRequest requestProperties)

      Perform a DataSource "update" operation to update existing records in this component's DataSource.
      Parameters:
        `updatedRecord` - updated record
        `callback` - method to call on operation completion
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`, Databound update Example

    - #### updateRecordComponent

          public Canvas updateRecordComponent(ListGridRecord record,
                                     java.lang.Integer colNum,
                                     Canvas component,
                                     boolean recordChanged)

      When `showRecordComponents` is true, this method is called to update components created by `ListGrid.createRecordComponent()` when they are to be applied to a different record in the grid. See the `record components overview` for more information on recordComponents.

      The colNum parameter is applicable only when `showRecordComponentsByCell` is true. Note that if `poolComponentsPerColumn` is set to false, the component may have been generated by a `ListGrid.createRecordComponent()` call applied to a different field.

      Return null to avoid re-adding the component to the row or cell.

      Parameters:
        `record` - record to which the passed component applies
        `colNum` - cell to which the passed component applies
        `component` - the component to update
        `recordChanged` - was the passed component previously embedded in a different record?
      Returns:
        return the component to embed in the passed record

    - #### userSelectAllRecords

          public void userSelectAllRecords()

      Selects every user-selectable record in the grid. Unlike `ListGrid.selectAllRecords()`, if a record is `unselectable`, this method will not attempt to select it.

    - #### validateCell

          public java.lang.Boolean validateCell(int rowNum,
                                       java.lang.String fieldName)

      Validate the current edit value for the cell in question. Called when the user moves to a new edit cell if `validateByCell` is true.
      This method may also be called directly to perform cell level validation at any time.
      Parameters:
        `rowNum` - index of row to be validated.
        `fieldName` - field name (or column index) of field to be validated
      Returns:
        returns true if validation was successful (no errors encountered), false otherwise.
      See Also:
        `GridValidation overview and related methods`

    - #### validateRow

          public java.lang.Boolean validateRow(int rowNum)

      Validate the current set of edit values for the row in question.

      Called when the user moves to a new edit row, or when an edited record is to be saved if client side validation is enabled for this grid.

      This method may also be called directly to perform row level validation at any time.

      Parameters:
        `rowNum` - index of row to be validated.
      Returns:
        returns true if validation was successful (no errors encountered), false otherwise.
      See Also:
        `GridValidation overview and related methods`

    - #### addViewStateChangedHandler

          public HandlerRegistration addViewStateChangedHandler(ViewStateChangedHandler handler)

      Add a viewStateChanged handler.

      Notification method executed whenever the viewState of this grid changes. View state is accessible via `ListGrid.getViewState()`, and contains field state information, sort information, selection information, hiliting information and grouping information.

      Specified by:
        `addViewStateChangedHandler` in interface `HasViewStateChangedHandlers`
      Parameters:
        `handler` - the viewStateChanged handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### willFetchData

          public java.lang.Boolean willFetchData(Criteria newCriteria)

      Compares the specified criteria with the current criteria applied to this component's data object and determines whether the new criteria could be satisfied from the currently cached set of data, or if a new filter/fetch operation will be required.

      This is equivalent to calling `this.data.willFetchData(...)`. Always returns true if this component is not showing a set of data from the dataSource.

      Note that to predict correctly the decision that will be made by filter/fetch, you'll need to pass the same `TextMatchStyle` that will be used by the future filter/fetch. Fetching manually (e.g. `ListGrid.fetchData()`) will by default use "exact" while filtering (e.g. `ListGrid.filterData()`) will by default use "substring". If the component is configured for autofetch (i.e. `autoFetchData`: true), that will use `autoFetchTextMatchStyle`, which defaults to "substring". If nothing/null is passed for the style, this method assumes you want the style from the last filter/fetch.

      To determine what `TextMatchStyle` is being used, check the RPC Tab of the `Smart GWT Developer Console` and check the relevant `DSRequest`.

      Parameters:
        `newCriteria` - new criteria to test.
      Returns:
        true if server fetch would be required to satisfy new criteria.
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### willFetchData

          public java.lang.Boolean willFetchData(Criteria newCriteria,
                                        TextMatchStyle textMatchStyle)

      Compares the specified criteria with the current criteria applied to this component's data object and determines whether the new criteria could be satisfied from the currently cached set of data, or if a new filter/fetch operation will be required.

      This is equivalent to calling `this.data.willFetchData(...)`. Always returns true if this component is not showing a set of data from the dataSource.

      Note that to predict correctly the decision that will be made by filter/fetch, you'll need to pass the same `TextMatchStyle` that will be used by the future filter/fetch. Fetching manually (e.g. `ListGrid.fetchData()`) will by default use "exact" while filtering (e.g. `ListGrid.filterData()`) will by default use "substring". If the component is configured for autofetch (i.e. `autoFetchData`: true), that will use `autoFetchTextMatchStyle`, which defaults to "substring". If nothing/null is passed for the style, this method assumes you want the style from the last filter/fetch.

      To determine what `TextMatchStyle` is being used, check the RPC Tab of the `Smart GWT Developer Console` and check the relevant `DSRequest`.

      Parameters:
        `newCriteria` - new criteria to test.
        `textMatchStyle` - New text match style. If not passed assumes textMatchStyle will not be modified.
      Returns:
        true if server fetch would be required to satisfy new criteria.
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### setDefaultProperties

          public static void setDefaultProperties(ListGrid listGridProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `listGridProperties` - properties that should be used as new defaults when instances of this class are created

    - #### onInit

          protected void onInit()

      Overrides:
        `onInit` in class `Layout`

    - #### onInit_ListGrid

          protected void onInit_ListGrid()

    - #### displayHeaderContextMenu

          protected java.lang.Boolean displayHeaderContextMenu(Canvas target,
                                                   int[] position)

      If `showHeaderContextMenu` is `true` this method is fired when the user right-clicks on the header for this grid.
      Default implementation will display a menu with entries derived from `ListGrid.getHeaderContextMenuItems` for the appropriate column.
      Parameters:
        `target` - which button in the header received the right-click event (may be the sorter button)
        `position` - Optional 2-element array specifying position at which the menu should be shown. If this is not passed in the menu will be shown at the mouseEvent position (default context menu behavior).
      Returns:
        whether to bubble the event (false suppresses bubbling)
      See Also:
        `getShowHeaderContextMenu()`, `GridHeader overview and related methods`

    - #### getTotalRows

          public int getTotalRows()

      Return the total number of rows in the grid.

      Note that, when creating new rows via inline editing, this can be more than the total number of rows in the dataset (that is, grid.data.getLength())

      Note : this is an override point.

      Returns:
        total number of rows in the grid

    - #### getValueIcon

          public java.lang.String getValueIcon(ListGridField field,
                                      java.lang.Object value,
                                      ListGridRecord record)

      Returns the appropriate valueIcon for a cell based on the field and the data value for the cell. Default implementation returns null if `suppressValueIcon` is true otherwise looks at `valueIcons`.
      Parameters:
        `field` - field associated with the cell
        `value` - data value for the cell's record in this field.
        `record` - record associated with this cell Note : This is an override point
      Returns:
        the value icon

    - #### getRowSpan

          public int getRowSpan(ListGridRecord record,
                       int rowNum,
                       int colNum)

      Return how many rows this cell should span. Default is 1.

      When using row spanning, consider setting `useRowSpanStyling` to enable row-span-sensitive styling behaviors.

      When using row spanning:

      - APIs that allow modifying the contents of cells (such as `ListGrid.getCellStyle` or `CellFormatter.format(java.lang.Object, com.smartgwt.client.widgets.grid.ListGridRecord, int, int)`) will be called only once per row-spanning cell
      - when using `cell-based selection`, only the spanning cell is considered selected, and not any of the cells spanned through. For example, if the cell at row 2 column 0 spans 2 cells, `isSelected` will be true for 2,0 but false for 3,0.
      - if using incremental rendering (either horizontal or vertical), `getRowSpan()` may be called for a rowNum in the middle of a spanning cell, and should return the remaining span from that rowNum onward.

      More generally, the ListGrid has a data model of one `Record` per row, and spanning cells doesn't fit well with this model, meaning that many ListGrid features are incompatible with rowSpanning. Note : This is an override point

      Parameters:
        `record` - cell record as returned by getCellRecord
        `rowNum` - row number for the cell
        `colNum` - column number of the cell
      Returns:
        number of cells to span

    - #### getRemoveFieldDefaults

          public JavaScriptObject getRemoveFieldDefaults()

      Returns a JavaScriptObject containing default `ListGridField` attributes of remove fields.

    - #### removeEmbeddedComponent

          public void removeEmbeddedComponent(Canvas component)

      Removes an embedded component from a grid. The record in which the component is embedded is automatically derived from the Component passed in. If `destroyOnUnEmbed` is `true` for the component, it will also be destroyed.
      Parameters:
        `component` - the embedded component

    - #### showRecordComponent

          protected boolean showRecordComponent(ListGridRecord record,
                                    java.lang.Integer colNum)

      When `showRecordComponents` is true, return false from this method to prevent showRecordComponent behavior for the passed record.

      The second parameter is only applicable if `showRecordComponentsByCell` is true.

      Parameters:
        `record` - record being processed
        `colNum` - column index of the cell in which the record component may be shown. Will be null unless showRecordComponentsByCell is true.
      Returns:
        return false to cancel showRecordComponent behavior

    - #### canSelectRecord

          protected boolean canSelectRecord(ListGridRecord record)

      If `selectionType` is not set to `"none"`, this method will be called for each record the user attempts to select. If it returns false, the record will not be selected.

      Note this method will not be called at all if `canSelectCells` is true.

      Parameters:
        `record` - the record being selected Note : this is an override point.
      Returns:
        return false to disallow selection

    - #### setHeaderHoverFormatter

          public void setHeaderHoverFormatter(HeaderHoverFormatter formatter)

      Provide a custom implementation of `headerHoverHTML(int,java.lang.String)`.

      The `HeaderHoverFormatter` should return the HTML to display in the hover canvas that is displayed by default if a registered `HeaderHoverHandler` does not cancel a `HeaderHoverEvent`. The formatter can return null or an empty string to cancel the hover.

      Parameters:
        `formatter` - the header hover formatter

    - #### setRowNumberFieldProperties

          public void setRowNumberFieldProperties(ListGridField rowNumberFieldProperties)

      Set the properties generated field that displays the current row number when `showRowNumbers` is true. For example you can change the default width of the row number column if you have data that exceeds 4 digits to accommodate the width of, say, 10000.
      Parameters:
        `rowNumberFieldProperties` - the row number field properties

    - #### setDataProperties

          public void setDataProperties(ResultSet resultSetProperties)

      For databound ListGrids, this attribute can be used to customize the `ResultSet` object created for this grid when data is fetched

      Note : This is an advanced setting

      Parameters:
        `dataProperties` - Default value is null
      See Also:
        `Databinding overview and related methods`

    - #### setData

          public void setData(Record[] data)

      See Also:
        `setData(ListGridRecord...)`

    - #### setData

          public void setData(RecordList data)

      See Also:
        `setData(ListGridRecord...)`

    - #### getDataAsRecordList

          public RecordList getDataAsRecordList()

      Return the grid data as a `RecordList`. If the component is bound to a DataSource, the actual type of the RecordList instance will be a `ResultSet`.
      Returns:
        the data

    - #### setRecords

          public void setRecords(ListGridRecord[] records)

      Synonym for `setData(ListGridRecord[])`
      Parameters:
        `records` - the records

    - #### getRecords

          public ListGridRecord[] getRecords()

      Returns the current set of records displayed in this grid as an array of ListGridRecord objects. Note that if the ListGrid is grouped, you can call `getGroupTree()` to get the underlying Tree data representation. You can call `isGrouped()` to test whether the ListGrid is grouped on a field.

      If this is a DataBound grid this method will return an empty array unless the entire set of data for the current criteria has been loaded into the client, in which case all matching rows will be returned. For DataBound grids, you can call `getResultSet()` to retrieve the current data set as a ResultSet object.

      Returns:
        an array or records.

    - #### isGrouped

          public boolean isGrouped()

      Return true if the ListGrid is grouped on a field.
      Returns:
        true if grouped

    - #### setSortField

          public void setSortField(int fieldIndex)

      Specifies the field by which this grid should be initially sorted. Note that if sortField is initially specified as a number, it will be converted to a string (field name) after list grid initialization.
      Parameters:
        `fieldIndex` - the field index

    - #### getGroupByFields

          public java.lang.String[] getGroupByFields()

      Get the current grouping of this listGrid as an array of fieldNames.

      This method returns an array containing the names of the field(s) by which this grid is grouped (either from `setGroupByField(String... field)` or or from a call to `groupBy(String...)`). If this grid is not currently grouped, this method will return null.

      Returns:
        Current group by field names.

    - #### setGroupStartOpen

          public void setGroupStartOpen(GroupStartOpen group)

      Describes the default state of ListGrid groups when groupBy is called. Possible values are:
      - "all": open all groups
      - "first": open the first group
      - "none": start with all groups closed
      - Array of values that should be opened
      Parameters:
        `group` - the group

    - #### setGroupStartOpen

          public void setGroupStartOpen(java.lang.Object... groupValues)

      Parameters:
        `groupValues` - Array of values that should be opened

    - #### setSelectionCanvasProperties

          public void setSelectionCanvasProperties(Canvas selectionCanvasProperties)
                                            throws java.lang.IllegalStateException

      Canvas with properties to apply to the auto-generated Selection Canvas properties when `showSelectionCanvas` is true.
      Parameters:
        `selectionUnderCanvasProperties` - the selection under Canvas properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setSelectionUnderCanvasProperties

          public void setSelectionUnderCanvasProperties(Canvas selectionUnderCanvasProperties)
                                                 throws java.lang.IllegalStateException

      Canvas with properties to apply to the auto-generated Selection Under Canvas properties when `showSelectionCanvas` is true.
      Parameters:
        `selectionUnderCanvasProperties` - the selection under Canvas properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setRollUnderCanvasProperties

          public void setRollUnderCanvasProperties(Canvas rollUnderCanvasProperties)
                                            throws java.lang.IllegalStateException

      The RollUnder Canvas properties when `showRollover` is true and `showRollOverCanvas` is true. This canvas will be created and displayed behind the current rollOver cell in the page's z-order, meaning it will only be visible if the cell styling is transparent.
      Parameters:
        `rollUnderCanvasProperties` - the roll under Canvas properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### setDataSource

          public void setDataSource(DataSource dataSource,
                           ListGridField... fields)

      Bind to a DataSource.

      Binding to a DataSource means that the component will use the DataSource to provide default data for its fields.

      When binding to a new DataSource, if the component has any existing "fields" or has a dataset, these will be discarded by default, since it is assumed the new DataSource may represent a completely unrelated set of objects. If the old "fields" are still relevant, pass them to setDataSource().

      Parameters:
        `dataSource` -
        `fields` -

    - #### setDataSource

          public void setDataSource(java.lang.String dataSource)

      Bind to a DataSource. See `setDataSource(DataSource)`.
      Parameters:
        `dataSource` - name of DataSource to bind to
      See Also:
        DataSource fields Example

    - #### setDetailDS

          public void setDetailDS(DataSource detailDS)

      If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.

      This property may also be specified on a per-record basis - see `recordDetailDSProperty`

      Parameters:
        `detailDS` - detail datasource

    - #### setCheckboxFieldProperties

          public void setCheckboxFieldProperties(ListGridField checkboxField)

      Standard properties to apply to the automatically generated checkbox field, shown when `selectionAppearance` is set to "checkbox".

      Any properties applied to the ListGridField passed in will be overlaid onto the automatically generated checkbox field, allowing the developer to customize this field - for example modifying the appearance for skinning purposes, or setting `shouldPrint` to include the field in the print-view of the grid.

      Parameters:
        `checkboxField` - properties to apply to the checkbox field

    - #### scrollBodyTo

          public void scrollBodyTo(java.lang.Integer left,
                          java.lang.Integer top)

      Scroll the body of the grid to the specified coordinates.
      Parameters:
        `left` - the left position
        `top` - the top position

    - #### getBodyScrollLeft

          public java.lang.Integer getBodyScrollLeft()

      Get the current scrollLeft for the body of this ListGrid
      Returns:
        left scroll coordinate. May be null if this component has not been drawn.

    - #### getBodyScrollTop

          public java.lang.Integer getBodyScrollTop()

      Get the current scrollTop for the body of this ListGrid
      Returns:
        top scroll coordinate. May be null if this component has not been drawn.

    - #### setFieldTitle

          public void setFieldTitle(java.lang.String fieldName,
                           java.lang.String title)

      Parameters:
        `fieldName` - name of the field, or index.
        `title` - new title
      See Also:
        `setFieldTitle(int, String)`

    - #### startEditingNew

          public void startEditingNew(Record defaultRecordValue)

      Start editing a new row, after the last pre-existing record in the current set of data. This new row will be saved via the "add" DataSource operation. If editing is already underway elsewhere in the grid, startEditingNew() behaves just like `startEditing()`.
      Parameters:
        `defaultRecordValue` - the default field values for the new record

    - #### getField

          public ListGridField getField(java.lang.String fieldName)

      Given a column number or field name, return the field definition.

      When using `fields`, the field definition may be a mix of information derived from `fields` and `dataSource`.

      Parameters:
        `fieldName` - the field name.
      Returns:
        field definition

    - #### getSelection

          public ListGridRecord[] getSelection()

      Deprecated. use `getSelectedRecords()` instead
      The selection associated with the listGrid.
      Returns:
        the selection

    - #### getSelection

          public ListGridRecord[] getSelection(boolean excludePartialSelections)

      Deprecated. use `getSelectedRecords(boolean)` instead
      The selection associated with the listGrid.
      Parameters:
        `excludePartialSelections` - when true, partially selected records will not be returned. Otherwise, both fully and partially selected records are returned.
      Returns:
        the selection

    - #### getEditFormItem

          public FormItem getEditFormItem(java.lang.Integer field)

      Method to retrieve a live edit form item for an `editable` ListGrid. This is the automatically generated editor displayed in a cell while editing the grid.

      Note that this is an advanced method and developers should be aware of the following issues:

      - Edit form items are only present while a user is actually editing a cell. This method will return null if the user is not editing the grid or the field in question is not editable or not visible. Note that due to `incremental rendering` columns which are not currently scrolled into view may be unrendered, in which case they may have no associated edit item until the user scrolls them into view.
      - The items' values are managed by the ListGrid through the edit-values subsystem. If you want to change an edit value for a field, call `ListGrid.setEditValue` and the grid will handle updating the value in the live item if necessary. You should not need to call `setValue();` directly on the item and doing so will not always update the edit value for the grid.
      In general - bear in mind that this is an advanced usage and if there is an equivalent API available on the ListGrid it is always preferable to use that.
      Parameters:
        `field` - fieldName or colNum to get the edit item for.
      Returns:
        the live edit item for the current edit row and specified field, or null if the grid is not currently showing any editors.

    - #### getEditFormItem

          public FormItem getEditFormItem(java.lang.String field)

      Method to retrieve a live edit form item for an `editable` ListGrid. This is the automatically generated editor displayed in a cell while editing the grid.

      Note that this is an advanced method and developers should be aware of the following issues:

      - Edit form items are only present while a user is actually editing a cell. This method will return null if the user is not editing the grid or the field in question is not editable or not visible. Note that due to `incremental rendering` columns which are not currently scrolled into view may be unrendered, in which case they may have no associated edit item until the user scrolls them into view.
      - The items' values are managed by the ListGrid through the edit-values subsystem. If you want to change an edit value for a field, call `ListGrid.setEditValue` and the grid will handle updating the value in the live item if necessary. You should not need to call `setValue();` directly on the item and doing so will not always update the edit value for the grid.
      In general - bear in mind that this is an advanced usage and if there is an equivalent API available on the ListGrid it is always preferable to use that.
      Parameters:
        `field` - fieldName or colNum to get the edit item for.
      Returns:
        the live edit item for the current edit row and specified field, or null if the grid is not currently showing any editors.

    - #### openRecordDetailGrid

          public void openRecordDetailGrid(ListGridRecord record,
                                  DataSource detailDataSource)

      Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
      Open the current record detail grid inline,
      Parameters:
        `record` - the record
        `detailDataSource` - the detail data source

    - #### closeRecord

          public void closeRecord(ListGridRecord record)

      Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
      Close the inline detail grid associated with the record.
      Parameters:
        `record` - the record

    - #### openRecordEditor

          public void openRecordEditor(ListGridRecord record)

      Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
      Open the record editor associated with the record.
      Parameters:
        `record` - the record

    - #### groupBy

          public void groupBy(java.lang.String... fields)

      Display the current set of records grouped by their values for the given field or fields. With no arguments, disables all grouping.

      Grouping transforms the current dataset into a Tree on the fly, then provides a familiar tree interface for exploring the grouped data.

      Grouping works automatically with any dataset, providing simple default grouping based on each field's declared type. However, you can use the `com.smartgwt.client.widgets.grid.ListGridField#getGroupValue` API to control how records are grouped, and the `com.smartgwt.client.widgets.grid.ListGridField#getGroupTitle` API to control how groups are titled.

      Grouping can be performed programmatically via this API, or you can set `canGroupBy` to enable menus that allow the user to performing grouping. To group a grid automatically, instantiate the grid with a `groupByField` setting.

      While grouped, the automatically created Tree is available as `groupTree` and the original dataset is available as `originalData`.

    - #### sort

          public java.lang.Boolean sort(int sortCol,
                               SortDirection sortDirection)

      Parameters:
        `sortCol` - the column number to sort by
        `sortDirection` - the direction to sort in
      Returns:
        sorting worked
      See Also:
        `sort()`

    - #### saveAllEdits

          public boolean saveAllEdits()

      Save a number of outstanding edits for this ListGrid. If no rows are specified, all outstanding edits will be saved.
      Returns:
        true if a save has been initiated (at least one row had changes, passed client-side validation, and a save has been attempted). false otherwise

    - #### saveAllEdits

          public boolean saveAllEdits(Function callback)

      Save a number of outstanding edits for this ListGrid. If no rows are specified, all outstanding edits will be saved.
      Parameters:
        `callback` - this callback will be fired on a successful save. Note that if there are no pending edits to be saved this callback will not fire - you can check for this condition using `hasChanges()` or `#rowHasChanges()`. Use `addEditFailedHandler(EditFailedHandler)` to find out about failures encountered during saving (on a per-row basis).
      Returns:
        true if a save has been initiated (at least one row had changes, passed client-side validation, and a save has been attempted). false otherwise

    - #### saveAllEdits

          public boolean saveAllEdits(Function callback,
                             int[] rows)

      Save a number of outstanding edits for this ListGrid. If no rows are specified, all outstanding edits will be saved.
      Parameters:
        `callback` - this callback will be fired on a successful save of the specified rows. Note that if there are no pending edits to be saved this callback will not fire - you can check for this condition using `hasChanges()` or `#rowHasChanges()`. Use `addEditFailedHandler(EditFailedHandler)` to find out about failures encountered during saving (on a per-row basis).
        `rows` - specify which rows to save
      Returns:
        true if a save has been initiated (at least one row had changes, passed client-side validation, and a save has been attempted). false otherwise

    - #### freezeFields

          public void freezeFields(int[] colNums)

      See Also:
        `#freezeField(int)`

    - #### freezeFields

          public void freezeFields(java.lang.String[] fieldNames)

      See Also:
        `freezeField(String)`

    - #### unfreezeFields

          public void unfreezeFields(int[] colNums)

      See Also:
        `#unfreezeField(int)`

    - #### unfreezeFields

          public void unfreezeFields(java.lang.String[] fieldNames)

      See Also:
        `unfreezeField(String)`

    - #### refreshCell

          public void refreshCell(int rowNum,
                         int colNum,
                         boolean refreshingRow,
                         boolean allowEditCellRefresh)

      Refresh an individual cell without redrawing the grid.

      The cell's value, CSS class, and CSS text will be refreshed, to the current values returned by getCellValue(), getCellStyle() and getCellCSSText() respectively.

      Parameters:
        `rowNum` - row number of cell to refresh
        `colNum` - column number of cell to refresh

    - #### getVisibleRows

          public java.lang.Integer[] getVisibleRows()

      Get the rows that are currently visible in the viewport, as an array of [firstRowNum, lastRowNum]. If the grid contains no records, will return [-1,-1];
      Returns:
        the visible rows

    - #### getDrawnRows

          public java.lang.Integer[] getDrawnRows()

      Get the rows that are currently drawn (exist in the DOM), as an array of [firstRowNum, lastRowNum].

      The drawn rows differ from the `getVisibleRows()` because of `drawAheadRatio`. The drawn rows are the apppropriate range to consider if you need to, eg, using `refreshCell(int, int)` to update all the cells in a column.

      If the grid is undrawn or the `emptyMessage` is currently shown, returns [null,null];

      Returns:
        the drawn rows

    - #### fetchRelatedData

          public void fetchRelatedData(Record record,
                              DataSource dataSource)

      Parameters:
        `record` - the DataSource record
        `dataSource` - the schema of the DataSource record
      See Also:
        `fetchRelatedData(ListGridRecord,Canvas)`

    - #### fetchRelatedData

          public void fetchRelatedData(Record record,
                              DataSource dataSource,
                              DSCallback callback,
                              DSRequest requestProperties)

      Parameters:
        `record` - the DataSource record
        `dataSource` - the schema of the DataSource record
        `callback` - callback to invoke on completion
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `fetchRelatedData(ListGridRecord,Canvas)`

    - #### getBody

          public GridRenderer getBody()

      Returns the primary body, which, when there are frozen fields, is the `com.smartgwt.client.grid.GridRenderer` used to render the non-frozen portion of the dataset; otherwise, the primary body (the only body) is the GridRenderer used to render the entire dataset.
      Returns:
        the primary body or null if this ListGrid has not been drawn yet.

    - #### getGridRenderer

          public GridRenderer getGridRenderer()

      Synonym of `getBody()`.

    - #### getEditedCell

          public java.lang.Object getEditedCell(int rowNum,
                                       java.lang.String fieldName)

      See Also:
        `getEditedCell(int, int)`

    - #### getEditedCell

          public java.lang.Object getEditedCell(Record record,
                                       java.lang.String fieldName)

      See Also:
        `getEditedCell(int, int)`

    - #### getEditedCell

          public java.lang.Object getEditedCell(Record record,
                                       int colNum)

      See Also:
        `getEditedCell(int, int)`

    - #### getEditedRecord

          public Record getEditedRecord(int rowNum)

      Returns the combination of unsaved edits (if any) and original values (if any) for a given row being edited.

      The returned value is never null, and can be freely modified.

      Parameters:
        `rowNum` - the row num
      Returns:
        A copy of the record with unsaved edits included

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          java.lang.Object value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          java.lang.String value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          java.util.Date value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          double value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          boolean value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          float value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          int value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          Record value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          Record[] value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `colNum` - column number of cell
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          int colNum,
                          JavaScriptObject value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          java.lang.String value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          java.util.Date value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          double value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          boolean value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          float value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          int value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          Record value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          Record[] value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### setEditValue

          public void setEditValue(int rowNum,
                          java.lang.String fieldName,
                          JavaScriptObject value)

      Modifies a field value being tracked as an unsaved user edit.
      Parameters:
        `rowNum` - row number
        `fieldName` - the field name
        `value` - new value for the appropriate field

    - #### getEditValue

          public java.lang.Object getEditValue(int rowNum,
                                      java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValueAsString

          public java.lang.String getEditValueAsString(int rowNum,
                                              java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValueAsInt

          public java.lang.Integer getEditValueAsInt(int rowNum,
                                            java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValueAsFloat

          public java.lang.Float getEditValueAsFloat(int rowNum,
                                            java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValueAsDate

          public java.util.Date getEditValueAsDate(int rowNum,
                                          java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValueAsBoolean

          public java.lang.Boolean getEditValueAsBoolean(int rowNum,
                                                java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValueAsRecord

          public Record getEditValueAsRecord(int rowNum,
                                    java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValueAsRecordArray

          public Record[] getEditValueAsRecordArray(int rowNum,
                                           java.lang.String fieldName)

      Returns the current temporary locally stored edit value for some field within a record being edited.
      Parameters:
        `rowNum` - index of the row for which the editValue should be returned
        `fieldName` - field name for which value should be returned
      Returns:
        edit value for the field in question

    - #### getEditValues

          public java.util.Map getEditValues(int rowNum)

      Returns the current set of unsaved edits for a given row being edited.
      Parameters:
        `rowNum` - rowNum of the record being edited
      Returns:
        current editValues object for the row. This contains the current edit values in {fieldName1:value1, fieldName2:value2} format

    - #### getEditValues

          public java.util.Map getEditValues(Record record)

      Returns the current set of unsaved edits for a given row being edited.
      Parameters:
        `record` - an Object containing values for all the record's primary keys
      Returns:
        current editValues object for the row. This contains the current edit values in {fieldName1:value1, fieldName2:value2} format

    - #### setSort

          public void setSort(SortSpecifier... sortSpecifiers)

      Sort the grid on one or more fields.

      Pass in an array of `SortSpecifier`s to have the grid's data sorted by the fields in each `specifier.property` and in the directions specified. The grid can be sorted by any combination of fields, including fields specified in the fields array, whether visible or hidden, and `unused fields from the underlying dataSource`, if there is one.

      If multiple fields are sorted, those that are visible show a directional icon and a small `sort-numeral` indicating that field's index in the sort configuration.

      If setSort() is called on a ListGrid which doesn't yet have a SmartClient widget, the widget will not be created; instead, the initial sort for the ListGrid will be set as if by `setInitialSort(com.smartgwt.client.data.SortSpecifier...)`.

      See `addSort()` and `toggleSort()` APIs for information on making changes to the current sort configuration.

      Parameters:
        `sortSpecifiers` - Array of `SortSpecifier` objects

    - #### setRowErrors

          public void setRowErrors(int rowNum,
                          java.util.Map errors)

      Set the validation errors for some row (replacing any pre-existent validation errors)
      Parameters:
        `rowNum` - row to add validation error for
        `errors` - validation errors for the row. The key of the map must be the field name, and the value can either be a String error message or an array of Strings for multiple errors

    - #### setFieldError

          public void setFieldError(int rowNum,
                           java.lang.String fieldName,
                           java.lang.String[] errorMessages)

      Parameters:
        `rowNum` - row index of cell to add validation error for
        `fieldName` - field name of cell to add validation error for
        `errorMessages` - validation error messages
      See Also:
        `#setFieldError(int, int, String)`

    - #### selectSingleRecord

          public void selectSingleRecord(Record record)

      Select a single `Record` passed in explicitly, or by index, and deselect everything else. When programmatic selection of records is a requirement and `selectionType` is "single", use this method rather than `selectRecord(com.smartgwt.client.data.Record)` to enforce mutually-exclusive record-selection.
      Parameters:
        `record` - record to select

    - #### selectSingleRecord

          public void selectSingleRecord(int rowNum)

      Select a single `Record` passed in explicitly, or by index, and deselect everything else. When programmatic selection of records is a requirement and `selectionType` is "single", use this method rather than `selectRecord(com.smartgwt.client.data.Record)` to enforce mutually-exclusive record-selection.
      Parameters:
        `rowNum` - rowNum (or row number) to select

    - #### getFormulaFieldValue

          public java.lang.Double getFormulaFieldValue(ListGridField field,
                                              Record record)

      Get the computed value of a `canAddFormulaFields`. Returns null for a bad formula or where the result is not a valid number.
      Parameters:
        `field` - field that has a formula
        `record` - record to use to compute formula value
      Returns:
        formula result

    - #### setCriteria

          public void setCriteria(Criteria criteria)

      Sets this component's filter criteria. Default implementation calls this.data.setCriteria()
      Parameters:
        `criteria` - new criteria to show

    - #### validateCell

          public java.lang.Boolean validateCell(int rowNum,
                                       int colIndex)

      Validate the current edit value for the cell in question. Called when the user moves to a new edit cell if `validateByCell` is true.
      This method may also be called directly to perform cell level validation at any time.
      Parameters:
        `rowNum` - index of row to be validated.
        `colIndex` - column index of field to be validated
      Returns:
        returns true if validation was successful (no errors encountered), false otherwise.

    - #### cellHasErrors

          public java.lang.Boolean cellHasErrors(int rowNum,
                                        int colIndex)

      Given a rowNum and a colNum or fieldName, determine whether we currently have stored validation errors for the record/field in question.
      Parameters:
        `rowNum` - index of row to check for validation errors
        `colIndex` - index of column to check for validation errors
      Returns:
        true if we have validation errors for the row/col in question

    - #### clearFieldError

          public void clearFieldError(int rowNum,
                             java.lang.String fieldName)

      Parameters:
        `rowNum` - row index of cell to add validation error for
        `fieldName` - field name of cell to add validation error for
      See Also:
        `clearFieldError(int, int)`

    - #### setValueMap

          public void setValueMap(java.lang.String fieldName,
                         java.util.LinkedHashMap valueMap)

      Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
      Parameters:
        `fieldName` - Name of field to update
        `valueMap` - ValueMap for the field

    - #### setValueMap

          public void setValueMap(java.lang.String fieldName,
                         java.lang.String... valueMap)

      Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
      Parameters:
        `fieldName` - Name of field to update
        `valueMap` - ValueMap for the field

    - #### setEditorValueMap

          public void setEditorValueMap(java.lang.String fieldName,
                               java.util.LinkedHashMap valueMap)

      Set a valueMap to display for this field while editing.
      This method sets the +link{ListGridField.editorValueMap, field.editorValueMap} property and may be called at runtime while editing the grid.
      Parameters:
        `fieldName` - Name of field to update
        `valueMap` - ValueMap for the field

    - #### setEditorValueMap

          public void setEditorValueMap(java.lang.String fieldName,
                               java.lang.String... valueMap)

      Set a valueMap to display for this field while editing.
      This method sets the +link{ListGridField.editorValueMap, field.editorValueMap} property and may be called at runtime while editing the grid.
      Parameters:
        `fieldName` - Name of field to update
        `valueMap` - ValueMap for the field

    - #### getDisplayValue

          public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                         int value)

      Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
      Parameters:
        `fieldName` - Name of the field for which the displayValue is required
        `value` - data value for the field

    - #### getDisplayValue

          public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                         float value)

      Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
      Parameters:
        `fieldName` - Name of the field for which the displayValue is required
        `value` - data value for the field

    - #### getDisplayValue

          public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                         java.lang.String value)

      Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
      Parameters:
        `fieldName` - Name of the field for which the displayValue is required
        `value` - data value for the field

    - #### getDisplayValue

          public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                         boolean value)

      Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
      Parameters:
        `fieldName` - Name of the field for which the displayValue is required
        `value` - data value for the field

    - #### getDisplayValue

          public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                         java.util.Date value)

      Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
      Parameters:
        `fieldName` - Name of the field for which the displayValue is required
        `value` - data value for the field

    - #### clearEditValue

          public void clearEditValue(int rowNum,
                            java.lang.String fieldName)

      Clear a field value being tracked as an unsaved user edit.

      The saved record value will be displayed in the the appropriate cell instead. Will also discard any validation errors for the specified field / row.

      Parameters:
        `rowNum` - the row number
        `fieldName` - name of field for which the value is to be cleared

    - #### willAcceptDrop

          public java.lang.Boolean willAcceptDrop()

      This method overrides `Canvas.willAcceptDrop()` and works as follows:
      - If `Canvas.willAcceptDrop()` (the superclass definition) returns false, this method always returns false. This allows `dragType` and `dropTypes` to be used to configure eligibility for drop. By default, a ListGrid has no dropTypes configured and so this check will not prevent a drop.
      - If this is a self-drop, that is, the user is dragging a record within this list, this is an attempted drag-reorder. If `canReorderRecords` is false, this method returns false.
      - If the `EventHandler.getDragTarget()` is another widget, if `canAcceptDroppedRecords` is false this method returns false.
      - If a call to `getDragData()` on the `dragTarget` fails to return an record object or an array of records, this method returns false.
      - If a the drop target record is disabled or has `canAcceptDrop` set to false, return false.
      Note that this method may be called repeatedly during a drag-drop interaction to update the UI and notify the user as to when they may validly drop data. Note : This is an override point
      Overrides:
        `willAcceptDrop` in class `Canvas`
      Returns:
        true if this component will accept a drop of the dragData

    - #### preloadImages

          public static void preloadImages()

      Preload primary ListGrid skin images.

    - #### getFieldWidth

          public java.lang.Integer getFieldWidth(java.lang.String fieldName)

      Returns a numeric value for the width of some field within this `ListGrid`.
      Parameters:
        `fieldName` - Name of the field for which the width is to be determined.
      Returns:
        width of the field in px, or `null` if the width can't be determined.

    - #### getOriginalResultSet

          public ResultSet getOriginalResultSet()

      Return the underlying, ungrouped data of this ListGrid as a `ResultSet`. Use this method to access the data when the grid is grouped.

      Note that this method should only be called after initial data has been fetched by this DataBoundComponent.

      Returns:
        ResultSet, or null if the underlying ungrouped data is not a ResultSet
      See Also:
        `fetchData()`

    - #### getOriginalRecordList

          public RecordList getOriginalRecordList()

      Return the underlying, ungrouped data of this DataBoundComponent as a `RecordList`.

      If this grid `is grouped`, `DataBoundComponent.getRecordList()` will return the grouped data as a Tree. Use this method to return the underlying Array of Records or `ResultSet`, as if the grid was ungrouped:

          isGrouped() ? getOriginalRecordList() : getRecordList()

      Returns:
        the RecordList

    - #### setCellFormatter

          public void setCellFormatter(CellFormatter formatter)

      Sets a formatter that returns the HTML to display in each cell of the grid, given the raw cell value. Can be overridden by defining `ListGridField.setCellFormatter(com.smartgwt.client.widgets.grid.CellFormatter)`.
      Parameters:
        `formatter` - formatter to apply to the cell values
      See Also:
        `CellFormatter`

    - #### setCellValueHoverFormatter

          public void setCellValueHoverFormatter(CellValueHoverFormatter formatter)

      Provide a custom implementation of `cellValueHoverHTML(ListGridRecord, int, int, String)`.

      The `CellValueHoverFormatter` should return the HTML to display in the hover canvas that is displayed by default if a registered `CellValueHoverHandler` does not cancel a `CellValueHoverEvent`. The formatter can return null or an empty string to cancel the hover.

      Parameters:
        `formatter` - the cell value hover formatter

    - #### setDragTrackerIconCustomizer

          public void setDragTrackerIconCustomizer(DragTrackerIconCustomizer dragTrackerIconCustomizer)

      HTML to be shown in hovers over cells in the column described by this field. Note that the "value" passed to the HoverCustomizer callback will be null when the HoverCustomizer is applied to the ListGrid. However when applied to a ListGridField, the appropriate field value will be passed.
      Parameters:
        `dragTrackerIconCustomizer` - the dragTrackerIcon customizer

    - #### setDragTrackerTitleCustomizer

          public void setDragTrackerTitleCustomizer(DragTrackerTitleCustomizer dragTrackerTitleCustomizer)

      Return "title" HTML to display as a drag tracker when the user drags some record.
      Default implementation will display the cell value for the title field (see +link{listGrid.getTitleField()}) for the record(s) being dragged (including any icons / custom formatting / styling, etc).

      Note: Only called if +link{listGrid.dragTrackerMode} is set to `"title"`.

      Parameters:
        `dragTrackerIconCustomizer` - the dragTrackerIcon customizer

    - #### setHoverCustomizer

          public void setHoverCustomizer(HoverCustomizer hoverCustomizer)

      HTML to be shown in hovers over cells in the column described by this field.
      Parameters:
        `hoverCustomizer` - the hover customizer
      See Also:
        `ListGridField.setHoverCustomizer(HoverCustomizer)`

    - #### setEditorCustomizer

          public void setEditorCustomizer(ListGridEditorCustomizer customizer)

      This method allows developers to dynamically customize the form item displayed in an editable grid, based on the cell being edited. Note that `ListGridField#setEditorType()` allows a simpler static customization of FormItem properties for a specific field.
      Parameters:
        `customizer` -

    - #### hideFields

          public void hideFields(ListGridField[] fields,
                        boolean suppressRelayout)

      Parameters:
        `fields` - fields to hide
        `suppressRelayout` - if passed, don't relayout non-explicit sized fields to fit the available space
      See Also:
        `hideFields(String[], boolean)`

    - #### showFields

          public void showFields(ListGridField[] fields,
                        boolean suppressRelayout)

      Parameters:
        `field` - Fields to show.
        `suppressRelayout` - If passed, don't resize non-explicitly sized columns to fill the available space.
      See Also:
        `showFields(String[],boolean)`, Column order Example

    - #### getSelectedCellData

          public RecordList getSelectedCellData()

      Returns the selected cells as a series of Records where each field value is stored under it's offset from the top-left of the selection. For example, a 2x2 cell selection starting from the first column would return two Records, each with two values stored under the names "0" and "1".

      If `canSelectCells` is not enabled, this API always returns null.

      Returns:
        list of Records as described above

    - #### setFilterEditorProperties

          public void setFilterEditorProperties(ListGrid filterEditorProperties)
                                         throws java.lang.IllegalStateException

      Deprecated. in favor of `setFilterEditorProperties(RecordEditor)`
      Properties to apply to the automatically generated `filterEditor` if `showFilterEditor` is true.
      Parameters:
        `filterEditorProperties` - filterEditorProperties Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getGroupTree

          public Tree getGroupTree()

      If the ListGrid is grouped, return the underlying tree structure.
      Returns:
        the ListGrid group tree

    - #### getCriteria

          public Criteria getCriteria()

      Retrieves a copy of the current criteria for this component (may be null).

      Note: if `showFilterEditor` is true, the criteria returned by this method may not match the values currently displayed in the filter editor, since the user may have entered values which have not yet been applied to our data. `getFilterEditorCriteria()` may be used to retrieve the current criteria displayed in the filterEditor.

      Returns:
        current filter criteria
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### setDataPageSize

          public void setDataPageSize(int dataPageSize)

      Description copied from interface: `DataBoundComponent`
      When using data paging, how many records to fetch at a time. The value of this attribute is passed on to the auto-constructed `ResultSet` object for this component. In effect, this gives you control over the `resultSize` attribute for this component.

      Note that regardless of the `dataPageSize` setting, a component will always fetch all of data that it needs to draw. Settings such as `showAllRecords`, `drawAllMaxCells` and `drawAheadRatio` can cause more rows than the configured `dataPageSize` to be fetched.

      Specified by:
        `setDataPageSize` in interface `DataBoundComponent`
      Parameters:
        `dataPageSize` - dataPageSize Default value is 75

    - #### getDataPageSize

          public int getDataPageSize()

      Description copied from interface: `DataBoundComponent`
      When using data paging, how many records to fetch at a time. The value of this attribute is passed on to the auto-constructed `ResultSet` object for this component. In effect, this gives you control over the `resultSize` attribute for this component.

      Note that regardless of the `dataPageSize` setting, a component will always fetch all of data that it needs to draw. Settings such as `showAllRecords`, `drawAllMaxCells` and `drawAheadRatio` can cause more rows than the configured `dataPageSize` to be fetched.

      Specified by:
        `getDataPageSize` in interface `DataBoundComponent`
      Returns:
        int

    - #### setUseAllDataSourceFields

          public void setUseAllDataSourceFields(java.lang.Boolean useAllDataSourceFields)

      Description copied from interface: `DataBoundComponent`
      If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

      If `component.fields` contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

      Specified by:
        `setUseAllDataSourceFields` in interface `DataBoundComponent`
      Parameters:
        `useAllDataSourceFields` - useAllDataSourceFields Default value is false

    - #### getUseAllDataSourceFields

          public java.lang.Boolean getUseAllDataSourceFields()

      Description copied from interface: `DataBoundComponent`
      If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

      If `component.fields` contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

      Specified by:
        `getUseAllDataSourceFields` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setShowHiddenFields

          public void setShowHiddenFields(java.lang.Boolean showHiddenFields)

      Description copied from interface: `DataBoundComponent`
      Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.

      The `hidden` property is used on DataSource fields to mark fields that are never of meaning to an end user.

      Specified by:
        `setShowHiddenFields` in interface `DataBoundComponent`
      Parameters:
        `showHiddenFields` - showHiddenFields Default value is false

    - #### getShowHiddenFields

          public java.lang.Boolean getShowHiddenFields()

      Description copied from interface: `DataBoundComponent`
      Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.

      The `hidden` property is used on DataSource fields to mark fields that are never of meaning to an end user.

      Specified by:
        `getShowHiddenFields` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setShowComplexFields

          public void setShowComplexFields(java.lang.Boolean showComplexFields)

      Description copied from interface: `DataBoundComponent`
      Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.

      If true, the component will show fields that declare a complex type, for example, a field 'shippingAddress' that declares type 'Address', where 'Address' is the ID of a DataSource that declares the fields of a shipping address (city, street name, etc).

      Such fields may need custom formatters or editors in order to create a usable interface, for example, an Address field in a ListGrid might use a custom formatter to combine the relevant fields of an address into one column, and might use a pop-up dialog for editing.

      Note : This is an advanced setting

      Specified by:
        `setShowComplexFields` in interface `DataBoundComponent`
      Parameters:
        `showComplexFields` - showComplexFields Default value is true

    - #### getShowComplexFields

          public java.lang.Boolean getShowComplexFields()

      Description copied from interface: `DataBoundComponent`
      Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.

      If true, the component will show fields that declare a complex type, for example, a field 'shippingAddress' that declares type 'Address', where 'Address' is the ID of a DataSource that declares the fields of a shipping address (city, street name, etc).

      Such fields may need custom formatters or editors in order to create a usable interface, for example, an Address field in a ListGrid might use a custom formatter to combine the relevant fields of an address into one column, and might use a pop-up dialog for editing.

      Specified by:
        `getShowComplexFields` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setFetchOperation

          public void setFetchOperation(java.lang.String fetchOperation)

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing fetch operations.
      Specified by:
        `setFetchOperation` in interface `DataBoundComponent`
      Parameters:
        `fetchOperation` - fetchOperation Default value is null

    - #### getFetchOperation

          public java.lang.String getFetchOperation()

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing fetch operations.
      Specified by:
        `getFetchOperation` in interface `DataBoundComponent`
      Returns:
        String

    - #### setUpdateOperation

          public void setUpdateOperation(java.lang.String updateOperation)

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing update operations.
      Specified by:
        `setUpdateOperation` in interface `DataBoundComponent`
      Parameters:
        `updateOperation` - updateOperation Default value is null

    - #### getUpdateOperation

          public java.lang.String getUpdateOperation()

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing update operations.
      Specified by:
        `getUpdateOperation` in interface `DataBoundComponent`
      Returns:
        String

    - #### setAddOperation

          public void setAddOperation(java.lang.String addOperation)

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing add operations.
      Specified by:
        `setAddOperation` in interface `DataBoundComponent`
      Parameters:
        `addOperation` - addOperation Default value is null

    - #### getAddOperation

          public java.lang.String getAddOperation()

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing add operations.
      Specified by:
        `getAddOperation` in interface `DataBoundComponent`
      Returns:
        String

    - #### setRemoveOperation

          public void setRemoveOperation(java.lang.String removeOperation)

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing remove operations.
      Specified by:
        `setRemoveOperation` in interface `DataBoundComponent`
      Parameters:
        `removeOperation` - removeOperation Default value is null

    - #### getRemoveOperation

          public java.lang.String getRemoveOperation()

      Description copied from interface: `DataBoundComponent`
      Operation ID this component should use when performing remove operations.
      Specified by:
        `getRemoveOperation` in interface `DataBoundComponent`
      Returns:
        String

    - #### setExportFields

          public void setExportFields(java.lang.String[] exportFields)

      Description copied from interface: `DataBoundComponent`
      The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

      If exportFields is not provided, the exported output includes all visible fields from this component, sorted as they appear.

      Specified by:
        `setExportFields` in interface `DataBoundComponent`
      Parameters:
        `exportFields` - exportFields Default value is null

    - #### getExportFields

          public java.lang.String[] getExportFields()

      Description copied from interface: `DataBoundComponent`
      The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

      If exportFields is not provided, the exported output includes all visible fields from this component, sorted as they appear.

      Specified by:
        `getExportFields` in interface `DataBoundComponent`
      Returns:
        the list of field-names to export.

    - #### setExportAll

          public void setExportAll(java.lang.Boolean exportAll)

      Description copied from interface: `DataBoundComponent`
      Setting exportAll to true prevents the component from passing its list of fields to the export call. The result is the export of all visible fields from `fields`.

      If exportAll is false, an export operation will first consider `exportFields`, if it's set, and fall back on all visible fields from `fields` otherwise.

      Specified by:
        `setExportAll` in interface `DataBoundComponent`
      Parameters:
        `exportAll` - exportAll Default value is false

    - #### getExportAll

          public java.lang.Boolean getExportAll()

      Description copied from interface: `DataBoundComponent`
      Setting exportAll to true prevents the component from passing its list of fields to the export call. The result is the export of all visible fields from `fields`.

      If exportAll is false, an export operation will first consider `exportFields`, if it's set, and fall back on all visible fields from `fields` otherwise.

      Specified by:
        `getExportAll` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setPreventDuplicates

          public void setPreventDuplicates(java.lang.Boolean preventDuplicates)
                                    throws java.lang.IllegalStateException

      Description copied from interface: `DataBoundComponent`
      If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`. When a duplicate transfer is detected, a dialog will appear showing the `duplicateDragMessage`.

      If the component either does not have a `DataSource` or has a DataSource with no `primaryKey` declared, duplicate checking is off by default. If duplicate checking is enabled, it looks for an existing record in the dataset that has all of the properties of the dragged record, and considers that a duplicate.

      For `DragDataAction`:"copy" where the target DataSource is related to the source DataSource by foreignKey, a duplicate means that the target list, as filtered by the current criteria, already has a record whose value for the foreignKey field matches the primaryKey of the record being transferred.

      For example, consider dragging "employees" to "teams", where "teams" has a field "teams.employeeId" which is a foreignKey pointing to "employees.id", and the target grid has search criteria causing it to show all the members of one team. A duplicate - adding an employee to the same team twice - is when the target grid's dataset contains an record with "employeeId" matching the "id" field of the dropped employee.

      Specified by:
        `setPreventDuplicates` in interface `DataBoundComponent`
      Parameters:
        `preventDuplicates` - preventDuplicates Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getPreventDuplicates

          public java.lang.Boolean getPreventDuplicates()

      Description copied from interface: `DataBoundComponent`
      If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`. When a duplicate transfer is detected, a dialog will appear showing the `duplicateDragMessage`.

      If the component either does not have a `DataSource` or has a DataSource with no `primaryKey` declared, duplicate checking is off by default. If duplicate checking is enabled, it looks for an existing record in the dataset that has all of the properties of the dragged record, and considers that a duplicate.

      For `DragDataAction`:"copy" where the target DataSource is related to the source DataSource by foreignKey, a duplicate means that the target list, as filtered by the current criteria, already has a record whose value for the foreignKey field matches the primaryKey of the record being transferred.

      For example, consider dragging "employees" to "teams", where "teams" has a field "teams.employeeId" which is a foreignKey pointing to "employees.id", and the target grid has search criteria causing it to show all the members of one team. A duplicate - adding an employee to the same team twice - is when the target grid's dataset contains an record with "employeeId" matching the "id" field of the dropped employee.

      Specified by:
        `getPreventDuplicates` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setDuplicateDragMessage

          public void setDuplicateDragMessage(java.lang.String duplicateDragMessage)
                                       throws java.lang.IllegalStateException

      Description copied from interface: `DataBoundComponent`
      Message to show when a user attempts to transfer duplicate records into this component, and `preventDuplicates` is enabled. If set to null, duplicates will not be reported and the dragged duplicates will not be saved.
      Specified by:
        `setDuplicateDragMessage` in interface `DataBoundComponent`
      Parameters:
        `duplicateDragMessage` - duplicateDragMessage Default value is "Duplicates not allowed"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDuplicateDragMessage

          public java.lang.String getDuplicateDragMessage()

      Description copied from interface: `DataBoundComponent`
      Message to show when a user attempts to transfer duplicate records into this component, and `preventDuplicates` is enabled. If set to null, duplicates will not be reported and the dragged duplicates will not be saved.
      Specified by:
        `getDuplicateDragMessage` in interface `DataBoundComponent`
      Returns:
        String

    - #### setAddDropValues

          public void setAddDropValues(java.lang.Boolean addDropValues)

      Description copied from interface: `DataBoundComponent`
      Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key. "Drop values" are properties of the dropped item that you wish to change (and persist) as a result of the item being dropped on this grid.

      If this value is true and this component is databound, `DataBoundComponent.getDropValues()` will be called for every databound item dropped on this grid, and an update performed on the item

      Specified by:
        `setAddDropValues` in interface `DataBoundComponent`
      Parameters:
        `addDropValues` - addDropValues Default value is true

    - #### getAddDropValues

          public java.lang.Boolean getAddDropValues()

      Description copied from interface: `DataBoundComponent`
      Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key. "Drop values" are properties of the dropped item that you wish to change (and persist) as a result of the item being dropped on this grid.

      If this value is true and this component is databound, `DataBoundComponent.getDropValues()` will be called for every databound item dropped on this grid, and an update performed on the item

      Specified by:
        `getAddDropValues` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setDropValues

          public void setDropValues(java.util.Map dropValues)

      Description copied from interface: `DataBoundComponent`
      When an item is dropped on this component, and `addDropValues` is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.

      If this property is not defined, Smart GWT defaults to returning the selection criteria currently in place for this component. Thus, any databound items (for example, rows from other grids bound to the same DataSource) dropped on the grid will, by default, be subjected to an update that makes them conform to the grid's current filter criteria.

      Note : This is an advanced setting

      Specified by:
        `setDropValues` in interface `DataBoundComponent`
      Parameters:
        `dropValues` - dropValues Default value is null

    - #### getDropValues

          public java.util.Map getDropValues()

      Description copied from interface: `DataBoundComponent`
      When an item is dropped on this component, and `addDropValues` is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.

      If this property is not defined, Smart GWT defaults to returning the selection criteria currently in place for this component. Thus, any databound items (for example, rows from other grids bound to the same DataSource) dropped on the grid will, by default, be subjected to an update that makes them conform to the grid's current filter criteria.

      Note : This is an advanced setting

      Specified by:
        `getDropValues` in interface `DataBoundComponent`
      Returns:
        Returns the "drop values" to apply to a record dropped on this component prior to update. Only applicable to databound components - see `dropValues` for more details. If multiple records are being dropped, this method is called for each of them in turn.

        This method returns the following:

        - Nothing, if `addDropValues` is false
        - dropValues, if that property is set. If the component's criteria object is applicable (as explained in the next item), it is merged into dropValues, with properties in dropValues taking precedence.
        - The component's criteria object, if the most recent textMatchStyle for the component was "exact" and it is simple criteria (ie, not an AdvancedCriteria object)
        - Otherwise nothing

        You can override this method if you need more complex setting of drop values than can be provided by simply supplying a dropValues object.

    - #### setProgressiveLoading

          public void setProgressiveLoading(java.lang.Boolean progressiveLoading)

      Indicates whether or not this component will load its data `progressively`
      Parameters:
        `progressiveLoading` -
      See Also:
        `ProgressiveLoading`, `DataSource.setProgressiveLoading(java.lang.Boolean)`

    - #### getProgressiveLoading

          public java.lang.Boolean getProgressiveLoading()

      Indicates whether or not this component will load its data `progressively`
      Returns:
      See Also:
        `ProgressiveLoading`, `DataSource.getProgressiveLoading()`

    - #### setUseFlatFields

          public void setUseFlatFields(java.lang.Boolean useFlatFields)
                                throws java.lang.IllegalStateException

      Description copied from interface: `DataBoundComponent`
      The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.

      `useFlatFields` is typically used with imported metadata, such as `XMLTools.loadXMLSchema(java.lang.String, com.smartgwt.client.data.XSDLoadCallback)` from a `XMLTools.loadWSDL(java.lang.String, com.smartgwt.client.data.WSDLLoadCallback)`, as a means of eliminating levels of XML nesting that aren't meaningful in a user interface, without the cumbersome and fragile process of mapping form fields to XML structures.

      For example, having called `WebService.getInputDS(java.lang.String)` to retrieve the input message schema for a web service operation whose input message looks like this:

           <FindServices>
               <searchFor>search text</searchFor>
               <Options>
                   <caseSensitive>false</caseSensitive>
               </Options>
               <IncludeInSearch>
                   <serviceName>true</serviceName>
                   <documentation>true</documentation>
                   <keywords>true</keywords>
               </IncludeInSearch>
           </FindServices>

      Setting `useFlatFields` on a `DynamicForm` that is bound to this input message schema would result in 5 `FormItem` reflecting the 5 simple type fields in the message.

      For this form, the result of `DynamicForm.getValues()` might look like:

          {
              searchFor: "search text",
              caseSensitive: false,
              serviceName: true,
              documentation : true,
              keywords : true
           }

      When contacting a `WebService`, these values can be automatically mapped to the structure of the input message for a web service operation by setting `useFlatFields` (for use with `WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)`) or by setting `useFlatFields` (for use with a `DataSource` that is `'bound to a WSDL web service'` via `wsOperation`).

      Using these two facilities in conjunction (component.useFlatFields and request.useFlatFields) allows gratuitous nesting to be consistently bypassed in both the user presentation and when providing the data for XML messages.

      You can also set `useFlatFields` to automatically enable "flattened" XML serialization (request.useFlatFields) for all DataSource requests of a particular operationType.

      Note that `useFlatFields` is not generally recommended for use with structures where multiple simple type fields exist with the same name, however if used with such a structure, the first field to use a given name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will be present as a field when data binding.

      Specified by:
        `setUseFlatFields` in interface `DataBoundComponent`
      Parameters:
        `useFlatFields` - useFlatFields Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUseFlatFields

          public java.lang.Boolean getUseFlatFields()

      Description copied from interface: `DataBoundComponent`
      The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.

      `useFlatFields` is typically used with imported metadata, such as `XMLTools.loadXMLSchema(java.lang.String, com.smartgwt.client.data.XSDLoadCallback)` from a `XMLTools.loadWSDL(java.lang.String, com.smartgwt.client.data.WSDLLoadCallback)`, as a means of eliminating levels of XML nesting that aren't meaningful in a user interface, without the cumbersome and fragile process of mapping form fields to XML structures.

      For example, having called `WebService.getInputDS(java.lang.String)` to retrieve the input message schema for a web service operation whose input message looks like this:

           <FindServices>
               <searchFor>search text</searchFor>
               <Options>
                   <caseSensitive>false</caseSensitive>
               </Options>
               <IncludeInSearch>
                   <serviceName>true</serviceName>
                   <documentation>true</documentation>
                   <keywords>true</keywords>
               </IncludeInSearch>
           </FindServices>

      Setting `useFlatFields` on a `DynamicForm` that is bound to this input message schema would result in 5 `FormItem` reflecting the 5 simple type fields in the message.

      For this form, the result of `DynamicForm.getValues()` might look like:

          {
              searchFor: "search text",
              caseSensitive: false,
              serviceName: true,
              documentation : true,
              keywords : true
           }

      When contacting a `WebService`, these values can be automatically mapped to the structure of the input message for a web service operation by setting `useFlatFields` (for use with `WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)`) or by setting `useFlatFields` (for use with a `DataSource` that is `'bound to a WSDL web service'` via `wsOperation`).

      Using these two facilities in conjunction (component.useFlatFields and request.useFlatFields) allows gratuitous nesting to be consistently bypassed in both the user presentation and when providing the data for XML messages.

      You can also set `useFlatFields` to automatically enable "flattened" XML serialization (request.useFlatFields) for all DataSource requests of a particular operationType.

      Note that `useFlatFields` is not generally recommended for use with structures where multiple simple type fields exist with the same name, however if used with such a structure, the first field to use a given name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will be present as a field when data binding.

      Specified by:
        `getUseFlatFields` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setHiliteProperty

          public void setHiliteProperty(java.lang.String hiliteProperty)

      Description copied from interface: `DataBoundComponent`
      Marker that can be set on a record to flag that record as hilited. Should be set to a value that matches `id` for a hilite defined on this component.
      Specified by:
        `setHiliteProperty` in interface `DataBoundComponent`
      Parameters:
        `hiliteProperty` - hiliteProperty Default value is "_hilite"

    - #### getHiliteProperty

          public java.lang.String getHiliteProperty()

      Description copied from interface: `DataBoundComponent`
      Marker that can be set on a record to flag that record as hilited. Should be set to a value that matches `id` for a hilite defined on this component.
      Specified by:
        `getHiliteProperty` in interface `DataBoundComponent`
      Returns:
        String

    - #### editFields

          public void editFields()

      Shows a FieldPicker interface allowing end-users to rearrange the order and visibiility of the fields in the associated DataBoundComponent.

    - #### editHilites

          public void editHilites()

      Shows a HiliteEditor interface allowing end-users to edit the data-hilites currently in use by this DataBoundComponent.
      Specified by:
        `editHilites` in interface `DataBoundComponent`

    - #### getHiliteState

          public java.lang.String getHiliteState()

      Get the current hilites encoded as a String, for saving.
      Specified by:
        `getHiliteState` in interface `DataBoundComponent`
      Returns:
        the hilite state

    - #### setHiliteState

          public void setHiliteState(java.lang.String hiliteState)

      Set the current hilites based on a hiliteState String previously returned from getHilitesState.
      Specified by:
        `setHiliteState` in interface `DataBoundComponent`
      Parameters:
        `hiliteState` - hilites state encoded as a String

    - #### setHilites

          public void setHilites(Hilite[] hilites)

      Accepts an array of hilite objects and applies them to this DataBoundComponent. See also `getHilites` for a method of retrieving the hilite array for storage, including hilites manually added by the user.
      Specified by:
        `setHilites` in interface `DataBoundComponent`
      Parameters:
        `hilites` - array of hilite objects

    - #### getHilites

          public Hilite[] getHilites()

      Return the set of hilite-objects currently applied to this DataBoundComponent. These can be saved for storage and then restored to a component later via setHilites().
      Specified by:
        `getHilites` in interface `DataBoundComponent`
      Returns:
        array of hilite objects

    - #### setDragDataAction

          public void setDragDataAction(DragDataAction dragDataAction)

      Description copied from interface: `DataBoundComponent`
      Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.
      Specified by:
        `setDragDataAction` in interface `DataBoundComponent`
      Parameters:
        `dragDataAction` - dragDataAction Default value is Canvas.MOVE

    - #### getDragDataAction

          public DragDataAction getDragDataAction()

      Description copied from interface: `DataBoundComponent`
      Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.
      Specified by:
        `getDragDataAction` in interface `DataBoundComponent`
      Returns:
        DragDataAction

    - #### setDragTrackerStyle

          public void setDragTrackerStyle(java.lang.String dragTrackerStyle)

      Description copied from interface: `DataBoundComponent`
      CSS Style to apply to the drag tracker when dragging occurs on this component.
      Specified by:
        `setDragTrackerStyle` in interface `DataBoundComponent`
      Parameters:
        `dragTrackerStyle` - dragTrackerStyle Default value is "gridDragTracker"

    - #### getDragTrackerStyle

          public java.lang.String getDragTrackerStyle()

      Description copied from interface: `DataBoundComponent`
      CSS Style to apply to the drag tracker when dragging occurs on this component.
      Specified by:
        `getDragTrackerStyle` in interface `DataBoundComponent`
      Returns:
        String

    - #### setCanAddFormulaFields

          public void setCanAddFormulaFields(java.lang.Boolean canAddFormulaFields)

      Description copied from interface: `DataBoundComponent`
      Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.

      User-added formula fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

      Specified by:
        `setCanAddFormulaFields` in interface `DataBoundComponent`
      Parameters:
        `canAddFormulaFields` - canAddFormulaFields Default value is false

    - #### addSummaryField

          public void addSummaryField()

      Description copied from interface: `DataBoundComponent`
      Convenience method to display a `com.smartgwt.client..SummaryBuilder` to create a new Summary Field. This is equivalent to calling `DataBoundComponentGen#editSummaryField` with no parameter.
      Specified by:
        `addSummaryField` in interface `DataBoundComponent`

    - #### addFormulaField

          public void addFormulaField()

      Description copied from interface: `DataBoundComponent`
      Convenience method to display a `com.smartgwt.client..FormulaBuilder` to create a new Formula Field. This is equivalent to calling `DataBoundComponentGen#editFormulaField` with no parameter.
      Specified by:
        `addFormulaField` in interface `DataBoundComponent`

    - #### getCanAddFormulaFields

          public java.lang.Boolean getCanAddFormulaFields()

      Description copied from interface: `DataBoundComponent`
      Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.

      User-added formula fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

      Specified by:
        `getCanAddFormulaFields` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setAddFormulaFieldText

          public void setAddFormulaFieldText(java.lang.String addFormulaFieldText)

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to add a formula field
      Specified by:
        `setAddFormulaFieldText` in interface `DataBoundComponent`
      Parameters:
        `addFormulaFieldText` - addFormulaFieldText Default value is "Add formula column..."

    - #### getAddFormulaFieldText

          public java.lang.String getAddFormulaFieldText()

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to add a formula field
      Specified by:
        `getAddFormulaFieldText` in interface `DataBoundComponent`
      Returns:
        String

    - #### setEditFormulaFieldText

          public void setEditFormulaFieldText(java.lang.String editFormulaFieldText)

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to edit a formula field
      Specified by:
        `setEditFormulaFieldText` in interface `DataBoundComponent`
      Parameters:
        `editFormulaFieldText` - editFormulaFieldText Default value is "Edit formula..."

    - #### getEditFormulaFieldText

          public java.lang.String getEditFormulaFieldText()

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to edit a formula field
      Specified by:
        `getEditFormulaFieldText` in interface `DataBoundComponent`
      Returns:
        String

    - #### setCanAddSummaryFields

          public void setCanAddSummaryFields(java.lang.Boolean canAddSummaryFields)

      Description copied from interface: `DataBoundComponent`
      Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.

      User-added summary fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

      Specified by:
        `setCanAddSummaryFields` in interface `DataBoundComponent`
      Parameters:
        `canAddSummaryFields` - canAddSummaryFields Default value is false

    - #### getCanAddSummaryFields

          public java.lang.Boolean getCanAddSummaryFields()

      Description copied from interface: `DataBoundComponent`
      Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.

      User-added summary fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

      Specified by:
        `getCanAddSummaryFields` in interface `DataBoundComponent`
      Returns:
        Boolean

    - #### setAddSummaryFieldText

          public void setAddSummaryFieldText(java.lang.String addSummaryFieldText)

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to add a formula field
      Specified by:
        `setAddSummaryFieldText` in interface `DataBoundComponent`
      Parameters:
        `addSummaryFieldText` - addSummaryFieldText Default value is "Add summary column..."

    - #### getAddSummaryFieldText

          public java.lang.String getAddSummaryFieldText()

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to add a formula field
      Specified by:
        `getAddSummaryFieldText` in interface `DataBoundComponent`
      Returns:
        String

    - #### setEditSummaryFieldText

          public void setEditSummaryFieldText(java.lang.String editSummaryFieldText)

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to edit the formatter for a field
      Specified by:
        `setEditSummaryFieldText` in interface `DataBoundComponent`
      Parameters:
        `editSummaryFieldText` - editSummaryFieldText Default value is "Edit summary format..."

    - #### getEditSummaryFieldText

          public java.lang.String getEditSummaryFieldText()

      Description copied from interface: `DataBoundComponent`
      Text for a menu item allowing users to edit the formatter for a field
      Specified by:
        `getEditSummaryFieldText` in interface `DataBoundComponent`
      Returns:
        String

    - #### findAll

          public Record[] findAll(AdvancedCriteria adCriteria)

      Filters all objects according to the AdvancedCriteria passed
      Parameters:
        `adCriteria` - AdvancedCriteria to use to filter results
      Returns:
        all matching Objects or null if none found

    - #### find

          public Record find(AdvancedCriteria adCriteria)

      Filters all objects according to the AdvancedCriteria passed and returns the first matching object or null if not found
      Parameters:
        `adCriteria` - AdvancedCriteria to use to filter results
      Returns:
        first matching object or null if not found

    - #### findIndex

          public int findIndex(AdvancedCriteria adCriteria)

      Finds the index of the first Record that matches with the AdvacendCriteria passed.
      Parameters:
        `adCriteria` - AdvancedCriteria to use to filter results
      Returns:
        index of the first matching Record or -1 if not found

    - #### findNextIndex

          public int findNextIndex(int startIndex,
                          AdvancedCriteria adCriteria,
                          int endIndex)

      Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex and endIndex parameters.
      Parameters:
        `startIndex` - first index to consider
        `adCriteria` - AdvancedCriteria to use to filter results
        `endIndex` - last index to consider
      Returns:
        index of the first matching Record or -1 if not found

    - #### findNextIndex

          public int findNextIndex(int startIndex,
                          AdvancedCriteria adCriteria)

      Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex parameter.
      Parameters:
        `startIndex` - first index to consider
        `adCriteria` - AdvancedCriteria to use to filter results
      Returns:
        index of the first matching Record or -1 if not found

    - #### selectRecord

          public void selectRecord(Record record)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a `Record` passed in explicitly, or by index.
      Specified by:
        `selectRecord` in interface `DataBoundComponent`
      Parameters:
        `record` - record (or row number) to select

    - #### selectRecord

          public void selectRecord(int record)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a `Record` passed in explicitly, or by index.
      Specified by:
        `selectRecord` in interface `DataBoundComponent`
      Parameters:
        `record` - record (or row number) to select

    - #### selectRecord

          public void selectRecord(int record,
                          boolean newState)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a `Record` passed in explicitly, or by index.
      Specified by:
        `selectRecord` in interface `DataBoundComponent`
      Parameters:
        `record` - record (or row number) to select
        `newState` - new selection state (if null, defaults to true)

    - #### selectRecord

          public void selectRecord(Record record,
                          boolean newState)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a `Record` passed in explicitly, or by index.
      Specified by:
        `selectRecord` in interface `DataBoundComponent`
      Parameters:
        `record` - record (or row number) to select
        `newState` - new selection state (if null, defaults to true)

    - #### selectRecords

          public void selectRecords(int[] records)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a list of `Record`s passed in explicitly, or by index.
      Specified by:
        `selectRecords` in interface `DataBoundComponent`
      Parameters:
        `records` - records (or row numbers) to select

    - #### selectRecords

          public void selectRecords(int[] records,
                           boolean newState)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a list of `Record`s passed in explicitly, or by index.
      Specified by:
        `selectRecords` in interface `DataBoundComponent`
      Parameters:
        `records` - records (or row numbers) to select
        `newState` - new selection state

    - #### selectRecords

          public void selectRecords(Record[] records)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a list of `Record`s passed in explicitly, or by index.
      Specified by:
        `selectRecords` in interface `DataBoundComponent`
      Parameters:
        `records` - records (or row numbers) to select

    - #### selectRecords

          public void selectRecords(Record[] records,
                           boolean newState)

      Description copied from interface: `DataBoundComponent`
      Select/deselect a list of `Record`s passed in explicitly, or by index.
      Specified by:
        `selectRecords` in interface `DataBoundComponent`
      Parameters:
        `records` - records (or row numbers) to select
        `newState` - new selection state (if null, defaults to true)

    - #### deselectRecord

          public void deselectRecord(Record record)

      Description copied from interface: `DataBoundComponent`
      Deselect a `Record` passed in explicitly, or by index.

      Synonym for `selectRecord(record, false)`

      Specified by:
        `deselectRecord` in interface `DataBoundComponent`
      Parameters:
        `record` - record (or row number) to deselect

    - #### deselectRecord

          public void deselectRecord(int record)

      Description copied from interface: `DataBoundComponent`
      Deselect a `Record` passed in explicitly, or by index.

      Synonym for `selectRecord(record, false)`

      Specified by:
        `deselectRecord` in interface `DataBoundComponent`
      Parameters:
        `record` - record (or row number) to deselect

    - #### deselectRecords

          public void deselectRecords(int[] records)

      Description copied from interface: `DataBoundComponent`
      Deselect a list of `Record`s passed in explicitly, or by index.

      Synonym for `selectRecords(records, false)`

      Specified by:
        `deselectRecords` in interface `DataBoundComponent`
      Parameters:
        `records` - records (or row numbers) to deselect

    - #### deselectRecords

          public void deselectRecords(Record[] records)

      Description copied from interface: `DataBoundComponent`
      Deselect a list of `Record`s passed in explicitly, or by index.

      Synonym for `selectRecords(records, false)`

      Specified by:
        `deselectRecords` in interface `DataBoundComponent`
      Parameters:
        `records` - records (or row numbers) to deselect

    - #### selectAllRecords

          public void selectAllRecords()

      Description copied from interface: `DataBoundComponent`
      Select all records
      Specified by:
        `selectAllRecords` in interface `DataBoundComponent`

    - #### deselectAllRecords

          public void deselectAllRecords()

      Description copied from interface: `DataBoundComponent`
      Deselect all records
      Specified by:
        `deselectAllRecords` in interface `DataBoundComponent`

    - #### anySelected

          public java.lang.Boolean anySelected()

      Description copied from interface: `DataBoundComponent`
      Whether at least one item is selected
      Specified by:
        `anySelected` in interface `DataBoundComponent`
      Returns:
        true == at least one item is selected false == nothing at all is selected

    - #### enableHilite

          public void enableHilite(java.lang.String hiliteID)

      Description copied from interface: `DataBoundComponent`
      Enable / disable a `hilites`
      Specified by:
        `enableHilite` in interface `DataBoundComponent`
      Parameters:
        `hiliteID` - ID of hilite to enable

    - #### enableHilite

          public void enableHilite(java.lang.String hiliteID,
                          boolean enable)

      Description copied from interface: `DataBoundComponent`
      Enable / disable a `hilites`
      Specified by:
        `enableHilite` in interface `DataBoundComponent`
      Parameters:
        `hiliteID` - ID of hilite to enable
        `enable` - new enabled state to apply - if null, defaults to true

    - #### disableHilite

          public void disableHilite(java.lang.String hiliteID)

      Description copied from interface: `DataBoundComponent`
      Disable a hilite
      Specified by:
        `disableHilite` in interface `DataBoundComponent`
      Parameters:
        `hiliteID` - ID of hilite to disable

    - #### enableHiliting

          public void enableHiliting()

      Description copied from interface: `DataBoundComponent`
      Enable all hilites.
      Specified by:
        `enableHiliting` in interface `DataBoundComponent`

    - #### enableHiliting

          public void enableHiliting(boolean enable)

      Description copied from interface: `DataBoundComponent`
      Enable all hilites.
      Specified by:
        `enableHiliting` in interface `DataBoundComponent`
      Parameters:
        `enable` - new enabled state to apply - if null, defaults to true

    - #### disableHiliting

          public void disableHiliting()

      Description copied from interface: `DataBoundComponent`
      Disable all hilites.
      Specified by:
        `disableHiliting` in interface `DataBoundComponent`

    - #### getDragData

          public Record[] getDragData()

      Description copied from interface: `DataBoundComponent`
      During a drag-and-drop interaction, this method returns the set of records being dragged out of the component. In the default implementation, this is the list of currently selected records.

      This method is consulted by `willAcceptDrop()`.

      Specified by:
        `getDragData` in interface `DataBoundComponent`
      Returns:
        Array of `Record`s that are currently selected.

    - #### transferSelectedData

          public void transferSelectedData(DataBoundComponent source)

      Description copied from interface: `DataBoundComponent`
      Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction. This method acts on the dropped records exactly as if they had been dropped in an actual drag / drop interaction, including any special databound behavior invoked by calling `DataBoundComponent.getDropValues()` for each dropped record.

      To transfer all data in, for example, a `ListGrid`, call grid.selection.selectAll() first.

      Note that drag/drop type transfers of records between components are asynchronous operations: Smart GWT may need to perform server turnarounds to establish whether dropped records already exist in the target component. Therefore, it is possible to issue a call to `transferSelectedData()` and/or the `drop()` method of a databound component whilst a transfer is still active. When this happens, Smart GWT adds the second and subsequent transfer requests to a queue and runs them one after the other. If you want to be notified when a transfer process has actually completed, use `addDropCompleteHandler`. See the `Dragging` documentation for an overview of list grid drag/drop data transfer.

      Specified by:
        `transferSelectedData` in interface `DataBoundComponent`
      Parameters:
        `source` - source component from which the records will be tranferred

    - #### transferSelectedData

          public void transferSelectedData(DataBoundComponent source,
                                  int index)

      Description copied from interface: `DataBoundComponent`
      Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction. This method acts on the dropped records exactly as if they had been dropped in an actual drag / drop interaction, including any special databound behavior invoked by calling `DataBoundComponent.getDropValues()` for each dropped record.

      To transfer all data in, for example, a `ListGrid`, call grid.selection.selectAll() first.

      Note that drag/drop type transfers of records between components are asynchronous operations: Smart GWT may need to perform server turnarounds to establish whether dropped records already exist in the target component. Therefore, it is possible to issue a call to `transferSelectedData()` and/or the `drop()` method of a databound component whilst a transfer is still active. When this happens, Smart GWT adds the second and subsequent transfer requests to a queue and runs them one after the other. If you want to be notified when a transfer process has actually completed, use `addDropCompleteHandler`. See the `Dragging` documentation for an overview of list grid drag/drop data transfer.

      Specified by:
        `transferSelectedData` in interface `DataBoundComponent`
      Parameters:
        `source` - source component from which the records will be tranferred
        `index` - target index (drop position) of the rows within this grid.

    - #### getRecordIndex

          public int getRecordIndex(Record record)

      Description copied from interface: `DataBoundComponent`
      Get the index of the provided record.

      Override in subclasses to provide more specific behaviour, for instance, when data holds a large number of records

      Specified by:
        `getRecordIndex` in interface `DataBoundComponent`
      Parameters:
        `record` - the record whose index is to be retrieved
      Returns:
        indexindex of the record, or -1 if not found

    - #### getTitleFieldValue

          public java.lang.String getTitleFieldValue(Record record)

      Description copied from interface: `DataBoundComponent`
      Get the value of the titleField for the passed record

      Override in subclasses

      Specified by:
        `getTitleFieldValue` in interface `DataBoundComponent`
      Parameters:
        `record` - the record whose index is to be retrieved
      Returns:
        valuethe value of the titleField for the passed record

    - #### setTitleField

          public void setTitleField(java.lang.String titleField)

      Description copied from interface: `DataBoundComponent`
      Sets the best field to use for a user-visible title for an individual record from this component.
      Specified by:
        `setTitleField` in interface `DataBoundComponent`

    - #### getTitleField

          public java.lang.String getTitleField()

      Description copied from interface: `DataBoundComponent`
      Method to return the fieldName which represents the "title" for records in this Component.
      If this.titleField is explicitly specified it will always be used. Otherwise, default implementation will check `titleField` for databound components.
      For non databound components returns the first defined field name of `"title"`, `"name"`, or `"id"`. If we dont find any field-names that match these titles, the first field in the component will be used instead.
      Specified by:
        `getTitleField` in interface `DataBoundComponent`
      Returns:
        fieldName the title field for this component.

    - #### setDataSource

          public void setDataSource(DataSource dataSource)

      Description copied from interface: `DataBoundComponent`
      Bind to a DataSource. Binding to a DataSource means that the component will use the DataSource to provide default data for its fields.

      When binding a previously-bound componenet to a new DataSource, if the component has any existing "fields" or has a dataset, these will be discarded by default, since it is assumed the new DataSource may represent a completely unrelated set of objects. If the old "fields" are still relevant, you may be able to refer to setDataSource(dataSource, fields) as an alternative method if the widget has an implementation of it.

      Specified by:
        `setDataSource` in interface `DataBoundComponent`
      Parameters:
        `dataSource` - DataSource to bind to. Default value is null

    - #### getDataSource

          public DataSource getDataSource()

      Description copied from interface: `DataBoundComponent`
      The DataSource that this component should bind to for default fields and for performing `DataSource requests`.
      Specified by:
        `getDataSource` in interface `DataBoundComponent`
      Returns:
        DataSource

    - #### setAutoFetchData

          public void setAutoFetchData(java.lang.Boolean autoFetchData)
                                throws java.lang.IllegalStateException

      Description copied from interface: `DataBoundComponent`
      If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` . Criteria for this fetch may be picked up from `initialCriteria` and textMatchStyle may be specified via `DataBoundComponent.getAutoFetchTextMatchStyle()`.

      NOTE: If autoFetchData is set, calling ListGrid.fetchData() before draw will cause two requests to be issued, one from the manual call to fetchData() and one from the autoFetchData setting. The second request will use only `initialCriteria` and not any other criteria or settings from the first request. Generally, turn off autoFetchData if you are going to manually call fetchData() at any time.

      Specified by:
        `setAutoFetchData` in interface `DataBoundComponent`
      Parameters:
        `autoFetchData` - autoFetchData
      Throws:
        `java.lang.IllegalStateException`

    - #### getAutoFetchData

          public java.lang.Boolean getAutoFetchData()

      Description copied from interface: `DataBoundComponent`
      If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` . Criteria for this fetch may be picked up from `initialCriteria` and textMatchStyle may be specified via `DataBoundComponent.getAutoFetchTextMatchStyle()`.

      NOTE: If autoFetchData is set, calling ListGrid.fetchData() before draw will cause two requests to be issued, one from the manual call to fetchData() and one from the autoFetchData setting. The second request will use only `initialCriteria` and not any other criteria or settings from the first request. Generally, turn off autoFetchData if you are going to manually call fetchData() at any time.

      Specified by:
        `getAutoFetchData` in interface `DataBoundComponent`
      Returns:
        autoFetchData autoFetchData

    - #### setAutoFetchTextMatchStyle

          public void setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)
                                          throws java.lang.IllegalStateException

      Description copied from interface: `DataBoundComponent`
      If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
      Specified by:
        `setAutoFetchTextMatchStyle` in interface `DataBoundComponent`
      Throws:
        `java.lang.IllegalStateException`

    - #### getAutoFetchTextMatchStyle

          public TextMatchStyle getAutoFetchTextMatchStyle()

      Description copied from interface: `DataBoundComponent`
      If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
      Specified by:
        `getAutoFetchTextMatchStyle` in interface `DataBoundComponent`
      Returns:
        autoFetchTextMatchStyle autoFetchTextMatchStyle

    - #### setAutoFetchAsFilter

          public void setAutoFetchAsFilter(java.lang.Boolean autoFetchAsFilter)
                                    throws java.lang.IllegalStateException

      Description copied from interface: `DataBoundComponent`
      If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
      Specified by:
        `setAutoFetchAsFilter` in interface `DataBoundComponent`
      Parameters:
        `autoFetchAsFilter` - autoFetchAsFilter
      Throws:
        `java.lang.IllegalStateException`

    - #### getAutoFetchAsFilter

          public java.lang.Boolean getAutoFetchAsFilter()

      Description copied from interface: `DataBoundComponent`
      If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
      Specified by:
        `getAutoFetchAsFilter` in interface `DataBoundComponent`
      Returns:
        auto fetch as filter

    - #### setInitialCriteria

          public void setInitialCriteria(Criteria initialCriteria)
                                  throws java.lang.IllegalStateException

      Description copied from interface: `DataBoundComponent`
      Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
      Specified by:
        `setInitialCriteria` in interface `DataBoundComponent`
      Parameters:
        `initialCriteria` - the initial criteria
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getInitialCriteria

          public Criteria getInitialCriteria()

      Description copied from interface: `DataBoundComponent`
      Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
      Specified by:
        `getInitialCriteria` in interface `DataBoundComponent`
      Returns:
        the criteria

    - #### fetchData

          public void fetchData()

      Description copied from interface: `DataBoundComponent`
      Retrieves data from the DataSource that matches the specified criteria.

      When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

      NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

      Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

      Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

      If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

      This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

      In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

      Specified by:
        `fetchData` in interface `DataBoundComponent`

    - #### fetchData

          public void fetchData(Criteria criteria)

      Description copied from interface: `DataBoundComponent`
      Retrieves data from the DataSource that matches the specified criteria.

      When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

      NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

      Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

      Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

      If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

      This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

      In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

      Specified by:
        `fetchData` in interface `DataBoundComponent`
      Parameters:
        `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`

    - #### fetchData

          public void fetchData(Criteria criteria,
                       DSCallback callback)

      Description copied from interface: `DataBoundComponent`
      Retrieves data from the DataSource that matches the specified criteria.

      When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

      NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

      Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

      Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

      If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

      This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

      In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

      Specified by:
        `fetchData` in interface `DataBoundComponent`
      Parameters:
        `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
        `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required

    - #### fetchData

          public void fetchData(Criteria criteria,
                       DSCallback callback,
                       DSRequest requestProperties)

      Description copied from interface: `DataBoundComponent`
      Retrieves data from the DataSource that matches the specified criteria.

      When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

      NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

      Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

      Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

      If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

      This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

      In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

      Specified by:
        `fetchData` in interface `DataBoundComponent`
      Parameters:
        `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
        `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required
        `requestProperties` - additional properties to set on the DSRequest that will be issued

    - #### filterData

          public void filterData()

      Description copied from interface: `DataBoundComponent`
      Retrieves data that matches the provided criteria and displays the matching data in this component.

      This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

      Specified by:
        `filterData` in interface `DataBoundComponent`

    - #### filterData

          public void filterData(Criteria criteria)

      Description copied from interface: `DataBoundComponent`
      Retrieves data that matches the provided criteria and displays the matching data in this component.

      This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

      Specified by:
        `filterData` in interface `DataBoundComponent`
      Parameters:
        `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`

    - #### filterData

          public void filterData(Criteria criteria,
                        DSCallback callback)

      Description copied from interface: `DataBoundComponent`
      Retrieves data that matches the provided criteria and displays the matching data in this component.

      This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

      Specified by:
        `filterData` in interface `DataBoundComponent`
      Parameters:
        `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
        `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required; see `DataBoundComponent.fetchData()` for details

    - #### filterData

          public void filterData(Criteria criteria,
                        DSCallback callback,
                        DSRequest requestProperties)

      Description copied from interface: `DataBoundComponent`
      Retrieves data that matches the provided criteria and displays the matching data in this component.

      This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

      Specified by:
        `filterData` in interface `DataBoundComponent`
      Parameters:
        `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
        `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required; see `DataBoundComponent.fetchData()` for details
        `requestProperties` - for databound components only - optional additional properties to set on the DSRequest that will be issued

    - #### invalidateCache

          public void invalidateCache()

      Description copied from interface: `DataBoundComponent`
      Invalidate the current data cache for this databound component via a call to the dataset's `invalidateCache()` method, for example, `ResultSet.invalidateCache()`.

      NOTE: there is no need to call `invalidateCache()` when a save operation is performed on a DataSource. Automatic cache synchronization features will automatically update caches - see `ResultSet` for details. If automatic cache synchronization isn't working, troubleshoot the problem using the steps suggested in the FAQ rather than just calling invalidateCache(). Calling `invalidateCache()` unnecessarily causes extra server load and added code complexity.

      Calling `invalidateCache()` will automatically cause a new fetch to be performed with the current set of criteria if data had been previously fetched and the component is currently drawn with data visible - there is no need to manually call fetchData() after invalidateCache() and this could result in duplicate fetches.

      While data is being re-loaded after a call to `invalidateCache()`, the widget is in a state similar to initial data load - it doesn't know the total length of the dataset and any APIs that act on records or row indices will necessarily fail and should not be called. To detect that the widget is in this state, call `ResultSet.lengthIsKnown()`.

      `invalidateCache()` only has an effect if this component's dataset is a data manager class that manages a cache (eg ResultSet or ResultTree). If data was provided as a simple Array or List, invalidateCache() does nothing.

      Specified by:
        `invalidateCache` in interface `DataBoundComponent`
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### getResultSet

          public ResultSet getResultSet()

      Description copied from interface: `DataBoundComponent`
      Return the underlying data of this DataBoundComponent as a `ResultSet`.

      Note that this method should only be called after initial data has been fetched by this DataBoundComponent.

      Specified by:
        `getResultSet` in interface `DataBoundComponent`
      Returns:
        ResultSet, or null if the underlying data is not a ResultSet
      See Also:
        `DataBoundComponent.fetchData()`

    - #### getRecordList

          public RecordList getRecordList()

      Description copied from interface: `DataBoundComponent`
      Return the underlying data of this DataBoundComponent as a `RecordList`.

      Depending on the component configuration, the actual JavaScript instance of the returned RecordList may be one of several types:

      - If the component is not bound to a `DataSource`, the instance is generally an Array of `Record`.
      - If the component is bound to a DataSource, the instance is a `ResultSet`.
      - If the component is a grouped ListGrid, the instance is a `Tree`. To access the ungrouped record list regardless of grouping status, use

            isGrouped() ? getOriginalRecordList() : getRecordList()

      - If the component is a `TreeGrid`, the instance is a ResultTree.
      The underlying type determines the structure of the returned data. An Array or ResultSet represents a list of records, but a Tree or ResultTree represents a list of open rows in the tree, including groups or other nodes which contain no records.
      Specified by:
        `getRecordList` in interface `DataBoundComponent`
      Returns:
        the RecordList

    - #### getDataAsJSList

          public JavaScriptObject getDataAsJSList()

      Specified by:
        `getDataAsJSList` in interface `DataBoundComponent`

    - #### exportData

          public void exportData()

      Description copied from interface: `DataBoundComponent`
      Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.

      A variety of DSRequest settings, such as `exportAs` and `exportFilename`, affect the exporting process: see `exportResults` for further detail.

      Note that data exported via this method does not include any client-side formatting and relies on both the Smart GWT server and server-side DataSources. To export client-data with formatters applied, see `exportClientData`, which still requires the Smart GWT server but does not rely on server-side DataSources.

      For more information on exporting data, see `DataSource.exportData`.

      Specified by:
        `exportData` in interface `DataBoundComponent`
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### exportData

          public void exportData(DSRequest requestProperties)

      Description copied from interface: `DataBoundComponent`
      Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.

      A variety of DSRequest settings, such as `exportAs` and `exportFilename`, affect the exporting process: see `exportResults` for further detail.

      Note that data exported via this method does not include any client-side formatting and relies on both the Smart GWT server and server-side DataSources. To export client-data with formatters applied, see `exportClientData`, which still requires the Smart GWT server but does not rely on server-side DataSources.

      For more information on exporting data, see `DataSource.exportData`.

      Specified by:
        `exportData` in interface `DataBoundComponent`
      Parameters:
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### addFetchDataHandler

          public HandlerRegistration addFetchDataHandler(FetchDataHandler handler)

      Add a fetchData handler.

      Notification function fired on fetchData() or filterData()

      Specified by:
        `addFetchDataHandler` in interface `HasFetchDataHandlers`
      Parameters:
        `handler` - the filterData handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addDropCompleteHandler

          public HandlerRegistration addDropCompleteHandler(DropCompleteHandler handler)

      Add a `com.smartgwt.client.widgets.DropCompleteHandler`. See that class's documentation for a definition of "drop complete", and how it differs from "drag complete" (`com.smartgwt.client.widgets.DragCompleteHandler`).
      Specified by:
        `addDropCompleteHandler` in interface `HasDropCompleteHandlers`
      Parameters:
        `handler` - the DropCompleteHandler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addDragCompleteHandler

          public HandlerRegistration addDragCompleteHandler(DragCompleteHandler handler)

      Add a `com.smartgwt.client.widgets.DragCompleteHandler`. See that class's documentation for a definition of "drag complete", and how it differs from "drop complete" (`com.smartgwt.client.widgets.DropCompleteHandler`).
      Specified by:
        `addDragCompleteHandler` in interface `HasDragCompleteHandlers`
      Parameters:
        `handler` - the DropCompleteHandler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.grid.ListGridLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `VLayout`