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:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, DataBoundComponent, HasClearHandlers, 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, HasRuleContextChangedHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasBodyKeyPressHandlers, HasCellClickHandlers, HasCellContextClickHandlers, HasCellDoubleClickHandlers, HasCellErrorIconHoverHandlers, HasCellErrorIconOutHandlers, HasCellErrorIconOverHandlers, HasCellHoverHandlers, HasCellMouseDownHandlers, HasCellMouseUpHandlers, HasCellOutHandlers, HasCellOverHandlers, HasCellSavedHandlers, HasCellSelectionChangedHandlers, HasCellValueHoverHandlers, HasDataArrivedHandlers, HasDataChangedHandlers, 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, HasSetSortHandlers, HasSortChangedHandlers, HasSorterClickHandlers, HasSorterContextClickHandlers, HasViewStateChangedHandlers, HasMembersChangedHandlers
  Direct Known Subclasses:
    CalendarView, CubeGrid, DateGrid, ListPalette, Menu, PickListMenu, RecordEditor, TableView, TreeGrid

      public class ListGrid
      extends VLayout
      implements DataBoundComponent, HasCellSavedHandlers, HasCellClickHandlers, HasCellContextClickHandlers, HasCellDoubleClickHandlers, HasCellErrorIconHoverHandlers, HasCellErrorIconOutHandlers, HasCellErrorIconOverHandlers, HasCellHoverHandlers, HasCellMouseDownHandlers, HasCellMouseUpHandlers, HasCellOutHandlers, HasCellOverHandlers, HasCellSelectionChangedHandlers, HasCellValueHoverHandlers, HasDataArrivedHandlers, HasDataChangedHandlers, 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, HasSetSortHandlers, 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

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.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(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.event.shared.HandlerRegistration` | `addBodyKeyPressHandler(BodyKeyPressHandler handler)` Add a bodyKeyPress handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellClickHandler(CellClickHandler handler)` Add a cellClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellContextClickHandler(CellContextClickHandler handler)` Add a cellContextClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellDoubleClickHandler(CellDoubleClickHandler handler)` Add a cellDoubleClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellErrorIconHoverHandler(CellErrorIconHoverHandler handler)` Add a cellErrorIconHover handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellErrorIconOutHandler(CellErrorIconOutHandler handler)` Add a cellErrorIconOut handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellErrorIconOverHandler(CellErrorIconOverHandler handler)` Add a cellErrorIconOver handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellHoverHandler(CellHoverHandler handler)` Add a cellHover handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellMouseDownHandler(CellMouseDownHandler handler)` Add a cellMouseDown handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellMouseUpHandler(CellMouseUpHandler handler)` Add a cellMouseUp handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellOutHandler(CellOutHandler handler)` Add a cellOut handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellOverHandler(CellOverHandler handler)` Add a cellOver handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellSavedHandler(CellSavedHandler handler)` Add a cellSaved handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addCellSelectionChangedHandler(CellSelectionChangedHandler handler)` Add a cellSelectionChanged handler.
    `com.google.gwt.event.shared.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.
    `com.google.gwt.event.shared.HandlerRegistration` | `addDataArrivedHandler(DataArrivedHandler handler)` Add a dataArrived handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addDataChangedHandler(DataChangedHandler handler)` Add a dataChanged handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addDragCompleteHandler(DragCompleteHandler handler)` Add a `com.smartgwt.client.widgets.DragCompleteHandler`.
    `com.google.gwt.event.shared.HandlerRegistration` | `addDrawAreaChangedHandler(DrawAreaChangedHandler handler)` Add a drawAreaChanged handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addDropCompleteHandler(DropCompleteHandler handler)` Add a `com.smartgwt.client.widgets.DropCompleteHandler`.
    `com.google.gwt.event.shared.HandlerRegistration` | `addEditCompleteHandler(EditCompleteHandler handler)` Add a editComplete handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addEditFailedHandler(EditFailedHandler handler)` Add a editFailed handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addEditorEnterHandler(EditorEnterHandler handler)` Add a editorEnter handler.
    `com.google.gwt.event.shared.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.
    `com.google.gwt.event.shared.HandlerRegistration` | `addFetchDataHandler(FetchDataHandler handler)` Add a fetchData handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addFieldStateChangedHandler(FieldStateChangedHandler handler)` Add a fieldStateChanged handler.
    `com.google.gwt.event.shared.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.
    `com.google.gwt.event.shared.HandlerRegistration` | `addFormulaUpdatedHandler(FormulaUpdatedHandler handler)` Add a formulaUpdated handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addGroupByCompleteHandler(GroupByCompleteHandler handler)` Add a groupByComplete handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addGroupByHandler(GroupByHandler handler)` Add a groupBy handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addGroupStateChangedHandler(GroupStateChangedHandler handler)` Add a groupStateChanged handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addHeaderClickHandler(HeaderClickHandler handler)` Add a headerClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addHeaderDoubleClickHandler(HeaderDoubleClickHandler handler)` Add a headerDoubleClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addHeaderHoverHandler(HeaderHoverHandler handler)` Add a headerHover handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addHilitesChangedHandler(HilitesChangedHandler handler)` Add a hilitesChanged handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRecordClickHandler(RecordClickHandler handler)` Add a recordClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRecordCollapseHandler(RecordCollapseHandler handler)` Add a recordCollapse handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRecordDoubleClickHandler(RecordDoubleClickHandler handler)` Add a recordDoubleClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRecordDropHandler(RecordDropHandler handler)` Add a recordDrop handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRecordExpandHandler(RecordExpandHandler handler)` Add a recordExpand handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRemoveRecordClickHandler(RemoveRecordClickHandler handler)` Add a removeRecordClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowContextClickHandler(RowContextClickHandler handler)` Add a rowContextClick handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowEditorEnterHandler(RowEditorEnterHandler handler)` Add a rowEditorEnter handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowEditorExitHandler(RowEditorExitHandler handler)` Add a rowEditorExit handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowHoverHandler(RowHoverHandler handler)` Add a rowHover handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowMouseDownHandler(RowMouseDownHandler handler)` Add a rowMouseDown handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowMouseUpHandler(RowMouseUpHandler handler)` Add a rowMouseUp handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowOutHandler(RowOutHandler handler)` Add a rowOut handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addRowOverHandler(RowOverHandler handler)` Add a rowOver handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addSelectionChangedHandler(SelectionChangedHandler handler)` Add a selectionChanged handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addSelectionUpdatedHandler(SelectionUpdatedHandler handler)` Add a selectionUpdated handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addSetSortHandler(SetSortHandler handler)` Add a setSort handler.
    `void` | `addSort(SortSpecifier sortSpecifier)` Adds another `SortSpecifier` to this grid's sort configuration and resorts.
    `com.google.gwt.event.shared.HandlerRegistration` | `addSortChangedHandler(SortChangedHandler handler)` Add a sortChanged handler.
    `com.google.gwt.event.shared.HandlerRegistration` | `addSorterClickHandler(SorterClickHandler handler)` Add a sorterClick handler.
    `com.google.gwt.event.shared.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.
    `com.google.gwt.event.shared.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 `getSelectedCellData()` and applies the data at the current selection.
    `void` | `applyRecordData(RecordList recordData)` Applies a list of Records as changes to the current selection.
    `void` | `applySortToData(SortSpecifier... sortSpecifiers)` Sort the grid's data to reflect the parameter sortSpecifiers.
    `void` | `askForSort()` Show a dialog to configure the sorting of multiple fields on this component.
    `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 `setSort()` with a null parameter.
    `boolean` | `closeGroup(Record record)` Closes the node represented by the "record" parameter, if it is a folder and is not already closed.
    `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 `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 com.google.gwt.core.client.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` | `displaySort(SortSpecifier... sortSpecifiers)` Modify the grid UI to reflect the parameter sortSpecifiers.
    `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, using the specified `export format`.
    `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, using the specified `export format`.
    `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` | `fieldIsEditable(int field)` Can the field be edited? This method looks at `canEdit` for the grid as well as the `ListGridField.canEdit` value, to determine whether editing is allowed.
    `boolean` | `fieldIsEditable(ListGridField field)` Can the field be edited? This method looks at `canEdit` for the grid as well as the `ListGridField.canEdit` value, to determine whether editing is allowed.
    `boolean` | `fieldIsEditable(java.lang.String field)` Can the field be edited? This method looks at `canEdit` for the grid as well as the `ListGridField.canEdit` value, to determine whether editing is allowed.
    `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[]` | `findNextEditCell(int rowNum, int colNum, boolean searchForward, boolean stepThroughFields, boolean checkStartingCell)` Method to find the next editable cell given a starting row/col, and a direction, either iterating through fields within each row, or checking the same field in each row.
    `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()` `operationId` 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 `DynamicForm.allowExpressions` were true.
    `java.lang.Boolean` | `getAllowFilterOperators()` Causes a menu item titled `"Filter using"` to appear in the `headerContextMenu` that allows the end user to pick an advanced `search operator` to use for this field.
    `java.lang.Boolean` | `getAllowRowSpanning()` Should cells in this grid be allowed to span multiple rows? If set to `true`, the `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 (or blocks of columns, depending on `GridRenderer.alternateColumnFrequency`) should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading.
    `java.lang.String` | `getAlternateFieldSuffix()` Suffix to append to `alternate columns`.
    `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 (or blocks of rows, depending on `GridRenderer.alternateRowFrequency`) should be drawn in alternating styles, in order to create a "ledger" effect for easier reading.
    `java.lang.String` | `getAlternateRecordSuffix()` Suffix to append to `alternate rows`.
    `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.
    `java.lang.Boolean` | `getAlwaysShowOperatorIcon()` When `allowFilterOperators` is enabled, whether to show the `operatorIcon` for all filterable fields, or only for fields where the user has explicitly chosen a search operator different from the default operator for the field.
    `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 `TreeGrid.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 `ListGridField.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 `ListGridField.autoComplete` if specified.
    `java.lang.Boolean` | `getAutoConfirmSaveEdits()` For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded by default.
    `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 `ListGridField.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 `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?
    `AutoFitWidthApproach` | `getAutoFitDateFields()` Should listGrids automatically size date fields to fit their values or titles? If set to `"value"`, fields of type date will be rendered at the size specified by `defaultDateFieldWidth`, (or `defaultEditableDateFieldWidth` for editable 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"`, setting this property will cause the ListGrid body to size large enough to accomodate the actual data and also leave this many extra rows' worth of blank space below the last record.
    `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 user-driven auto fit of fields is enabled via `ListGridField.canAutoFitWidth` or `canAutoFitFields`, 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 `autoFitField()`.
    `java.lang.Boolean` | `getAutoFitFieldWidths()` Should ListGrid fields autofit their widths to titles or content? This property may be overridden on a per-field basis via `ListGridField.autoFitWidth`.
    `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.
    `java.lang.String` | `getAutoFitMaxWidthAsString()` 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` | `getAutoFitTimeFields()` Should listGrids automatically size time fields to fit their values or titles? If set to `"value"`, fields of type time will be rendered at the size specified by `defaultTimeFieldWidth`.
    `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()` Can the user perform one-time autofit for specific columns in this grid?
    `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, ready to be cliped to clipboard. This is mutually exclusive with `rearranging rows or cells by dragging`, and with `drag selection of 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 unless a custom override of `canEditCell()` allows it. 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 `removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `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 `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 `getExpansionComponent()` currently visible in some record, or null if the specified record is not showing an expansion component.
    `java.lang.Integer[]` | `getCurrentFieldWidths()` Returns an array of widths of the visible fields in this `ListGrid`, in px.
    `com.google.gwt.core.client.JavaScriptObject` | `getDataAsJSList()`
    `RecordList` | `getDataAsRecordList()` Return the grid data as a `RecordList`.
    `java.lang.Integer` | `getDataFetchDelay()` Delay in milliseconds before fetching data.
    `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'.
    `java.lang.Boolean` | `getDeepCloneOnEdit()` Before we start editing values in this DataBoundComponent, should we perform a deep clone of the underlying values.
    `java.lang.Integer` | `getDefaultDateFieldWidth()` Default width for date type fields.
    `java.lang.Integer` | `getDefaultDateTimeFieldWidth()` Default width for datetime type fields.
    `java.lang.Integer` | `getDefaultEditableDateFieldWidth()` Default width for editable date type fields.
    `java.lang.Integer` | `getDefaultEditableDateTimeFieldWidth()` Default width for editable datetime type fields.
    `ListGridField[]` | `getDefaultFields()` An array of listGrid field configuration objects.
    `OperatorId` | `getDefaultFilterOperator()` Default `filter operator` to use for text-based fields in this grid's `filter editor`, when producing `AdvancedCriteria`.
    `java.lang.String` | `getDefaultFilterOperatorSuffix()` Text to show after the name of the default filterOperator in the `headerContextMenu` when `allowFilterOperators` is enabled.
    `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.Integer` | `getDefaultTimeFieldWidth()` Default width for time type fields.
    `java.lang.Boolean` | `getDeferRemoval()` When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `markRecordRemoved()` instead of immediately being removed.
    `java.lang.Boolean` | `getDeselectOnPartialCheckboxClick()` Should partially selected checkbox be deselected or selected on click? This setting affects `header selection checkbox`, `group\n checkboxes` and folder checkbox selection in a Tree data set.
    `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.
    `int` | `getDragScrollRedrawDelay()` Like `scrollRedrawDelay`, but applies when the component is being drag-scrolled (via a scrollbar).
    `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].
    `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.
    `SelectionStyle` | `getEditSelectionType()` If `selectOnEdit` is true, what should be the edit-selection behavior be?
    `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.
    `ListGridRecord[]` | `getExpandedRecords()` Returns the list of `records` from this ListGrid that are `expanded`
    `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.
    `boolean` | `getExpansionFieldImageShowSelected()` Should a "_selected" suffix be added to the `expansionFieldTrueImage` and `expansionFieldFalseImage` image URLs for selected rows?
    `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 `exportData()` or `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 `exportData()` or `exportClientData()`, whether widths of fields should be replicated in the resulting spreadsheet.
    `boolean` | `getExportHeaderHeights()` When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, causes the `headerHeight` and `headerSpan heights` to be applied to the corresponding cells in the spreadsheet.
    `java.lang.Boolean` | `getExportIncludeSummaries()` If Summary rows exist for this component, whether to include them when exporting client data.
    `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 `exportData()` or `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 of a field which is visible in the grid.
    `ListGridField` | `getField(java.lang.String colNum)` Given a column number or field name, return the field definition of a field which is visible in the grid.
    `Alignment[]` | `getFieldAlignments()` Returna an array of field alignments for this grid
    `ListGridField` | `getFieldByName(java.lang.String fieldName)` Given a field name, return the appropriate field definition.
    `java.lang.Integer` | `getFieldContentWidth(ListGridField field)` Returns the pixel width of the content of a visible field in this grid.
    `int` | `getFieldCount()` Return the number of fields.
    `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.
    `com.google.gwt.core.client.JavaScriptObject[]` | `getFieldsAsJavaScriptObjects()` Return the fields as JavaScriptObjects rather than as SmartGWT Java wrappers of the field class type (e.g.
    `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()` Same as `getFilterEditorCriteria()` but returns an `AdvancedCriteria`.
    `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()` Causes filtering to be performed against the local data set, even when a `dataSource` is provided.
    `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.String` | `getFilterUsingText()` Text for the menu item shown in the `headerContextMenu` when `allowFilterOperators` is enabled.
    `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.
    `protected Canvas` | `getFrozenRollOverCanvas(java.lang.Integer rowNum, java.lang.Integer colNum)` For grids with frozen columns, this method is called to retrieve the `frozenRollOverCanvas` when the user moves over a new row or cell if `showRollOverCanvas` is true, or when the user moves over the selected record if `showSelectedRollOverCanvas` is true.
    `protected Canvas` | `getFrozenRollUnderCanvas(java.lang.Integer rowNum, java.lang.Integer colNum)` For grids with frozen columns, this method is called to retrieve the `frozenRollUnderCanvas` when `showing a rollUnder canvas` or showing a `rollUnder canvas for the selected record`.
    `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 `ListGridField.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.
    `int` | `getGroupedRecordIndex(ListGridRecord record)` Returns the true row index for a grouped record excluding group and summary records.
    `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.
    `ListGridRecord[]` | `getGroupMembers(GroupNode node, boolean recordsOnly)` For a `grouped` grid, returns all the direct children of the supplied node in the `groupTree` if `recordsOnly` false.
    `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, GroupNode 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.
    `ListGridRecord[]` | `getGroupSummaryData(Record[] records, GroupNode groupNode, java.lang.Boolean recalculate)` If this grid is `grouped`, and `showGroupSummary` is true, this method will return the group summary data displayed at the end of the group.
    `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.
    `ListGridRecord[]` | `getGroupSummaryData(Record[] records, Record groupNode, java.lang.Boolean recalculate)` 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()` `ListGridRecord.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()` The data tree that results from a call to `groupBy()`.
    `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()` `Button.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`
    `java.lang.String` | `getHeaderShadowColor()` If `showHeaderShadow` is true, the `Canvas.shadowColor` for the header shadow.
    `int` | `getHeaderShadowHOffset()` If `showHeaderShadow` is true, the `Canvas.shadowHOffset` for the header shadow
    `int` | `getHeaderShadowSoftness()` If `showHeaderShadow` is true, the `Canvas.shadowSoftness` for the header shadow
    `int` | `getHeaderShadowVOffset()` If `showHeaderShadow` is true, the `Canvas.shadowVOffset` for the header shadow
    `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()` `StretchImgButton.titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `java.lang.Boolean` | `getHideEmptySummaryRow()` If true, causes the `summaryRow` component to be hidden if it has no data after summaries have been recalculated
    `java.lang.Boolean` | `getHiliteCanReplaceValue()` If set, end users can create advanced hiliting rules that will use the `Hilite.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.
    `Criteria` | `getImplicitCriteria()` Criteria that are never shown to or edited by the user and are cumulative with any criteria provided via `DataBoundComponent.initialCriteria`, `DataBoundComponent.setCriteria()` etc.
    `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 `DataSourceField.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 `DataSourceField.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.
    `int` | `getMinHeight()` Minimum height for the entire list (smaller than this doesn't tend to work very well).
    `int` | `getMinimumCellHeight()` Minimum height for ListGrid cells, settable by the skin, based on the size of the checkbox media used for boolean fields plus minimal surrounding padding.
    `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.
    `MultiGroupDialog` | `getMultiGroupDialogDefaults()` Class-level defaults to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
    `MultiGroupDialog` | `getMultiGroupDialogProperties()` Properties to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
    `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.
    `FormItemIcon` | `getOperatorIcon()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `static ListGrid` | `getOrCreateRef(com.google.gwt.core.client.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.
    `Overflow` | `getOverflow()` Since `body` is configured with overflow: auto by default, no overflow is expected for the `ListGrid` itself so by default it has overflow: hidden.
    `java.lang.Boolean` | `getPoolComponentsPerColumn()` Should recycled `record components`, be pooled per column or per record.
    `java.lang.Boolean` | `getPreserveWhitespace()` Should cells be written out with css that will preserve whitespace?
    `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`.
    `com.google.gwt.core.client.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()` `operationId` 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 `ListGridField.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)` This method is called to retrieve the `rollOverCanvas` when the user moves over a new row or cell if `showRollOverCanvas` is true, or when the user moves over the selected record if `showSelectedRollOverCanvas` is true.
    `protected Canvas` | `getRollUnderCanvas(java.lang.Integer rowNum, java.lang.Integer colNum)` This method is called to retrieve the `rollUnderCanvas` when the user moves over a new row or cell if `showing a rollUnder canvas` or showing a `rollUnder canvas for the selected record`.
    `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 cause the grid directly update its local data set instead of performing an operation against it's configured DataSource.
    `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.
    `java.lang.Boolean` | `getSelectCellTextOnClick()` If this property is set to true, clicking on a cell will natively select the cell's content, ready to be copied to the browser clipboard.
    `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 `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?
    `boolean` | `getSelectOnExpandRecord()` When set to false, clicking a record's `expansion field` will not add the record to the current selection.
    `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`.
    `boolean` | `getShowEllipsisWhenClipped()` Should ellipses be displayed when cell content is clipped? May be overridden at the field level via `ListGridField.showEllipsisWhenClipped`
    `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.
    `boolean` | `getShowGroupTitleInFrozenBody()` If this is `grouped` and has `frozen fields`, should the group title show in the frozen or unfrozen body?
    `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` | `getShowHeaderPartialSelection()` Should partial selection of all records be shown in header with a special icon? The partial icon will show in the header when `canSelectAll` is enabled and at least one record is selected but all records are not selected.
    `java.lang.Boolean` | `getShowHeaderShadow()` Should the header show a drop-shadow? Shadow will be applied to the header, or for a grid with frozen columns, the header layout.
    `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, `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 we show different styling for the cell the mouse is over?
    `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` | `getShowRollOverInExpansion()` This setting causes the `roll over canvas` to be sized to cover the normal row and the expansion layout.
    `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` | `getShowSelectedRollOverCanvas()` This setting causes the `roll over canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records).
    `java.lang.Boolean` | `getShowSelectedRollUnderCanvas()` This setting causes the `roll under canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records).
    `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.
    `int` | `getSortArrowMenuButtonSpaceOffset()` When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort arrow if sorting is active for that field and the arrow will be shown.
    `ImgProperties` | `getSortAscendingImage()` Image to show when sorting ascending.
    `boolean` | `getSortBinaryByFileName()` For any fields of `type "binary"`, should sorting be performed against the fileName of the value for the field? For Smart GWT server backed dataSources, this is applied to the record automatically as described in the `BinaryFields` overview.
    `java.lang.Boolean` | `getSortByGroupFirst()` If set, whenever grouping is performed by an end user or by a programmatic call to `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.
    `int` | `getSortNumeralMenuButtonSpaceOffset()` When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort numeral if `multi-sorting` is active for that field and the numeral will be shown.
    `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.String` | `getSpannedHeaderBaseStyle()` `Button.baseStyle` to apply to the field header buttons for this ListGrid when showing header spans.
    `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 `getGridSummary()` and `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.
    `java.lang.Integer` | `getTouchScrollRedrawDelay()` While scrolling an incrementally rendered grid, using the inertial scrolling, time in milliseconds to wait before redrawing, after the last touchScroll by the user.
    `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 `markRecordRemoved()`.
    `java.lang.String` | `getUpdateOperation()` `operationId` this component should use when performing update operations.
    `java.lang.Boolean` | `getUseAdvancedCriteria()` Should the `filter-editor` in this grid always produce `AdvancedCriteria`?
    `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 `getRowSpan()` has been overridden 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 `ListGridField.displayField` specified and has no `ListGridField.optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `ListGridField.optionDataSource`).
    `java.lang.Boolean` | `getWrapCells()` Should content within cells be allowed to wrap?
    `java.lang.Boolean` | `getWrapHeaderSpanTitles()` If `HeaderSpan.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
    `java.lang.Boolean` | `getWrapHeaderTitles()` If `ListGridField.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
    `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` | `isExportingClientData()` Returns true if this component is currently `exporting client data`.
    `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 `TreeGrid.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.
    `boolean` | `isSummaryRecord(ListGridRecord record)` Returns whether the supplied record is a group or grid summary record.
    `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 `saveEdits()` or `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 `saveEdits()` or `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 `saveEdits()` or `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 `saveEdits()` or `saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.
    `void` | `markSelectionRemoved()` Marks the currently selected records as removed, as though `markRecordRemoved()` had been called.
    `protected void` | `onInit_ListGrid()`
    `protected void` | `onInit()`
    `boolean` | `openGroup(Record record)` Opens the node represented by the "record" parameter, if it is a folder and is not already open.
    `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 `markRecordRemoved()`
    `void` | `redrawHeader(boolean rightNow)` Redraw just the `grid header`
    `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` | `refreshData()` Unlike `invalidateCache` this will perform an asynchronous (background) refresh of this component's data and then call the provided callback method on completion.
    `void` | `refreshData(DSCallback callback)` Unlike `invalidateCache` this will perform an asynchronous (background) refresh of this component's data and then call the provided callback method on completion.
    `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` | `regroup()` Programmatically regroup the grid according to the current grouping configuration.
    `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 `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 center 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 center 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)` `operationId` 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 `DynamicForm.allowExpressions` were true.
    `void` | `setAllowFilterOperators(java.lang.Boolean allowFilterOperators)` Causes a menu item titled `"Filter using"` to appear in the `headerContextMenu` that allows the end user to pick an advanced `search operator` to use for this field.
    `void` | `setAllowRowSpanning(java.lang.Boolean allowRowSpanning)` Should cells in this grid be allowed to span multiple rows? If set to `true`, the `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 (or blocks of columns, depending on `GridRenderer.alternateColumnFrequency`) should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading.
    `void` | `setAlternateFieldSuffix(java.lang.String alternateFieldSuffix)` Suffix to append to `alternate columns`.
    `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 (or blocks of rows, depending on `GridRenderer.alternateRowFrequency`) should be drawn in alternating styles, in order to create a "ledger" effect for easier reading.
    `void` | `setAlternateRecordSuffix(java.lang.String alternateRecordSuffix)` Suffix to append to `alternate rows`.
    `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` | `setAlwaysShowOperatorIcon(java.lang.Boolean alwaysShowOperatorIcon)` When `allowFilterOperators` is enabled, whether to show the `operatorIcon` for all filterable fields, or only for fields where the user has explicitly chosen a search operator different from the default operator for the field.
    `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 `TreeGrid.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 `ListGridField.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` | `setAutoChildProperties(java.lang.String autoChildName, ListGridField properties)` Sets the properties for creating a `ListGridField` AutoChild named `autoChildName`.
    `void` | `setAutoComplete(AutoComplete autoComplete)` Whether to do inline autoComplete in text fields during inline editing Overridden by `ListGridField.autoComplete` if specified.
    `void` | `setAutoConfirmSaveEdits(java.lang.Boolean autoConfirmSaveEdits)` For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded by default.
    `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 `ListGridField.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 `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` | `setAutoFitDateFields(AutoFitWidthApproach autoFitDateFields)` Should listGrids automatically size date fields to fit their values or titles? If set to `"value"`, fields of type date will be rendered at the size specified by `defaultDateFieldWidth`, (or `defaultEditableDateFieldWidth` for editable 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"`, setting this property will cause the ListGrid body to size large enough to accomodate the actual data and also leave this many extra rows' worth of blank space below the last record.
    `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 user-driven auto fit of fields is enabled via `ListGridField.canAutoFitWidth` or `canAutoFitFields`, 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 `autoFitField()`.
    `void` | `setAutoFitFieldWidths(java.lang.Boolean autoFitFieldWidths)` Should ListGrid fields autofit their widths to titles or content? This property may be overridden on a per-field basis via `ListGridField.autoFitWidth`.
    `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` | `setAutoFitMaxWidth(java.lang.String 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` | `setAutoFitTimeFields(AutoFitWidthApproach autoFitTimeFields)` Should listGrids automatically size time fields to fit their values or titles? If set to `"value"`, fields of type time will be rendered at the size specified by `defaultTimeFieldWidth`.
    `void` | `setAutoFitWidth(java.lang.String fieldName, boolean autoFit)` Setter for `ListGridField.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)` Can the user perform one-time autofit for specific columns in this grid?
    `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, ready to be cliped to clipboard. This is mutually exclusive with `rearranging rows or cells by dragging`, and with `drag selection of 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 unless a custom override of `canEditCell()` allows it. 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 `removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `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` | `setCanSelectRecordCustomizer(CanSelectRecordCustomizer customizer)` This customizer is called to determine whether a given record can be selected in this grid.
    `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` | `setDataFetchDelay(java.lang.Integer dataFetchDelay)` Delay in milliseconds before fetching 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)` The DataSource that this component should bind to for default fields and for performing `DataSource requests`.
    `void` | `setDataSource(DataSource dataSource, ListGridField... fields)` Bind to a DataSource.
    `void` | `setDataSource(java.lang.String dataSource)` The DataSource that this component should bind to for default fields and for performing `DataSource requests`.
    `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` | `setDeepCloneOnEdit(java.lang.Boolean deepCloneOnEdit)` Before we start editing values in this DataBoundComponent, should we perform a deep clone of the underlying values.
    `void` | `setDefaultDateFieldWidth(java.lang.Integer defaultDateFieldWidth)` Default width for date type fields.
    `void` | `setDefaultDateTimeFieldWidth(java.lang.Integer defaultDateTimeFieldWidth)` Default width for datetime type fields.
    `void` | `setDefaultEditableDateFieldWidth(java.lang.Integer defaultEditableDateFieldWidth)` Default width for editable date type fields.
    `void` | `setDefaultEditableDateTimeFieldWidth(java.lang.Integer defaultEditableDateTimeFieldWidth)` Default width for editable datetime type fields.
    `void` | `setDefaultFields(ListGridField... defaultFields)` An array of listGrid field configuration objects.
    `void` | `setDefaultFieldWidthCustomizer(DefaultFieldWidthCustomizer customizer)` Method to calculate and return the default width of a field.
    `void` | `setDefaultFilterOperator(OperatorId defaultFilterOperator)` Default `filter operator` to use for text-based fields in this grid's `filter editor`, when producing `AdvancedCriteria`.
    `void` | `setDefaultFilterOperatorSuffix(java.lang.String defaultFilterOperatorSuffix)` Text to show after the name of the default filterOperator in the `headerContextMenu` when `allowFilterOperators` is enabled.
    `static void` | `setDefaultProperties(ListGrid listGridProperties)` Class level method to set the default properties of this class.
    `void` | `setDefaultTimeFieldWidth(java.lang.Integer defaultTimeFieldWidth)` Default width for time type fields.
    `void` | `setDeferRemoval(java.lang.Boolean deferRemoval)` When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `markRecordRemoved()` instead of immediately being removed.
    `void` | `setDeselectOnPartialCheckboxClick(java.lang.Boolean deselectOnPartialCheckboxClick)` Should partially selected checkbox be deselected or selected on click? This setting affects `header selection checkbox`, `group\n checkboxes` and folder checkbox selection in a Tree data set.
    `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` | `setDragDataCustomizer(DragDataCustomizer customizer)` During a drag-and-drop interaction, this method returns the set of records being dragged out of the component.
    `void` | `setDragScrollRedrawDelay(int dragScrollRedrawDelay)` Like `scrollRedrawDelay`, but applies when the component is being drag-scrolled (via a scrollbar).
    `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` | `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` | `setEditSelectionType(SelectionStyle editSelectionType)` If `selectOnEdit` is true, what should be the edit-selection behavior be?
    `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.lang.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, java.lang.Integer value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, com.google.gwt.core.client.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.lang.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, java.lang.Integer value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, com.google.gwt.core.client.JavaScriptObject value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, java.lang.String fieldName, java.lang.Object 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` | `setExpansionFieldImageShowSelected(boolean expansionFieldImageShowSelected)` Should a "_selected" suffix be added to the `expansionFieldTrueImage` and `expansionFieldFalseImage` image URLs for selected rows?
    `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 `exportData()` or `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 `exportData()` or `exportClientData()`, whether widths of fields should be replicated in the resulting spreadsheet.
    `void` | `setExportHeaderHeights(boolean exportHeaderHeights)` When exporting data to Excel/OpenOffice format using `exportData()` or `exportClientData()`, causes the `headerHeight` and `headerSpan heights` to be applied to the corresponding cells in the spreadsheet.
    `void` | `setExportIncludeSummaries(java.lang.Boolean exportIncludeSummaries)` If Summary rows exist for this component, whether to include them when exporting client data.
    `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 `exportData()` or `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 `ListGridField.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 `ListGridField.headerBaseStyle` for a field within the grid at runtime.
    `void` | `setFieldHeaderTitleStyle(java.lang.String name, java.lang.String newStyle)` Update the `ListGridField.headerTitleStyle` for a field within the grid at runtime.
    `void` | `setFieldIcon(java.lang.String fieldName, java.lang.String icon)` Change the `ListGridField.icon` for a field after the grid is created
    `void` | `setFieldMaxWidth(int fieldNum, int width)` Updates `ListGridField.maxWidth` for the specified field and redraws the associated column if required.
    `void` | `setFieldMinWidth(int fieldNum, int width)` Updates `ListGridField.minWidth` for the specified field and redraws the associated column if required.
    `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` | `setFieldProperties(java.lang.String fieldNum, ListGridField properties)` Dynamically set properties for a particular field.
    `void` | `setFields(com.google.gwt.core.client.JavaScriptObject... fields)` Field setter variant (alternative to `setFields(FormItem...)`, `setFields(ListGridField...)`, etc.) that will accept an array of JavaScriptObject, rather than an array of SmartGWT Java wrappers of the field class type (e.g.
    `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 fieldNum, java.lang.String title)` Change the title of a field after the grid is created.
    `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)` Causes filtering to be performed against the local data set, even when a `dataSource` is provided.
    `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` | `setFilterUsingText(java.lang.String filterUsingText)` Text for the menu item shown in the `headerContextMenu` when `allowFilterOperators` is enabled.
    `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)` `ListGridRecord.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)` `Button.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` | `setHeaderShadowColor(java.lang.String headerShadowColor)` If `showHeaderShadow` is true, the `Canvas.shadowColor` for the header shadow.
    `void` | `setHeaderShadowHOffset(int headerShadowHOffset)` If `showHeaderShadow` is true, the `Canvas.shadowHOffset` for the header shadow
    `void` | `setHeaderShadowSoftness(int headerShadowSoftness)` If `showHeaderShadow` is true, the `Canvas.shadowSoftness` for the header shadow
    `void` | `setHeaderShadowVOffset(int headerShadowVOffset)` If `showHeaderShadow` is true, the `Canvas.shadowVOffset` for the header shadow
    `void` | `setHeaderSpanBaseStyle(java.lang.String name, java.lang.String newStyle)` Update the `HeaderSpan.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 `HeaderSpan.headerTitleStyle` for a span within the grid at runtime.
    `void` | `setHeaderTitleStyle(java.lang.String headerTitleStyle)` `StretchImgButton.titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `void` | `setHideEmptySummaryRow(java.lang.Boolean hideEmptySummaryRow)` If true, causes the `summaryRow` component to be hidden if it has no data after summaries have been recalculated
    `void` | `setHiliteCanReplaceValue(java.lang.Boolean hiliteCanReplaceValue)` If set, end users can create advanced hiliting rules that will use the `Hilite.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` | `setImplicitCriteria(Criteria implicitCriteria)` Criteria that are never shown to or edited by the user and are cumulative with any criteria provided via `DataBoundComponent.initialCriteria`, `DataBoundComponent.setCriteria()` etc.
    `void` | `setInactiveCellFormatter(CellFormatter formatter)` Formatter for inactive content.
    `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 `ListGridField.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 `DataSourceField.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 `DataSourceField.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` | `setMinHeight(int minHeight)` Minimum height for the entire list (smaller than this doesn't tend to work very well).
    `void` | `setMinimumCellHeight(int minimumCellHeight)` Minimum height for ListGrid cells, settable by the skin, based on the size of the checkbox media used for boolean fields plus minimal surrounding padding.
    `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` | `setMultiGroupDialogDefaults(MultiGroupDialog multiGroupDialogDefaults)` Class-level defaults to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
    `void` | `setMultiGroupDialogProperties(MultiGroupDialog multiGroupDialogProperties)` Properties to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
    `void` | `setMultiSortDialogDefaults(MultiSortDialog multiSortDialogDefaults)` Class level defaults to apply to the `MultiSortDialog` which gets automatically generated when askForSort() is called.
    `void` | `setMultiSortDialogProperties(MultiSortDialog multiSortDialogProperties)` Properties to apply to the `MultiSortDialog` which gets automatically generated when askForSort() is called.
    `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` | `setOverflow(Overflow overflow)` Since `body` is configured with overflow: auto by default, no overflow is expected for the `ListGrid` itself so by default it has overflow: hidden.
    `void` | `setPoolComponentsPerColumn(java.lang.Boolean poolComponentsPerColumn)` Should recycled `record components`, be pooled per column or per record.
    `void` | `setPreserveWhitespace(java.lang.Boolean preserveWhitespace)` Should cells be written out with css that will preserve whitespace?
    `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)` `operationId` 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 `ListGridField.cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?
    `void` | `setRollOverCanvasProperties(Canvas rollOverCanvasProperties)` Properties to apply to the auto-generated `rollOverCanvas` AutoChild when its use is enabled.
    `void` | `setRollUnderCanvasProperties(Canvas rollUnderCanvasProperties)` Properties to apply to the auto-generated `rollUnderCanvas` AutoChild when its use is enabled.
    `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 cause the grid directly update its local data set instead of performing an operation against it's configured DataSource.
    `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` | `setSelectCellTextOnClick(java.lang.Boolean selectCellTextOnClick)` If this property is set to true, clicking on a cell will natively select the cell's content, ready to be copied to the browser clipboard.
    `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 `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 `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)` Properties to apply to the auto-generated `selectionCanvas` AutoChild when its use is enabled.
    `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)` Properties to apply to the auto-generated `selectionUnderCanvas` AutoChild when its use is enabled.
    `void` | `setSelectOnEdit(java.lang.Boolean selectOnEdit)` When the user starts editing a row, should the row also be selected?
    `void` | `setSelectOnExpandRecord(boolean selectOnExpandRecord)` When set to false, clicking a record's `expansion field` will not add the record to the current selection.
    `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` | `setShowEllipsisWhenClipped(boolean showEllipsisWhenClipped)` Should ellipses be displayed when cell content is clipped? May be overridden at the field level via `ListGridField.showEllipsisWhenClipped`
    `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` | `setShowGroupTitleInFrozenBody(boolean showGroupTitleInFrozenBody)` If this is `grouped` and has `frozen fields`, should the group title show in the frozen or unfrozen body?
    `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` | `setShowHeaderPartialSelection(java.lang.Boolean showHeaderPartialSelection)` Should partial selection of all records be shown in header with a special icon? The partial icon will show in the header when `canSelectAll` is enabled and at least one record is selected but all records are not selected.
    `void` | `setShowHeaderShadow(java.lang.Boolean showHeaderShadow)` Should the header show a drop-shadow? Shadow will be applied to the header, or for a grid with frozen columns, the header layout.
    `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, `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 we show different styling for the cell the mouse is over?
    `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` | `setShowRollOverInExpansion(java.lang.Boolean showRollOverInExpansion)` This setting causes the `roll over canvas` to be sized to cover the normal row and the expansion layout.
    `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` | `setShowSelectedRollOverCanvas(java.lang.Boolean showSelectedRollOverCanvas)` This setting causes the `roll over canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records).
    `void` | `setShowSelectedRollUnderCanvas(java.lang.Boolean showSelectedRollUnderCanvas)` This setting causes the `roll under canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records).
    `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` | `setSortArrowMenuButtonSpaceOffset(int sortArrowMenuButtonSpaceOffset)` When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort arrow if sorting is active for that field and the arrow will be shown.
    `void` | `setSortAscendingImage(ImgProperties sortAscendingImage)` Image to show when sorting ascending.
    `void` | `setSortBinaryByFileName(boolean sortBinaryByFileName)` For any fields of `type "binary"`, should sorting be performed against the fileName of the value for the field? For Smart GWT server backed dataSources, this is applied to the record automatically as described in the `BinaryFields` overview.
    `void` | `setSortByGroupFirst(java.lang.Boolean sortByGroupFirst)` If set, whenever grouping is performed by an end user or by a programmatic call to `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` | `setSortNumeralHTMLCustomizer(SortNumeralHTMLCustomizer customizer)` This customizer is called to generate the HTML for the sortNumeral displayed next to a field's title when it is included in the current sort specification.
    `void` | `setSortNumeralMenuButtonSpaceOffset(int sortNumeralMenuButtonSpaceOffset)` When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort numeral if `multi-sorting` is active for that field and the numeral will be shown.
    `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` | `setSpannedHeaderBaseStyle(java.lang.String spannedHeaderBaseStyle)` `Button.baseStyle` to apply to the field header buttons for this ListGrid when showing header spans.
    `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 `getGridSummary()` and `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` | `setTouchScrollRedrawDelay(java.lang.Integer touchScrollRedrawDelay)` While scrolling an incrementally rendered grid, using the inertial scrolling, time in milliseconds to wait before redrawing, after the last touchScroll by the user.
    `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 `markRecordRemoved()`.
    `void` | `setUpdateOperation(java.lang.String updateOperation)` `operationId` this component should use when performing update operations.
    `void` | `setUseAdvancedCriteria(java.lang.Boolean useAdvancedCriteria)` Should the `filter-editor` in this grid always produce `AdvancedCriteria`?
    `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` | `setUserFormula(ListGridField field)` Updates the user formula of the supplied field.
    `void` | `setUserFormula(ListGridField field, UserFormula userFormula)` Updates the user formula of the supplied field.
    `void` | `setUserFormula(java.lang.String field)` Updates the user formula of the supplied field.
    `void` | `setUserFormulaText(ListGridField field)` Updates the user formula text of the supplied field.
    `void` | `setUserFormulaText(ListGridField field, java.lang.String text)` Updates the user formula text of the supplied field.
    `void` | `setUserFormulaText(java.lang.String field)` Updates the user formula text of the supplied field.
    `void` | `setUseRowSpanStyling(java.lang.Boolean useRowSpanStyling)` Enables various styling behaviors that potentially make sense when `getRowSpan()` has been overridden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right.
    `void` | `setUserSummary(ListGridField field)` Updates the user summary of the supplied field.
    `void` | `setUserSummary(ListGridField field, UserSummary userSummary)` Updates the user summary of the supplied field.
    `void` | `setUserSummary(java.lang.String field)` Updates the user summary of the supplied field.
    `void` | `setUserSummaryText(ListGridField field)` Updates the user summary text of the supplied field.
    `void` | `setUserSummaryText(ListGridField field, java.lang.String text)` Updates the user summary text of the supplied field.
    `void` | `setUserSummaryText(java.lang.String field)` Updates the user summary text of the supplied field.
    `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 `ListGridField.displayField` specified and has no `ListGridField.optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `ListGridField.optionDataSource`).
    `void` | `setWrapCells(java.lang.Boolean wrapCells)` Should content within cells be allowed to wrap?
    `void` | `setWrapHeaderSpanTitles(java.lang.Boolean wrapHeaderSpanTitles)` If `HeaderSpan.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
    `void` | `setWrapHeaderTitles(java.lang.Boolean wrapHeaderTitles)` If `ListGridField.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
    `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 `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 `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, getChildTabPosition, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutEndMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutStartMargin, getLayoutTopMargin, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersLength, getMembersMargin, getMinMemberLength, getMinMemberSize, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, layoutIsDirty, onInit_Layout, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, revealChild, revealChild, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutEndMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutStartMargin, setLayoutTopMargin, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinBreadthMember, setMinBreadthMember, setMinBreadthMember, setMinMemberLength, setMinMemberSize, 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, addClearHandler, 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, addRuleContextChangedHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateHide, 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, animateShow, asSGWTComponent, blur, bringToFront, clear, clearExplicitTabIndex, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusAfterGroup, focusAtEnd, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAdaptiveHeightPriority, getAdaptiveWidthPriority, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideEffect, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoParent, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanAdaptHeight, getCanAdaptWidth, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCorrectZoomOverflow, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragMaxHeight, getDragMaxWidth, getDragMinHeight, getDragMinWidth, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEnableWhen, getEndLine, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverAutoFitMaxWidth, getHoverAutoFitMaxWidthAsString, getHoverAutoFitWidth, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsRuleScope, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocalId, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMaxZoomOverflowError, getMenuConstructor, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPaletteDefaults, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getRuleContext, getRuleContext, getRuleScope, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowColor, getShadowDepth, getShadowHOffset, getShadowImage, getShadowOffset, getShadowSoftness, getShadowSpread, getShadowVOffset, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSizeMayChangeOnRedraw, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStartLine, getTabIndex, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUpdateTabPositionOnDraw, getUpdateTabPositionOnReparent, getUseBackMask, getUseCSSShadow, getUseDragMask, getUseImageForSVG, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getValuesManagerAsString, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWhen, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, printComponents, provideRuleContext, provideRuleContext, redraw, redraw, removeChild, removeChild, removePeer, removePeer, removeSnapAlignCandidate, resizeAutoChildAttributes, resizeBy, resizeControls, resizeFonts, resizeFonts, resizeFonts, resizeIcons, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAdaptHeightByCustomizer, setAdaptiveHeightPriority, setAdaptiveWidthPriority, setAdaptWidthByCustomizer, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideEffect, 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, setAutoParent, setAutoResizeAutoChildAttributes, setAutoResizeIcons, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanAdaptHeight, setCanAdaptWidth, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCorrectZoomOverflow, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragMaxHeight, setDragMaxWidth, setDragMinHeight, setDragMinWidth, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setEnableWhen, setEndLine, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverAutoFitMaxWidth, setHoverAutoFitMaxWidth, setHoverAutoFitWidth, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsRuleScope, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMaxZoomOverflowError, setMenuConstructor, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setPanelContainer, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setRelativeTabPosition, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setRuleScope, setScrollbarConstructor, setScrollbarSize, setShadowColor, setShadowDepth, setShadowHOffset, setShadowImage, setShadowOffset, setShadowSoftness, setShadowSpread, setShadowVOffset, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSizeMayChangeOnRedraw, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStartLine, setTabIndex, setTitle, setTooltip, setTop, setTop, setUpdateTabPositionOnDraw, setUpdateTabPositionOnReparent, setUseBackMask, setUseCSSShadow, setUseDragMask, setUseImageForSVG, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setValuesManager, setVisibility, setVisible, setVisibleWhen, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateChildTabPosition, updateChildTabPositions, updateEditNode, updateHover, updateHover, updateShadow, updateTabPositionForDraw, visibleAtPoint`

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

      `addDrawHandler, applyFactoryProperties, completeCreation, 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, isDrawn, 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, setDefaultProperties, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, 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, unsinkEvents`

    - ### 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`

    - ### 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(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### ListGrid

          public ListGrid(DataSource dataSource)

  - ### Method Detail

    - #### getOrCreateRef

          public static ListGrid getOrCreateRef(com.google.gwt.core.client.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. For usage tips on this param, see `SGWTProperties`.
      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. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### create

          protected com.google.gwt.core.client.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` - New advancedFieldPickerThreshold value. 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:
        Current advancedFieldPickerThreshold value. Default value is 25

    - #### 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 `DynamicForm.allowExpressions` were true.

      This attribute can also be set at the `field level`.

      Parameters:
        `allowFilterExpressions` - New allowFilterExpressions value. 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 `DynamicForm.allowExpressions` were true.

      This attribute can also be set at the `field level`.

      Returns:
        Current allowFilterExpressions value. Default value is null

    - #### setAllowFilterOperators

          public void setAllowFilterOperators(java.lang.Boolean allowFilterOperators)
                                       throws java.lang.IllegalStateException

      Causes a menu item titled `"Filter using"` to appear in the `headerContextMenu` that allows the end user to pick an advanced `search operator` to use for this field.

      Once an operator has been chosen, the active operator is indicated by an `operatorIcon` placed within the field (you can alternatively cause the icon to `always be present`). The `operatorIcon` shows the same textual representation of the search operator as is used by the `FormItem.allowExpressions` feature. Clicking on the icon provides a second way to modify the search operator.

      This feature is enabled by default if `DataSource.supportsAdvancedCriteria()` is true, for all fields where it is normally possible to filter by typing in a search string. This excludes field types such as "date" or "boolean" which show specialized filter controls. Use `ListGridField.allowFilterOperators` to disable this interface for individual fields, or set `DataSourceField.canFilter` to false to disallow filtering entirely for a field.

      Note that this feature is similar to `allowFilterExpressions`, which allows the end users to directly type in characters such as ">" to control filtering. `allowFilterOperators` is easier to use and more discoverable than `allowFilterExpressions`, and also avoids the drawback where special characters like ">" cannot be used in filter values. However, `allowFilterExpressions` allows users to make use of certain operators that `allowFilterOperators` does not support, such as using the "betweenInclusive" operator by typing "5...10".

      When both `allowfilterExpressions` and `allowFilterOperators` are set, filter expressions entered in to the edit-area are parsed and the operator automatically applied to the `operatorIcon`.

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

    - #### getAllowFilterOperators

          public java.lang.Boolean getAllowFilterOperators()

      Causes a menu item titled `"Filter using"` to appear in the `headerContextMenu` that allows the end user to pick an advanced `search operator` to use for this field.

      Once an operator has been chosen, the active operator is indicated by an `operatorIcon` placed within the field (you can alternatively cause the icon to `always be present`). The `operatorIcon` shows the same textual representation of the search operator as is used by the `FormItem.allowExpressions` feature. Clicking on the icon provides a second way to modify the search operator.

      This feature is enabled by default if `DataSource.supportsAdvancedCriteria()` is true, for all fields where it is normally possible to filter by typing in a search string. This excludes field types such as "date" or "boolean" which show specialized filter controls. Use `ListGridField.allowFilterOperators` to disable this interface for individual fields, or set `DataSourceField.canFilter` to false to disallow filtering entirely for a field.

      Note that this feature is similar to `allowFilterExpressions`, which allows the end users to directly type in characters such as ">" to control filtering. `allowFilterOperators` is easier to use and more discoverable than `allowFilterExpressions`, and also avoids the drawback where special characters like ">" cannot be used in filter values. However, `allowFilterExpressions` allows users to make use of certain operators that `allowFilterOperators` does not support, such as using the "betweenInclusive" operator by typing "5...10".

      When both `allowfilterExpressions` and `allowFilterOperators` are set, filter expressions entered in to the edit-area are parsed and the operator automatically applied to the `operatorIcon`.

      Returns:
        Current allowFilterOperators value. Default value is null

    - #### 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 `getRowSpan()` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.

      See `getRowSpan()` for more details

      Parameters:
        `allowRowSpanning` - New allowRowSpanning value. 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 `getRowSpan()` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.

      See `getRowSpan()` for more details

      Returns:
        Current allowRowSpanning value. Default value is false

    - #### 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. Default value is null
      See Also:
        `CSSStyleName`

    - #### 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:
        Current alternateBodyStyleName value. Default value is null
      See Also:
        `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` - New alternateFieldFrequency value. 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:
        Current alternateFieldFrequency value. Default value is 1

    - #### setAlternateFieldStyles

          public void setAlternateFieldStyles(boolean alternateFieldStyles)

      Whether alternating columns (or blocks of columns, depending on `GridRenderer.alternateColumnFrequency`) should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading.

      If enabled, the cell style for alternate rows will have the `GridRenderer.alternateColumnSuffix` appended to it. See also `GridRenderer.alternateRowStyles`.

      Parameters:
        `alternateFieldStyles` - New alternateFieldStyles value. Default value is false

    - #### getAlternateFieldStyles

          public boolean getAlternateFieldStyles()

      Whether alternating columns (or blocks of columns, depending on `GridRenderer.alternateColumnFrequency`) should be drawn in alternating styles, in order to create a vertical "ledger" effect for easier reading.

      If enabled, the cell style for alternate rows will have the `GridRenderer.alternateColumnSuffix` appended to it. See also `GridRenderer.alternateRowStyles`.

      Returns:
        Current alternateFieldStyles value. Default value is false

    - #### setAlternateFieldSuffix

          public void setAlternateFieldSuffix(java.lang.String alternateFieldSuffix)

      Suffix to append to `alternate columns`. Note that if `GridRenderer.alternateRowStyles` is enabled, cells which fall into both an alternate row and column will have both suffixes appended - for example `"cellDarkAltCol"`.
      Parameters:
        `alternateFieldSuffix` - New alternateFieldSuffix value. Default value is "AltCol"

    - #### getAlternateFieldSuffix

          public java.lang.String getAlternateFieldSuffix()

      Suffix to append to `alternate columns`. Note that if `GridRenderer.alternateRowStyles` is enabled, cells which fall into both an alternate row and column will have both suffixes appended - for example `"cellDarkAltCol"`.
      Returns:
        Current alternateFieldSuffix value. Default value is "AltCol"

    - #### 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` - New alternateRecordFrequency value. 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:
        Current alternateRecordFrequency value. Default value is 1

    - #### setAlternateRecordStyles

          public void setAlternateRecordStyles(java.lang.Boolean alternateRecordStyles)

      Whether alternating rows (or blocks of rows, depending on `GridRenderer.alternateRowFrequency`) 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 the `GridRenderer.alternateRowSuffix` appended to it. See also `GridRenderer.alternateColumnStyles`.
      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 (or blocks of rows, depending on `GridRenderer.alternateRowFrequency`) 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 the `GridRenderer.alternateRowSuffix` appended to it. See also `GridRenderer.alternateColumnStyles`.

      Returns:
        Current alternateRecordStyles value. Default value is false
      See Also:
        Grid cells Example

    - #### setAlternateRecordSuffix

          public void setAlternateRecordSuffix(java.lang.String alternateRecordSuffix)

      Suffix to append to `alternate rows`. Note that if `GridRenderer.alternateColumnStyles` is enabled, cells which fall into both an alternate row and column will have both suffixes appended - for example `"cellDarkAltCol"`.
      Parameters:
        `alternateRecordSuffix` - New alternateRecordSuffix value. Default value is "Dark"
      See Also:
        Grid cells Example

    - #### getAlternateRecordSuffix

          public java.lang.String getAlternateRecordSuffix()

      Suffix to append to `alternate rows`. Note that if `GridRenderer.alternateColumnStyles` is enabled, cells which fall into both an alternate row and column will have both suffixes appended - for example `"cellDarkAltCol"`.
      Returns:
        Current alternateRecordSuffix value. Default value is "Dark"
      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` - New alwaysShowEditors value. 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:
        Current alwaysShowEditors value. Default value is null
      See Also:
        `Editing overview and related methods`

    - #### setAlwaysShowOperatorIcon

          public void setAlwaysShowOperatorIcon(java.lang.Boolean alwaysShowOperatorIcon)
                                         throws java.lang.IllegalStateException

      When `allowFilterOperators` is enabled, whether to show the `operatorIcon` for all filterable fields, or only for fields where the user has explicitly chosen a search operator different from the default operator for the field.

      The default operator for a field is determined by `autoFetchTextMatchStyle` or by setting `ListGridField.filterOperator` for a specific field.

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

    - #### getAlwaysShowOperatorIcon

          public java.lang.Boolean getAlwaysShowOperatorIcon()

      When `allowFilterOperators` is enabled, whether to show the `operatorIcon` for all filterable fields, or only for fields where the user has explicitly chosen a search operator different from the default operator for the field.

      The default operator for a field is determined by `autoFetchTextMatchStyle` or by setting `ListGridField.filterOperator` for a specific field.

      Returns:
        Current alwaysShowOperatorIcon value. Default value is null

    - #### 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` - New animateFolderEffect value. 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:
        Current animateFolderEffect value. Default value is null

    - #### 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` - New animateFolderMaxRows value. 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:
        Current animateFolderMaxRows value. Default value is null
      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` - New animateFolders value. 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:
        Current animateFolders value. Default value is true

    - #### 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 `TreeGrid.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` - New animateFolderSpeed value. 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 `TreeGrid.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:
        Current animateFolderSpeed value. Default value is 3000
      See Also:
        `getAnimateFolderTime()`

    - #### setAnimateFolderTime

          public void setAnimateFolderTime(int animateFolderTime)

      When animating folder opening / closing, if `TreeGrid.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` - New animateFolderTime value. Default value is 100
      See Also:
        `setAnimateFolderSpeed(int)`

    - #### getAnimateFolderTime

          public int getAnimateFolderTime()

      When animating folder opening / closing, if `TreeGrid.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:
        Current animateFolderTime value. Default value is 100
      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` - New animateRemoveRecord value. 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:
        Current animateRemoveRecord value. Default value is true

    - #### 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` - New animateRemoveSpeed value. 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:
        Current animateRemoveSpeed value. Default value is 200
      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` - New animateRemoveTime value. 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:
        Current animateRemoveTime value. Default value is 100
      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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `rollOverCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateRollOver` - New animateRollOver value. 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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `rollOverCanvasProperties`.
      Returns:
        Current animateRollOver value. Default value is false

    - #### 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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `rollUnderCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateRollUnder` - New animateRollUnder value. 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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `rollUnderCanvasProperties`.
      Returns:
        Current animateRollUnder value. Default value is false
      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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `selectionCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateSelection` - New animateSelection value. 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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `selectionCanvasProperties`.
      Returns:
        Current animateSelection value. Default value is false
      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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `selectionUnderCanvasProperties`.

      Note : This is an advanced setting

      Parameters:
        `animateSelectionUnder` - New animateSelectionUnder value. 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 `Canvas.animateShowEffect`, `Canvas.animateShowTime` and `Canvas.animateShowAcceleration` set in `selectionUnderCanvasProperties`.
      Returns:
        Current animateSelectionUnder value. Default value is false
      See Also:
        `getAnimateSelection()`, Animated Selection Example

    - #### setApplyFormulaAfterSummary

          public void setApplyFormulaAfterSummary(java.lang.Boolean applyFormulaAfterSummary)

      If `ListGridField.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 `ListGridField.applyAfterSummary`

      Parameters:
        `applyFormulaAfterSummary` - New applyFormulaAfterSummary value. Default value is false

    - #### getApplyFormulaAfterSummary

          public java.lang.Boolean getApplyFormulaAfterSummary()

      If `ListGridField.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 `ListGridField.applyAfterSummary`

      Returns:
        Current applyFormulaAfterSummary value. Default value is false

    - #### 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` - New applyRowNumberStyle value. Default value is true

    - #### getApplyRowNumberStyle

          public boolean getApplyRowNumberStyle()

      If `showRowNumbers` is true, should we apply the `rowNumberStyle` to the `rowNumberField`
      Returns:
        Current applyRowNumberStyle value. Default value is true

    - #### 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` - New arrowKeyAction value. 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:
        Current arrowKeyAction value. Default value is null

    - #### 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` - New asynchGroupingPrompt value. Default value is "${loadingImage}&nbsp;Grouping data..."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `HTMLString`

    - #### getAsynchGroupingPrompt

          public java.lang.String getAsynchGroupingPrompt()

      The prompt to display while interactivity is blocked during `asynchronous grouping`.
      Returns:
        Current asynchGroupingPrompt value. Default value is "${loadingImage}&nbsp;Grouping data..."
      See Also:
        `HTMLString`

    - #### setAutoComplete

          public void setAutoComplete(AutoComplete autoComplete)

      Whether to do inline autoComplete in text fields during inline editing
      Overridden by `ListGridField.autoComplete` if specified. If unset picks up the default from the appropriate editor class (subclass of FormItem).
      Parameters:
        `autoComplete` - New autoComplete value. 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 `ListGridField.autoComplete` if specified. If unset picks up the default from the appropriate editor class (subclass of FormItem).
      Returns:
        Current autoComplete value. Default value is null
      See Also:
        `ListGridField.getAutoComplete()`

    - #### setAutoConfirmSaveEdits

          public void setAutoConfirmSaveEdits(java.lang.Boolean autoConfirmSaveEdits)

      For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded by default. This flag determines whether we should save such edits automatically in this case. See also `confirmDiscardEdits`, which allows the user to choose whether to save or discard the unsaved edits.
      Parameters:
        `autoConfirmSaveEdits` - New autoConfirmSaveEdits value. Default value is false
      See Also:
        `Editing overview and related methods`

    - #### getAutoConfirmSaveEdits

          public java.lang.Boolean getAutoConfirmSaveEdits()

      For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded by default. This flag determines whether we should save such edits automatically in this case. See also `confirmDiscardEdits`, which allows the user to choose whether to save or discard the unsaved edits.
      Returns:
        Current autoConfirmSaveEdits value. Default value is false
      See Also:
        `Editing overview and related methods`

    - #### setAutoFetchDisplayMap

          public void setAutoFetchDisplayMap(java.lang.Boolean autoFetchDisplayMap)

      If true, for fields where `ListGridField.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 `ListGridField.editorProperties`.

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

      Parameters:
        `autoFetchDisplayMap` - New autoFetchDisplayMap value. 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 `ListGridField.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 `ListGridField.editorProperties`.

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

      Returns:
        Current autoFetchDisplayMap value. Default value is true
      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 `autoFitField()` method.
      Parameters:
        `autoFitAllText` - New autoFitAllText value. 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 `autoFitField()` method.
      Returns:
        Current autoFitAllText value. Default value is "Auto Fit All Columns"

    - #### 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` - New autoFitClipFields value. 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:
        Current autoFitClipFields value. Default value is null

    - #### 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:
        Current autoFitData value. Default value is null

    - #### setAutoFitDateFields

          public void setAutoFitDateFields(AutoFitWidthApproach autoFitDateFields)

      Should listGrids automatically size date fields to fit their values or titles? If set to `"value"`, fields of type date will be rendered at the size specified by `defaultDateFieldWidth`, (or `defaultEditableDateFieldWidth` for editable fields). This static value is appropriate for dates rendered with the standard short-date formatter. If set to `"title"` or `"both"`, the drawn width of the title will be taken into account when sizing the column.

      This is achieved by enabling `autoFitWidth:true` on date fields when this property is set to anything other than `"none"`, setting the `ListGridField.autoFitWidthApproach` to the value specified here and having logic in `getDefaultFieldWidth()` pick up the `defaultDateFieldWidth` or `defaultEditableDateFieldWidth` if appropriate.

      Parameters:
        `autoFitDateFields` - New autoFitDateFields value. Default value is "value"

    - #### getAutoFitDateFields

          public AutoFitWidthApproach getAutoFitDateFields()

      Should listGrids automatically size date fields to fit their values or titles? If set to `"value"`, fields of type date will be rendered at the size specified by `defaultDateFieldWidth`, (or `defaultEditableDateFieldWidth` for editable fields). This static value is appropriate for dates rendered with the standard short-date formatter. If set to `"title"` or `"both"`, the drawn width of the title will be taken into account when sizing the column.

      This is achieved by enabling `autoFitWidth:true` on date fields when this property is set to anything other than `"none"`, setting the `ListGridField.autoFitWidthApproach` to the value specified here and having logic in `getDefaultFieldWidth()` pick up the `defaultDateFieldWidth` or `defaultEditableDateFieldWidth` if appropriate.

      Returns:
        Current autoFitDateFields value. Default value is "value"

    - #### 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 `DataSourceField.length` if length is set, otherwise, the first text field with no width specified.

      Note that expanding `frozen columns` is not supported.

      Parameters:
        `autoFitExpandField` - New autoFitExpandField value. 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 `DataSourceField.length` if length is set, otherwise, the first text field with no width specified.

      Note that expanding `frozen columns` is not supported.

      Returns:
        Current autoFitExpandField value. Default value is null

    - #### setAutoFitExtraRecords

          public void setAutoFitExtraRecords(java.lang.Integer autoFitExtraRecords)

      If `autoFitData` is set to `"vertical"` or `"both"`, setting this property will cause the ListGrid body to size large enough to accomodate the actual data and also leave this many extra rows' worth of blank space below the last record. If a maximum size is specified via `autoFitMaxHeight` or `autoFitMaxRecords`, it will still be respected. Once the data set is large enough to fill or exceed that space, this property no longer has an effect.
      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"`, setting this property will cause the ListGrid body to size large enough to accomodate the actual data and also leave this many extra rows' worth of blank space below the last record. If a maximum size is specified via `autoFitMaxHeight` or `autoFitMaxRecords`, it will still be respected. Once the data set is large enough to fill or exceed that space, this property no longer has an effect.
      Returns:
        Current autoFitExtraRecords value. Default value is null

    - #### 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` - New autoFitFieldsFillViewport value. 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:
        Current autoFitFieldsFillViewport value. Default value is true

    - #### setAutoFitFieldText

          public void setAutoFitFieldText(java.lang.String autoFitFieldText)

      If we're showing a `headerContextMenu` for this grid, and user-driven auto fit of fields is enabled via `ListGridField.canAutoFitWidth` or `canAutoFitFields`, 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 `autoFitField()`.
      Parameters:
        `autoFitFieldText` - New autoFitFieldText value. Default value is "Auto Fit"

    - #### getAutoFitFieldText

          public java.lang.String getAutoFitFieldText()

      If we're showing a `headerContextMenu` for this grid, and user-driven auto fit of fields is enabled via `ListGridField.canAutoFitWidth` or `canAutoFitFields`, 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 `autoFitField()`.
      Returns:
        Current autoFitFieldText value. Default value is "Auto Fit"

    - #### setAutoFitFieldWidths

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

      Should ListGrid fields autofit their widths to titles or content? This property may be overridden on a per-field basis via `ListGridField.autoFitWidth`. Developers may wish to consider disabling autoFit for fields known to have exceptionally long content as this can lead to large horizontal scrollbars and unwieldy UI.

      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.

      When this feature is enabled, autofitting is active on an ongoing basis. 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 `autoFitField()` or `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, `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 `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 `ListGridField.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()

      Should ListGrid fields autofit their widths to titles or content? This property may be overridden on a per-field basis via `ListGridField.autoFitWidth`. Developers may wish to consider disabling autoFit for fields known to have exceptionally long content as this can lead to large horizontal scrollbars and unwieldy UI.

      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.

      When this feature is enabled, autofitting is active on an ongoing basis. 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 `autoFitField()` or `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, `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 `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:
        Current autoFitFieldWidths value. Default value is null

    - #### 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 `ListGridField.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`.

      Note that you need not set `HeaderSpan.height` or `headerSpanHeight` if you set this property, but if you do, they will be used as minimum values.

      Parameters:
        `autoFitHeaderHeights` - New autoFitHeaderHeights value. 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 `ListGridField.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`.

      Note that you need not set `HeaderSpan.height` or `headerSpanHeight` if you set this property, but if you do, they will be used as minimum values.

      Returns:
        Current autoFitHeaderHeights value. Default value is null

    - #### 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 `ListGridField.autoFitWidth` to be enabled by default for all icon fields with the `ListGridField.autoFitWidthApproach` set to `"value"` or `"both"` as appropriate. Note that the width required for the icons is calculated by `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 `ListGridField.width` or explicitly enabling `ListGridField.autoFitWidth` and setting `ListGridField.autoFitWidthApproach` on the field in question.

      Parameters:
        `autoFitIconFields` - New autoFitIconFields value. 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 `ListGridField.autoFitWidth` to be enabled by default for all icon fields with the `ListGridField.autoFitWidthApproach` set to `"value"` or `"both"` as appropriate. Note that the width required for the icons is calculated by `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 `ListGridField.width` or explicitly enabling `ListGridField.autoFitWidth` and setting `ListGridField.autoFitWidthApproach` on the field in question.

      Returns:
        Current autoFitIconFields value. Default value is "title"
      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:
        Current autoFitMaxColumns value. Default value is 50

    - #### 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:
        Current autoFitMaxHeight value. Default value is null

    - #### 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:
        Current autoFitMaxRecords value. Default value is 50

    - #### 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. Value may be specified as a numeric pixel value or a percentage value.

      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 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. Value may be specified as a numeric pixel value or a percentage value.

      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:
        Returns the `autoFitMaxWidth`. Note that this method always returns an integer value - autoFitMaxWidth specified as a percentage will be resolved to a pixel value before being returned. Default value is null

    - #### setAutoFitMaxWidth

          public void setAutoFitMaxWidth(java.lang.String 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. Value may be specified as a numeric pixel value or a percentage value.

      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 we'll expand to accommodate if `auto fit` is enabled horizontally. Default value is null

    - #### getAutoFitMaxWidthAsString

          public java.lang.String getAutoFitMaxWidthAsString()

      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. Value may be specified as a numeric pixel value or a percentage value.

      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:
        Returns the `autoFitMaxWidth`. Note that this method always returns an integer value - autoFitMaxWidth specified as a percentage will be resolved to a pixel value before being returned. Default value is null

    - #### setAutoFitTimeFields

          public void setAutoFitTimeFields(AutoFitWidthApproach autoFitTimeFields)

      Should listGrids automatically size time fields to fit their values or titles? If set to `"value"`, fields of type time will be rendered at the size specified by `defaultTimeFieldWidth`. This static value is appropriate for dates rendered with the standard time formatter. If set to `"title"` or `"both"`, the drawn width of the title will be taken into account when sizing the column.

      This is achieved by enabling `autoFitWidth:true` on date fields when this property is set to anything other than `"none"`, setting the `ListGridField.autoFitWidthApproach` to the value specified here and having logic in `getDefaultFieldWidth()` pick up the `defaultTimeFieldWidth` if appropriate.

      Parameters:
        `autoFitTimeFields` - New autoFitTimeFields value. Default value is "value"

    - #### getAutoFitTimeFields

          public AutoFitWidthApproach getAutoFitTimeFields()

      Should listGrids automatically size time fields to fit their values or titles? If set to `"value"`, fields of type time will be rendered at the size specified by `defaultTimeFieldWidth`. This static value is appropriate for dates rendered with the standard time formatter. If set to `"title"` or `"both"`, the drawn width of the title will be taken into account when sizing the column.

      This is achieved by enabling `autoFitWidth:true` on date fields when this property is set to anything other than `"none"`, setting the `ListGridField.autoFitWidthApproach` to the value specified here and having logic in `getDefaultFieldWidth()` pick up the `defaultTimeFieldWidth` if appropriate.

      Returns:
        Current autoFitTimeFields value. Default value is "value"

    - #### 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:
        Current autoFitWidthApproach value. Default value is "value"

    - #### 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 `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 `saveEdits()` is called to save a particular row, or `saveAllEdits()` is called to save all changes in a batch.

      Note: when `listGrid grouping` is enabled, or when working with hierarchical data in a `TreeGrid`, users have the option to hide records from view by collapsing the parent folder or group. This, in conjunction with `autoSaveEdits` being set to `false` can lead to a case where a user is unable to save edits due to validation errors on hidden rows. Therefore we recommend developers consider having validators in place such that errors are caught and displayed to the user on change or editor exit rather than being caught only when saving is attempted. If it's not possible for all validation to be performed immediately on row exit, we recommend that a different UI design be used that does not involve `autoSaveEdits` being set to `false`.

      Note : This is an advanced setting

      Parameters:
        `autoSaveEdits` - New autoSaveEdits value. 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 `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 `saveEdits()` is called to save a particular row, or `saveAllEdits()` is called to save all changes in a batch.

      Note: when `listGrid grouping` is enabled, or when working with hierarchical data in a `TreeGrid`, users have the option to hide records from view by collapsing the parent folder or group. This, in conjunction with `autoSaveEdits` being set to `false` can lead to a case where a user is unable to save edits due to validation errors on hidden rows. Therefore we recommend developers consider having validators in place such that errors are caught and displayed to the user on change or editor exit rather than being caught only when saving is attempted. If it's not possible for all validation to be performed immediately on row exit, we recommend that a different UI design be used that does not involve `autoSaveEdits` being set to `false`.

      Returns:
        Current autoSaveEdits value. Default value is true
      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` - New autoSizeHeaderSpans value. 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:
        Current autoSizeHeaderSpans value. Default value is false

    - #### 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 `ListGridRecord.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` - New badFormulaResultValue value. 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:
        Current badFormulaResultValue value. Default value is "."
      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 `getBaseStyle()`.

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

      Parameters:
        `baseStyle` - New baseStyle value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSStyleName`, `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 `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`.

        As noted under `enforceVClipping`, cell content which renders taller than the available space within a cell may cause rows to expand even if `fixedRecordHeights` is true. This can lead to misaligned rows when frozen columns are used. Developers should be aware that changing cell styling such that there is increased borders or padding will reduce the available space for content within the specified cell height, making this scenario more common. To fix this, specify a larger cellHeight, or set enforceVClipping to true.

        Note: This is an override point.. Default value is null

      See Also:
        `CSSStyleName`, `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` - New bodyBackgroundColor value. 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:
        Current bodyBackgroundColor value. Default value is "white"
      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.

      This is a very advanced setting which is typically only changed by subclasses of ListGrid which never show a header. To achieve auto-fitting, instead use properties such as `autoFitData`, `autoFitFieldWidths` and `fixedRecordHeights`.
      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.

      This is a very advanced setting which is typically only changed by subclasses of ListGrid which never show a header. To achieve auto-fitting, instead use properties such as `autoFitData`, `autoFitFieldWidths` and `fixedRecordHeights`.

      Returns:
        Current bodyOverflow value. Default value is Canvas.AUTO
      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. Default value is null
      See Also:
        `CSSStyleName`, `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:
        Current bodyStyleName value. Default value is null
      See Also:
        `CSSStyleName`, `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` - New booleanBaseStyle value. 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)`, `CSSStyleName`, `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:
        Current booleanBaseStyle value. Default value is null
      See Also:
        `getPrintBooleanBaseStyle()`, `CSSStyleName`, `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 `ListGridField.suppressValueIcon` to true

      If this, `booleanTrueImage` and `booleanPartialImage` are unset, this will be set to the default `CheckboxItem.uncheckedImage`.

      `Spriting` can be used for this image, by setting this property to a `SCSpriteConfig` formatted string. Alternatively developers can omit this property and instead use CSS directly in the `booleanBaseStyle` property to provide a "boolean false" appearance.

      Note : This is an advanced setting

      Parameters:
        `booleanFalseImage` - New booleanFalseImage value. Default value is null
      See Also:
        `setBooleanTrueImage(java.lang.String)`, `setBooleanPartialImage(java.lang.String)`, `setPrintBooleanFalseImage(java.lang.String)`, `SCImgURL`, `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 `ListGridField.suppressValueIcon` to true

      If this, `booleanTrueImage` and `booleanPartialImage` are unset, this will be set to the default `CheckboxItem.uncheckedImage`.

      `Spriting` can be used for this image, by setting this property to a `SCSpriteConfig` formatted string. Alternatively developers can omit this property and instead use CSS directly in the `booleanBaseStyle` property to provide a "boolean false" appearance.

      Returns:
        Current booleanFalseImage value. Default value is null
      See Also:
        `getBooleanTrueImage()`, `getBooleanPartialImage()`, `getPrintBooleanFalseImage()`, `SCImgURL`, `ImageColumns overview and related methods`

    - #### setBooleanImageHeight

          public void setBooleanImageHeight(int booleanImageHeight)

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

      Note : This is an advanced setting

      Parameters:
        `booleanImageHeight` - New booleanImageHeight value. 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 `CheckboxItem.checkedImage` will be used to indicate a true value in a boolean field. In this case this property is ignored in favor of `CheckboxItem.valueIconHeight`.
      Returns:
        Current booleanImageHeight value. Default value is 16
      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 `CheckboxItem.checkedImage` will be used to indicate a true value in a boolean field. In this case this property is ignored in favor of `CheckboxItem.valueIconWidth`.

      Note : This is an advanced setting

      Parameters:
        `booleanImageWidth` - New booleanImageWidth value. 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 `CheckboxItem.checkedImage` will be used to indicate a true value in a boolean field. In this case this property is ignored in favor of `CheckboxItem.valueIconWidth`.
      Returns:
        Current booleanImageWidth value. Default value is 16
      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 `ListGridField.suppressValueIcon` to true.

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

      `Spriting` can be used for this image, by setting this property to a `SCSpriteConfig` formatted string. Alternatively developers can omit this property and instead use CSS directly in the `booleanBaseStyle` property to provide a "boolean true" appearance.

      Note : This is an advanced setting

      Parameters:
        `booleanPartialImage` - New booleanPartialImage value. Default value is null
      See Also:
        `setBooleanTrueImage(java.lang.String)`, `setBooleanFalseImage(java.lang.String)`, `setPrintBooleanPartialImage(java.lang.String)`, `SCImgURL`, `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 `ListGridField.suppressValueIcon` to true.

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

      `Spriting` can be used for this image, by setting this property to a `SCSpriteConfig` formatted string. Alternatively developers can omit this property and instead use CSS directly in the `booleanBaseStyle` property to provide a "boolean true" appearance.

      Returns:
        Current booleanPartialImage value. Default value is null
      See Also:
        `getBooleanTrueImage()`, `getBooleanFalseImage()`, `getPrintBooleanPartialImage()`, `SCImgURL`, `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 `ListGridField.suppressValueIcon` to true.

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

      `Spriting` can be used for this image, by setting this property to a `SCSpriteConfig` formatted string. Alternatively developers can omit this property and instead use CSS directly in the `booleanBaseStyle` property to provide a "boolean true" appearance.

      Note : This is an advanced setting

      Parameters:
        `booleanTrueImage` - New booleanTrueImage value. Default value is null
      See Also:
        `setBooleanFalseImage(java.lang.String)`, `setBooleanPartialImage(java.lang.String)`, `setPrintBooleanTrueImage(java.lang.String)`, `SCImgURL`, `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 `ListGridField.suppressValueIcon` to true.

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

      `Spriting` can be used for this image, by setting this property to a `SCSpriteConfig` formatted string. Alternatively developers can omit this property and instead use CSS directly in the `booleanBaseStyle` property to provide a "boolean true" appearance.

      Returns:
        Current booleanTrueImage value. Default value is null
      See Also:
        `getBooleanFalseImage()`, `getBooleanPartialImage()`, `getPrintBooleanTrueImage()`, `SCImgURL`, `ImageColumns overview and related methods`

    - #### setCanAcceptDroppedRecords

          public void setCanAcceptDroppedRecords(java.lang.Boolean canAcceptDroppedRecords)

      Indicates whether records can be dropped into this listGrid.
      Parameters:
        `canAcceptDroppedRecords` - New canAcceptDroppedRecords value. 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:
        Current canAcceptDroppedRecords value. Default value is false
      See Also:
        `ListGridRecord.getCanDrag()`, `ListGridRecord.getCanAcceptDrop()`, Drag list (move) Example

    - #### setCanAutoFitFields

          public void setCanAutoFitFields(java.lang.Boolean canAutoFitFields)

      Can the user perform one-time autofit for specific columns in this grid?

      If set to true, the default header menu will include options to auto fit `all fields` such that they fit their content or titles as specified via `ListGridField.autoFitWidthApproach`.
      Autofitting of individual fields via a `header context menu item`, or the `headerAutoFitEvent` will also be enabled when this property is set unless `ListGridField.canAutoFitWidth` is explicitly set to false

      Note that the ability to perform one-time autofitting of fields via this subsystem is separate from the programmatic autofit behavior enabled via `autoFitFieldWidths`.

      This subsystem is requires canResizeFields be enabled and will be disabled if that property is set to false

      Parameters:
        `canAutoFitFields` - New canAutoFitFields value. Default value is true

    - #### getCanAutoFitFields

          public java.lang.Boolean getCanAutoFitFields()

      Can the user perform one-time autofit for specific columns in this grid?

      If set to true, the default header menu will include options to auto fit `all fields` such that they fit their content or titles as specified via `ListGridField.autoFitWidthApproach`.
      Autofitting of individual fields via a `header context menu item`, or the `headerAutoFitEvent` will also be enabled when this property is set unless `ListGridField.canAutoFitWidth` is explicitly set to false

      Note that the ability to perform one-time autofitting of fields via this subsystem is separate from the programmatic autofit behavior enabled via `autoFitFieldWidths`.

      This subsystem is requires canResizeFields be enabled and will be disabled if that property is set to false

      Returns:
        Current canAutoFitFields value. Default value is true

    - #### 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` - New cancelEditingConfirmationMessage value. 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:
        Current cancelEditingConfirmationMessage value. Default value is Cancelling this edit will discard unsaved changes for this record. Continue?
      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` - New canCollapseGroup value. 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:
        Current canCollapseGroup value. Default value is true
      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 `Canvas.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` - New canDragRecordsOut value. 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 `Canvas.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:
        Current canDragRecordsOut value. Default value is false
      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 `Canvas.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` - New canDragSelect value. 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 `Canvas.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:
        Current canDragSelect value. Default value is false
      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, ready to be cliped to clipboard.
      This is mutually exclusive with `rearranging rows or cells by dragging`, and with `drag selection of rows`.

      To enable selecting cell text on click, see `selectCellTextOnClick`.

      Parameters:
        `canDragSelectText` - New canDragSelectText value. 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, ready to be cliped to clipboard.
      This is mutually exclusive with `rearranging rows or cells by dragging`, and with `drag selection of rows`.

      To enable selecting cell text on click, see `selectCellTextOnClick`.

      Returns:
        Current canDragSelectText value. Default value is false
      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` - New canDropInEmptyArea value. 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:
        Current canDropInEmptyArea value. Default value is true
      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 unless a custom override of `canEditCell()` allows it.
      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` - New canEdit value. 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 unless a custom override of `canEditCell()` allows it.
      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:
        Current canEdit value. Default value is null
      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 `DataBoundComponent.fields` array, that property will be respected in preference to the canEditAttribute value. (See `FormItem.canEdit`, `ListGridField.canEdit`). Also note that individual dataBoundComponents may have additional logic around whether a field can be edited - for example `canEditCell()` may be overridden.

      Note : This is an advanced setting

      Parameters:
        `canEditFieldAttribute` - New canEditFieldAttribute value. 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 `DataBoundComponent.fields` array, that property will be respected in preference to the canEditAttribute value. (See `FormItem.canEdit`, `ListGridField.canEdit`). Also note that individual dataBoundComponents may have additional logic around whether a field can be edited - for example `canEditCell()` may be overridden.

      Returns:
        Current canEditFieldAttribute value. Default value is "canEdit"

    - #### 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` - New canEditHilites value. 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:
        Current canEditHilites value. Default value is false
      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` - New canEditTitles value. 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:
        Current canEditTitles value. Default value is false

    - #### 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` - New canExpandMultipleRecords value. 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:
        Current canExpandMultipleRecords value. Default value is true

    - #### 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` - New canExpandRecordProperty value. 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:
        Current canExpandRecordProperty value. Default value is "canExpand"
      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 `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 `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:
        Current canExpandRecords value. Default value is false

    - #### 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` - New canFocusInEmptyGrid value. 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:
        Current canFocusInEmptyGrid value. Default value is true

    - #### 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 `freezeField()` and `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 `freezeField()` and `unfreezeField()`.

      Returns:
        Current canFreezeFields value. Default value is null
      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` - New canGroupBy value. 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:
        Current canGroupBy value. Default value is true
      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` - New canHover value. 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:
        Current canHover value. Default value is null
      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` - New canMultiGroup value. Default value is false

    - #### getCanMultiGroup

          public boolean getCanMultiGroup()

      When true, indicates that this ListGrid supports grouping on multiple fields.
      Returns:
        Current canMultiGroup value. Default value is false

    - #### 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 `DataSource doesn't support multi-sort`, or if sorting for a field is `client-only` but not all data is available.
      Parameters:
        `canMultiSort` - New canMultiSort value. Default value is true
      See Also:
        `setSortNumeralMenuButtonSpaceOffset(int)`

    - #### 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 `DataSource doesn't support multi-sort`, or if sorting for a field is `client-only` but not all data is available.
      Returns:
        Current canMultiSort value. Default value is true
      See Also:
        `getSortNumeralMenuButtonSpaceOffset()`

    - #### 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 `ListGridField.canHide`.

      Parameters:
        `canPickFields` - New canPickFields value. 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 `ListGridField.canHide`.

      Returns:
        Current canPickFields value. Default value is true

    - #### 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` - New canPickOmittedFields value. 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:
        Current canPickOmittedFields value. Default value is false

    - #### 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 `removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `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 `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 `unmarkRecordRemoved()` to mark the record as no longer pending deletion.
      Parameters:
        `canRemoveRecords` - New canRemoveRecords value. 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 `removeRecordClick()` which removes the row from the data set (or if `deferRemoval` is true changes the `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 `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 `unmarkRecordRemoved()` to mark the record as no longer pending deletion.
      Returns:
        Current canRemoveRecords value. Default value is false
      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. If true, can be overridden at the field level via `ListGridField.canReorder`.
      Parameters:
        `canReorderFields` - New canReorderFields value. 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. If true, can be overridden at the field level via `ListGridField.canReorder`.
      Returns:
        Current canReorderFields value. Default value is true
      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 `Canvas.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 `Canvas.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:
        Current canReorderRecords value. Default value is false
      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:
        Current canResizeFields value. Default value is true
      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` - New canSelectAll value. 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:
        Current canSelectAll value. Default value is null
      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 `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 `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` - New canSelectCells value. 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 `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 `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:
        Current canSelectCells value. Default value is false

    - #### 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` - New canSelectGroups value. 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:
        Current canSelectGroups value. Default value is false
      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` - New canSort value. 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:
        Current canSort value. Default value is true

    - #### 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` - New canTabToHeader value. 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:
        Current canTabToHeader value. Default value is null
      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.

      This component is an AutoChild named "cellContextMenu". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current cellContextMenu value. Default value is null
      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` - New cellHeight value. Default value is 20
      See Also:
        Multiline values Example

    - #### getCellHeight

          public int getCellHeight()

      The default height of each row in pixels.
      Returns:
        Current cellHeight value. Default value is 20
      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` - New cellPadding value. Default value is 2

    - #### getCellPadding

          public int getCellPadding()

      The amount of empty space, in pixels, surrounding each value in its cell.
      Returns:
        Current cellPadding value. Default value is 2

    - #### 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` - New chartConstructor value. 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:
        Current chartConstructor value. Default value is "FacetChart"

    - #### setChartType

          public void setChartType(ChartType chartType)

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

    - #### getChartType

          public ChartType getChartType()

      Default type of chart to plot.
      Returns:
        Current chartType value. Default value is "Column"

    - #### 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` - New checkboxFieldFalseImage value. Default value is null
      See Also:
        `setCheckboxFieldTrueImage(java.lang.String)`, `setCheckboxFieldImageWidth(java.lang.Integer)`, `setCheckboxFieldImageHeight(java.lang.Integer)`, `setPrintCheckboxFieldFalseImage(java.lang.String)`, `SCImgURL`

    - #### 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:
        Current checkboxFieldFalseImage value. Default value is null
      See Also:
        `getCheckboxFieldTrueImage()`, `getCheckboxFieldImageWidth()`, `getCheckboxFieldImageHeight()`, `getPrintCheckboxFieldFalseImage()`, `SCImgURL`

    - #### 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` - New checkboxFieldImageHeight value. 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:
        Current checkboxFieldImageHeight value. Default value is null

    - #### 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` - New checkboxFieldImageWidth value. 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:
        Current checkboxFieldImageWidth value. Default value is null

    - #### 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` - New checkboxFieldPartialImage value. Default value is null
      See Also:
        `setCheckboxFieldTrueImage(java.lang.String)`, `setCheckboxFieldImageWidth(java.lang.Integer)`, `setCheckboxFieldImageHeight(java.lang.Integer)`, `setPrintCheckboxFieldPartialImage(java.lang.String)`, `SCImgURL`, `Printing overview and related methods`

    - #### 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:
        Current checkboxFieldPartialImage value. Default value is null
      See Also:
        `getCheckboxFieldTrueImage()`, `getCheckboxFieldImageWidth()`, `getCheckboxFieldImageHeight()`, `getPrintCheckboxFieldPartialImage()`, `SCImgURL`, `Printing overview and related methods`

    - #### 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` - New checkboxFieldTrueImage value. Default value is null
      See Also:
        `setCheckboxFieldFalseImage(java.lang.String)`, `setCheckboxFieldImageWidth(java.lang.Integer)`, `setCheckboxFieldImageHeight(java.lang.Integer)`, `setPrintCheckboxFieldTrueImage(java.lang.String)`, `SCImgURL`

    - #### 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:
        Current checkboxFieldTrueImage value. Default value is null
      See Also:
        `getCheckboxFieldFalseImage()`, `getCheckboxFieldImageWidth()`, `getCheckboxFieldImageHeight()`, `getPrintCheckboxFieldTrueImage()`, `SCImgURL`

    - #### 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` - New childExpansionMode value. 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:
        Current childExpansionMode value. Default value is null

    - #### 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` - New clearAllSortingText value. 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:
        Current clearAllSortingText value. Default value is "Clear All Sorting"

    - #### 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` - New clearFilterText value. 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:
        Current clearFilterText value. Default value is "Clear Filter"

    - #### 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` - New clearSortFieldText value. 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:
        Current clearSortFieldText value. Default value is "Clear Sort"

    - #### 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 `ListGridField.wrap`, and will automatically be disabled for wrapping fields.

      Note : This is an advanced setting

      Parameters:
        `clipHeaderTitles` - New clipHeaderTitles value. Default value is varies
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setHeaderBaseStyle(java.lang.String)`, `Appearance 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 `ListGridField.wrap`, and will automatically be disabled for wrapping fields.

      Returns:
        Current clipHeaderTitles value. Default value is varies
      See Also:
        `getHeaderBaseStyle()`, `Appearance 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` - New collapseGroupOnRowClick value. 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:
        Current collapseGroupOnRowClick value. Default value is true
      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` - New configureGroupingText value. 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:
        Current configureGroupingText value. Default value is "Configure Grouping..."

    - #### 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` - New configureSortText value. 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:
        Current configureSortText value. Default value is "Configure Sort..."

    - #### 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` - New confirmCancelEditing value. 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:
        Current confirmCancelEditing value. Default value is false
      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` - New confirmDiscardEdits value. 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:
        Current confirmDiscardEdits value. Default value is true
      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` - New confirmDiscardEditsMessage value. 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:
        Current confirmDiscardEditsMessage value. Default value is "This action will discard unsaved changes for this list."
      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 providing `data`, you will typically call `fetchData()` instead, which will automatically establish `data` as a `ResultSet` (see the `fetchData()` docs for details).

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

      When calling `setData()`, if `data` is provided as a RecordList or ResultSet, direct changes to the list using Framework APIs such as `RecordList.add()` or `RecordList.remove()` will be automatically observed and the ListGrid will redraw in response. However, direct changes to individual Records will not be automatically observed and require calls to `refreshCell()` or `refreshRow()` to cause the ListGrid to visually update. Calling methods such as `updateData()`, `removeData()` or `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.

      Note that passing null will not clear `data`, but will regroup it and reapply the current sort, highlighting, and summaries to the grid. Size will be recalculated for fields marked as `autofitWidth`:true and a `selection manager` will be created if none exists. To clear the grid instead, pass [].

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

    - #### setDataFetchDelay

          public void setDataFetchDelay(java.lang.Integer dataFetchDelay)

      Delay in milliseconds before fetching data.

      Note: the floor value for this attribute is 1. If you set this value to zero, it will be defaulted to 1 for you instead.

      Note : This is an advanced setting

      Parameters:
        `dataFetchDelay` - New dataFetchDelay value. Default value is 1
      See Also:
        `Databinding overview and related methods`

    - #### getDataFetchDelay

          public java.lang.Integer getDataFetchDelay()

      Delay in milliseconds before fetching data.

      Note: the floor value for this attribute is 1. If you set this value to zero, it will be defaulted to 1 for you instead.

      Returns:
        Current dataFetchDelay value. Default value is 1
      See Also:
        `Databinding overview and related methods`

    - #### 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 `ResultSet.fetchMode` applies.

      Specified by:
        `setDataFetchMode` in interface `DataBoundComponent`
      Parameters:
        `dataFetchMode` - New dataFetchMode value. 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 `ResultSet.fetchMode` applies.

      Specified by:
        `getDataFetchMode` in interface `DataBoundComponent`
      Returns:
        Current dataFetchMode value. Default value is "paged"
      See Also:
        `Databinding overview and related methods`

    - #### setDataSource

          public void setDataSource(DataSource dataSource)

      The DataSource that this component should bind to for default fields and for performing `DataSource requests`.

      Can be specified as either a DataSource instance or the String ID of a DataSource.
      If this method is called after the component has been drawn/initialized: Bind to a new DataSource.

      Like passing the "dataSource" property on creation, 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().

      Specified by:
        `setDataSource` in interface `DataBoundComponent`
      Parameters:
        `dataSource` - DataSource to bind to. Default value is null
      See Also:
        `Databinding overview and related methods`, DataSource fields Example

    - #### setDataSource

          public void setDataSource(java.lang.String dataSource)

      The DataSource that this component should bind to for default fields and for performing `DataSource requests`.

      Can be specified as either a DataSource instance or the String ID of a DataSource.
      If this method is called after the component has been drawn/initialized: Bind to a new DataSource.

      Like passing the "dataSource" property on creation, 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().

      Specified by:
        `setDataSource` in interface `DataBoundComponent`
      Parameters:
        `dataSource` - DataSource to bind to. Default value is null
      See Also:
        `Databinding overview and related methods`, DataSource fields Example

    - #### 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 `ListGridField.dateFormatter` or `ListGridField.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` - New dateFormatter value. 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 `ListGridField.dateFormatter` or `ListGridField.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:
        Current dateFormatter value. Default value is null

    - #### 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 `ListGridField.inputFormat`.

      Note : This is an advanced setting

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

    - #### 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 `DateUtil.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 `ListGridField.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` - New datetimeFormatter value. 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 `DateUtil.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 `ListGridField.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:
        Current datetimeFormatter value. Default value is null
      See Also:
        `ListGridField.getDateFormatter()`, `Appearance overview and related methods`

    - #### setDefaultDateFieldWidth

          public void setDefaultDateFieldWidth(java.lang.Integer defaultDateFieldWidth)

      Default width for date type fields. See `autoFitDateFields` for details on how this property is used.
      Parameters:
        `defaultDateFieldWidth` - New defaultDateFieldWidth value. Default value is varies

    - #### getDefaultDateFieldWidth

          public java.lang.Integer getDefaultDateFieldWidth()

      Default width for date type fields. See `autoFitDateFields` for details on how this property is used.
      Returns:
        Current defaultDateFieldWidth value. Default value is varies

    - #### setDefaultDateTimeFieldWidth

          public void setDefaultDateTimeFieldWidth(java.lang.Integer defaultDateTimeFieldWidth)

      Default width for datetime type fields. See `autoFitDateFields` for details on how this property is used.
      Parameters:
        `defaultDateTimeFieldWidth` - New defaultDateTimeFieldWidth value. Default value is varies

    - #### getDefaultDateTimeFieldWidth

          public java.lang.Integer getDefaultDateTimeFieldWidth()

      Default width for datetime type fields. See `autoFitDateFields` for details on how this property is used.
      Returns:
        Current defaultDateTimeFieldWidth value. Default value is varies

    - #### setDefaultEditableDateFieldWidth

          public void setDefaultEditableDateFieldWidth(java.lang.Integer defaultEditableDateFieldWidth)

      Default width for editable date type fields. See `autoFitDateFields` for details on how this property is used.
      Parameters:
        `defaultEditableDateFieldWidth` - New defaultEditableDateFieldWidth value. Default value is varies

    - #### getDefaultEditableDateFieldWidth

          public java.lang.Integer getDefaultEditableDateFieldWidth()

      Default width for editable date type fields. See `autoFitDateFields` for details on how this property is used.
      Returns:
        Current defaultEditableDateFieldWidth value. Default value is varies

    - #### setDefaultEditableDateTimeFieldWidth

          public void setDefaultEditableDateTimeFieldWidth(java.lang.Integer defaultEditableDateTimeFieldWidth)

      Default width for editable datetime type fields. See `autoFitDateFields` for details on how this property is used.
      Parameters:
        `defaultEditableDateTimeFieldWidth` - New defaultEditableDateTimeFieldWidth value. Default value is varies

    - #### getDefaultEditableDateTimeFieldWidth

          public java.lang.Integer getDefaultEditableDateTimeFieldWidth()

      Default width for editable datetime type fields. See `autoFitDateFields` for details on how this property is used.
      Returns:
        Current defaultEditableDateTimeFieldWidth value. Default value is varies

    - #### 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` - New defaultFields value. 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:
        Current defaultFields value. Default value is null

    - #### setDefaultFilterOperator

          public void setDefaultFilterOperator(OperatorId defaultFilterOperator)
                                        throws java.lang.IllegalStateException

      Default `filter operator` to use for text-based fields in this grid's `filter editor`, when producing `AdvancedCriteria`. When `allowFilterExpressions` or `allowFilterOperators` are enabled for the grid, the default is `"iContainsPattern"`. Otherwise, the default is "iContains".

      Does not apply to special fields where exact match is obviously the right default setting, such as fields of type:"enum", or fields with a `valueMap` or `optionDataSource`.

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

    - #### getDefaultFilterOperator

          public OperatorId getDefaultFilterOperator()

      Default `filter operator` to use for text-based fields in this grid's `filter editor`, when producing `AdvancedCriteria`. When `allowFilterExpressions` or `allowFilterOperators` are enabled for the grid, the default is `"iContainsPattern"`. Otherwise, the default is "iContains".

      Does not apply to special fields where exact match is obviously the right default setting, such as fields of type:"enum", or fields with a `valueMap` or `optionDataSource`.

      Returns:
        Current defaultFilterOperator value. Default value is null

    - #### setDefaultFilterOperatorSuffix

          public void setDefaultFilterOperatorSuffix(java.lang.String defaultFilterOperatorSuffix)
                                              throws java.lang.IllegalStateException

      Text to show after the name of the default filterOperator in the `headerContextMenu` when `allowFilterOperators` is enabled.
      Parameters:
        `defaultFilterOperatorSuffix` - New defaultFilterOperatorSuffix value. Default value is "(default)"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDefaultFilterOperatorSuffix

          public java.lang.String getDefaultFilterOperatorSuffix()

      Text to show after the name of the default filterOperator in the `headerContextMenu` when `allowFilterOperators` is enabled.
      Returns:
        Current defaultFilterOperatorSuffix value. Default value is "(default)"

    - #### setDefaultTimeFieldWidth

          public void setDefaultTimeFieldWidth(java.lang.Integer defaultTimeFieldWidth)

      Default width for time type fields. See `autoFitDateFields` for details on how this property is used.
      Parameters:
        `defaultTimeFieldWidth` - New defaultTimeFieldWidth value. Default value is varies

    - #### getDefaultTimeFieldWidth

          public java.lang.Integer getDefaultTimeFieldWidth()

      Default width for time type fields. See `autoFitDateFields` for details on how this property is used.
      Returns:
        Current defaultTimeFieldWidth value. Default value is varies

    - #### 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 `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` - New deferRemoval value. 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 `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:
        Current deferRemoval value. Default value is null
      See Also:
        `Editing overview and related methods`

    - #### setDeselectOnPartialCheckboxClick

          public void setDeselectOnPartialCheckboxClick(java.lang.Boolean deselectOnPartialCheckboxClick)

      Should partially selected checkbox be deselected or selected on click? This setting affects `header selection checkbox`, `group\n checkboxes` and folder checkbox selection in a Tree data set.

      By default clicking a partially selected checkbox selects it.

      Parameters:
        `deselectOnPartialCheckboxClick` - New deselectOnPartialCheckboxClick value. Default value is false
      See Also:
        `Selection overview and related methods`

    - #### getDeselectOnPartialCheckboxClick

          public java.lang.Boolean getDeselectOnPartialCheckboxClick()

      Should partially selected checkbox be deselected or selected on click? This setting affects `header selection checkbox`, `group\n checkboxes` and folder checkbox selection in a Tree data set.

      By default clicking a partially selected checkbox selects it.

      Returns:
        Current deselectOnPartialCheckboxClick value. Default value is false
      See Also:
        `Selection 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` - New detailDS value. 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:
        Current detailDS value. Default value is null

    - #### 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` - New detailField value. 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:
        Current detailField value. Default value is null

    - #### 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

      Parameters:
        `discardEditsOnHideField` - New discardEditsOnHideField value. 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

      Returns:
        Current discardEditsOnHideField value. Default value is true

    - #### 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` - New discardEditsSaveButtonTitle value. 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:
        Current discardEditsSaveButtonTitle value. Default value is "Save"
      See Also:
        `Editing overview and related methods`

    - #### setDragScrollRedrawDelay

          public void setDragScrollRedrawDelay(int dragScrollRedrawDelay)

      Like `scrollRedrawDelay`, but applies when the component is being drag-scrolled (via a scrollbar). This value is typically set higher than `scrollRedrawDelay` to avoid too many concurrent fetches to the server for `ResultSet`-backed components since it's quite easy to induce such a case with a scrollbar and a grid bound to a large databaset.
      Parameters:
        `dragScrollRedrawDelay` - New dragScrollRedrawDelay value. Default value is 75

    - #### getDragScrollRedrawDelay

          public int getDragScrollRedrawDelay()

      Like `scrollRedrawDelay`, but applies when the component is being drag-scrolled (via a scrollbar). This value is typically set higher than `scrollRedrawDelay` to avoid too many concurrent fetches to the server for `ResultSet`-backed components since it's quite easy to induce such a case with a scrollbar and a grid bound to a large databaset.
      Returns:
        Current dragScrollRedrawDelay value. Default value is 75

    - #### 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` - New dragTrackerMode value. 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:
        Current dragTrackerMode value. Default value is "icon"

    - #### 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` - New drawAheadRatio value. Default value is 2.0
      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:
        Current drawAheadRatio value. Default value is 2.0
      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` - New drawAllMaxCells value. 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:
        Current drawAllMaxCells value. Default value is 250

    - #### 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` - New editByCell value. 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:
        Current editByCell value. Default value is null
      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 `startEditing()`.

      Parameters:
        `editEvent` - New editEvent value. 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 `startEditing()`.

      Returns:
        Current editEvent value. Default value is "doubleClick"
      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` - New editFailedBaseStyle value. Default value is null
      See Also:
        `setBaseStyle(java.lang.String)`, `setEditFailedCSSText(java.lang.String)`, `CSSStyleName`, `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:
        Current editFailedBaseStyle value. Default value is null
      See Also:
        `getBaseStyle()`, `getEditFailedCSSText()`, `CSSStyleName`, `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` - New editFailedCSSText value. 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:
        Current editFailedCSSText value. Default value is "color:red;border:1px solid red;"
      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` - New editOnF2Keypress value. 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:
        Current editOnF2Keypress value. Default value is true
      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` - New editOnFocus value. 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:
        Current editOnFocus value. Default value is null
      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` - New editPendingBaseStyle value. 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)`, `CSSStyleName`, `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:
        Current editPendingBaseStyle value. Default value is null
      See Also:
        `getBaseStyle()`, `CSSStyleName`, `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` - New editPendingCSSText value. 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:
        Current editPendingCSSText value. Default value is "color:#0066CC;"
      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` - New editProxyConstructor value. Default value is "GridEditProxy"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCClassName`

    - #### 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:
        Current editProxyConstructor value. Default value is "GridEditProxy"
      See Also:
        `SCClassName`

    - #### setEditSelectionType

          public void setEditSelectionType(SelectionStyle editSelectionType)

      If `selectOnEdit` is true, what should be the edit-selection behavior be?

      If set to `null` behavior is as follows:

      - For grids with `selectionType` set to `"simple"` edit rows will be selected additively - this is the same behavior as if the `editSelectionType` was `"multiple"`
      - Otherwise edit rows will be selected singly - this is the same behavior as if the `editSelectionType` was `"single"`

      Setting to `"single"` will cause the edit row to be automatically selected and any other selection in the grid to be dropped.
      If set to `"multiple"`, selection will be additive (as a record goes into edit mode, it is selected in addition to any pre-existant selection).

      Parameters:
        `editSelectionType` - New editSelectionType value. Default value is null

    - #### getEditSelectionType

          public SelectionStyle getEditSelectionType()

      If `selectOnEdit` is true, what should be the edit-selection behavior be?

      If set to `null` behavior is as follows:

      - For grids with `selectionType` set to `"simple"` edit rows will be selected additively - this is the same behavior as if the `editSelectionType` was `"multiple"`
      - Otherwise edit rows will be selected singly - this is the same behavior as if the `editSelectionType` was `"single"`

      Setting to `"single"` will cause the edit row to be automatically selected and any other selection in the grid to be dropped.
      If set to `"multiple"`, selection will be additive (as a record goes into edit mode, it is selected in addition to any pre-existant selection).

      Returns:
        Current editSelectionType value. Default value is null

    - #### 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` - New emptyCellValue value. Default value is "&nbsp;"
      See Also:
        `ListGridField.setEmptyCellValue(java.lang.String)`, `HTMLString`, 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:
        Current emptyCellValue value. Default value is "&nbsp;"
      See Also:
        `ListGridField.getEmptyCellValue()`, `HTMLString`, 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` - New emptyMessage value. Default value is "No items to show."
      See Also:
        `HTMLString`, 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:
        Current emptyMessage value. Default value is "No items to show."
      See Also:
        `HTMLString`, Empty grid Example

    - #### setEmptyMessageStyle

          public void setEmptyMessageStyle(java.lang.String emptyMessageStyle)

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

    - #### getEmptyMessageStyle

          public java.lang.String getEmptyMessageStyle()

      The CSS style name applied to the `emptyMessage` if displayed.
      Returns:
        Current emptyMessageStyle value. Default value is "emptyMessage"
      See Also:
        `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` - New enforceVClipping value. 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:
        Current enforceVClipping value. Default value is false

    - #### 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` - New enterKeyEditAction value. 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:
        Current enterKeyEditAction value. Default value is "done"
      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` - New enumCriteriaAsInitialValues value. 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:
        Current enumCriteriaAsInitialValues value. Default value is true
      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` - New errorIconHeight value. 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:
        Current errorIconHeight value. Default value is 16

    - #### 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` - New errorIconSrc value. Default value is "[SKIN]/ListGrid/validation_error_icon.png"
      See Also:
        `SCImgURL`

    - #### 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:
        Current errorIconSrc value. Default value is "[SKIN]/ListGrid/validation_error_icon.png"
      See Also:
        `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` - New errorIconWidth value. 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:
        Current errorIconWidth value. Default value is 16

    - #### 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` - New escapeKeyEditAction value. 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:
        Current escapeKeyEditAction value. Default value is "cancel"
      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` - New expansionCanEdit value. 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:
        Current expansionCanEdit value. Default value is null

    - #### 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` - New expansionComponentPoolingMode value. 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:
        Current expansionComponentPoolingMode value. Default value is "destroy"

    - #### 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:
        Current expansionEditorCollapseOnSave value. Default value is true
      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:
        Current expansionEditorSaveButtonTitle value. Default value is "Save"
      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` - New expansionEditorSaveDialogPrompt value. 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:
        Current expansionEditorSaveDialogPrompt value. Default value is "You have unsaved changes - do you want to save them now?"

    - #### 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` - New expansionEditorShowSaveDialog value. 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:
        Current expansionEditorShowSaveDialog value. Default value is null

    - #### getExpansionField

          public ListGridField getExpansionField()
                                          throws java.lang.IllegalStateException

      The field providing the facility to expand and collapse rows.

      This component is an AutoChild named "expansionField". 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 `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`. Default value is null

      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` - New expansionFieldFalseImage value. Default value is null
      See Also:
        `setExpansionFieldTrueImage(java.lang.String)`, `setExpansionFieldImageWidth(java.lang.Integer)`, `setExpansionFieldImageHeight(java.lang.Integer)`, `SCImgURL`

    - #### 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:
        Current expansionFieldFalseImage value. Default value is null
      See Also:
        `getExpansionFieldTrueImage()`, `getExpansionFieldImageWidth()`, `getExpansionFieldImageHeight()`, `SCImgURL`

    - #### 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` - New expansionFieldImageHeight value. 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:
        Current expansionFieldImageHeight value. Default value is null

    - #### setExpansionFieldImageShowSelected

          public void setExpansionFieldImageShowSelected(boolean expansionFieldImageShowSelected)
                                                  throws java.lang.IllegalStateException

      Should a "_selected" suffix be added to the `expansionFieldTrueImage` and `expansionFieldFalseImage` image URLs for selected rows?

      This allows developers to provide separate expansion field media for selected rows, in case the selected row style does not contrast well with the standard expansion field image media.

      If both this property and `expansionFieldImageShowRTL` are true, and the grid is in RTL mode, both suffixes will be applied to selected rows' expansion field image (combined as "selected_rtl")

      Note : This is an advanced setting

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

    - #### getExpansionFieldImageShowSelected

          public boolean getExpansionFieldImageShowSelected()

      Should a "_selected" suffix be added to the `expansionFieldTrueImage` and `expansionFieldFalseImage` image URLs for selected rows?

      This allows developers to provide separate expansion field media for selected rows, in case the selected row style does not contrast well with the standard expansion field image media.

      If both this property and `expansionFieldImageShowRTL` are true, and the grid is in RTL mode, both suffixes will be applied to selected rows' expansion field image (combined as "selected_rtl")

      Returns:
        Current expansionFieldImageShowSelected value. Default value is false

    - #### 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` - New expansionFieldImageWidth value. 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:
        Current expansionFieldImageWidth value. Default value is null

    - #### 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` - New expansionFieldTrueImage value. Default value is null
      See Also:
        `setExpansionFieldFalseImage(java.lang.String)`, `setExpansionFieldImageWidth(java.lang.Integer)`, `setExpansionFieldImageHeight(java.lang.Integer)`, `SCImgURL`

    - #### 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:
        Current expansionFieldTrueImage value. Default value is null
      See Also:
        `getExpansionFieldFalseImage()`, `getExpansionFieldImageWidth()`, `getExpansionFieldImageHeight()`, `SCImgURL`

    - #### 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` - New expansionMode value. Default value is null

    - #### getExpansionMode

          public ExpansionMode getExpansionMode()

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

    - #### 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 `ListGridRecord.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` - New exportAlternateRowBGColor value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSColor`

    - #### 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:
        Current exportAlternateRowBGColor value. Default value is null
      See Also:
        `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` - New exportDefaultBGColor value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSColor`

    - #### 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:
        Current exportDefaultBGColor value. Default value is null
      See Also:
        `CSSColor`

    - #### setExportFieldAlignments

          public void setExportFieldAlignments(boolean exportFieldAlignments)

      When exporting data to Excel/OpenOffice format using `exportData()` or `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 `DSRequest.exportDatesAsFormattedString` is set)

      Parameters:
        `exportFieldAlignments` - New exportFieldAlignments value. Default value is false

    - #### getExportFieldAlignments

          public boolean getExportFieldAlignments()

      When exporting data to Excel/OpenOffice format using `exportData()` or `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 `DSRequest.exportDatesAsFormattedString` is set)

      Returns:
        Current exportFieldAlignments value. Default value is false

    - #### setExportFieldWidths

          public void setExportFieldWidths(boolean exportFieldWidths)

      When exporting data to Excel/OpenOffice format using `exportData()` or `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 `ListGridField.exportFieldWidth` flag.

      Parameters:
        `exportFieldWidths` - New exportFieldWidths value. Default value is false

    - #### getExportFieldWidths

          public boolean getExportFieldWidths()

      When exporting data to Excel/OpenOffice format using `exportData()` or `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 `ListGridField.exportFieldWidth` flag.

      Returns:
        Current exportFieldWidths value. Default value is false

    - #### setExportHeaderHeights

          public void setExportHeaderHeights(boolean exportHeaderHeights)

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

    - #### getExportHeaderHeights

          public boolean getExportHeaderHeights()

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

    - #### 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` - New exportRawValues value. 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:
        Current exportRawValues value. Default value is null

    - #### 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` - New exportWidthScale value. 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:
        Current exportWidthScale value. Default value is 0.12

    - #### setExportWrapHeaderTitles

          public void setExportWrapHeaderTitles(boolean exportWrapHeaderTitles)

      When exporting data to Excel/OpenOffice format using `exportData()` or `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` - New exportWrapHeaderTitles value. Default value is false

    - #### getExportWrapHeaderTitles

          public boolean getExportWrapHeaderTitles()

      When exporting data to Excel/OpenOffice format using `exportData()` or `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:
        Current exportWrapHeaderTitles value. Default value is false

    - #### 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 `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 `GridRenderer.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` - New fetchDelay value. 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:
        Current fetchDelay value. Default value is 300

    - #### 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 `ListGridField.frozen` and `ListGridField.decimalPrecision` respectively.

      Parameters:
        `fieldPickerFieldProperties` - New fieldPickerFieldProperties value. 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 `ListGridField.frozen` and `ListGridField.decimalPrecision` respectively.

      Returns:
        Current fieldPickerFieldProperties value. Default value is null

    - #### 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` - New fieldPickerShowSampleValues value. 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:
        Current fieldPickerShowSampleValues value. Default value is true

    - #### getFieldPickerWindow

          public FieldPickerWindow getFieldPickerWindow()
                                                 throws java.lang.IllegalStateException

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

      This component is an AutoChild named "fieldPickerWindow". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current fieldPickerWindow value. Default value is null
      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 `DataBoundComponent.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: `resizeField()`, `reorderField()`, `showField()`, `hideField()`, or `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 `DataBoundComponent.fields`.

      Returns:
        Get the array of all currently visible fields for this ListGrid.

        This list fields is only valid once the ListGrid has been `drawn` or once `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 `showField()`, `hideField()` and related APIs. To update properties of individual fields, use `setFieldProperties()` or more specific APIs such as `setFieldTitle()`.

        To get the Array of all fields, including fields that are not currently visible or were specified implicitly, use `getAllFields()`. 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

    - #### 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 `getFieldState()`.

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

    - #### 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 `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. Default value is null

      See Also:
        `ListGridFieldState`

    - #### 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` - New fieldVisibilitySubmenuTitle value. 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:
        Current fieldVisibilitySubmenuTitle value. Default value is "Columns"

    - #### 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` - New filterButtonPrompt value. 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:
        Current filterButtonPrompt value. Default value is "Filter"

    - #### 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` - New filterButtonProperties value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SGWTProperties`

    - #### 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:
        Current filterButtonProperties value. Default value is null

    - #### 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` - New filterByCell value. 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:
        Current filterByCell value. Default value is null

    - #### 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`.

      This component is an AutoChild named "filterEditor". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current filterEditor value. Default value is null
      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` - New filterEditorHeight value. Default value is 22

    - #### getFilterEditorHeight

          public int getFilterEditorHeight()

      Height for the filterEditor, if shown.
      Returns:
        Current filterEditorHeight value. Default value is 22

    - #### setFilterEditorProperties

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

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

    - #### getFilterEditorProperties

          public RecordEditor getFilterEditorProperties()

      Properties to apply to the automatically generated `filterEditor` if `showFilterEditor` is true.
      Returns:
        Current filterEditorProperties value. Default value is null

    - #### setFilterLocalData

          public void setFilterLocalData(java.lang.Boolean filterLocalData)
                                  throws java.lang.IllegalStateException

      Causes filtering to be performed against the local data set, even when a `dataSource` is provided.

      When using this mode, data must be provided to the grid via `setData()`, and must be provided as a RecordList.

      Note that a `dataSource` must be provided for filtering to occur even when filtering locally.

      If this property is set to true, the supplied data 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`.

      `filterLocalData` includes both calls to `fetchData()` and `filterData()` as well as automatic filtering when the `filterEditor` is enabled.

      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.

      See also `saveLocally` to cause saves to ignore the DataSource and affect the local data set only.

      Note : This is an advanced setting

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

    - #### getFilterLocalData

          public java.lang.Boolean getFilterLocalData()

      Causes filtering to be performed against the local data set, even when a `dataSource` is provided.

      When using this mode, data must be provided to the grid via `setData()`, and must be provided as a RecordList.

      Note that a `dataSource` must be provided for filtering to occur even when filtering locally.

      If this property is set to true, the supplied data 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`.

      `filterLocalData` includes both calls to `fetchData()` and `filterData()` as well as automatic filtering when the `filterEditor` is enabled.

      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.

      See also `saveLocally` to cause saves to ignore the DataSource and affect the local data set only.

      Returns:
        Current filterLocalData value. Default value is null

    - #### 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` - New filterOnKeypress value. 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:
        Current filterOnKeypress value. Default value is null

    - #### setFilterUsingText

          public void setFilterUsingText(java.lang.String filterUsingText)
                                  throws java.lang.IllegalStateException

      Text for the menu item shown in the `headerContextMenu` when `allowFilterOperators` is enabled.
      Parameters:
        `filterUsingText` - New filterUsingText value. Default value is "Filter using"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getFilterUsingText

          public java.lang.String getFilterUsingText()

      Text for the menu item shown in the `headerContextMenu` when `allowFilterOperators` is enabled.
      Returns:
        Current filterUsingText value. Default value is "Filter using"

    - #### 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` - New fixedFieldWidths value. 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:
        Current fixedFieldWidths value. Default value is true

    - #### 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 `CubeGrid.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.
      If this method is called after the component has been drawn/initialized: Setter for `fixedRecordHeights`

      Note : This is an advanced setting

      Parameters:
        `fixedRecordHeights` - New fixedRecordHeights value. 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 `CubeGrid.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:
        Current fixedRecordHeights value. Default value is true
      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` - New formulaBuilderSpanTitleSeparator value. 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:
        Current formulaBuilderSpanTitleSeparator value. Default value is " - "

    - #### 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` - New freezeFieldText value. Default value is "Freeze ${title}"
      See Also:
        `HTMLString`

    - #### 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:
        Current freezeFieldText value. Default value is "Freeze ${title}"
      See Also:
        `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` - New freezeOnLeftText value. 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:
        Current freezeOnLeftText value. Default value is "Freeze on left"

    - #### 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` - New freezeOnRightText value. 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:
        Current freezeOnRightText value. Default value is "Freeze on right"

    - #### 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` - New frozenBaseStyle value. Default value is null
      See Also:
        `setBaseStyle(java.lang.String)`, `ListGridField.setFrozen(java.lang.Boolean)`, `FrozenFields 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:
        Current frozenBaseStyle value. Default value is null
      See Also:
        `getBaseStyle()`, `ListGridField.getFrozen()`, `FrozenFields 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` - New frozenHeaderBaseStyle value. 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)`, `CSSStyleName`, `FrozenFields 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:
        Current frozenHeaderBaseStyle value. Default value is null
      See Also:
        `getHeaderBaseStyle()`, `ListGridField.getFrozen()`, `CSSStyleName`, `FrozenFields 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` - New frozenHeaderTitleStyle value. 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)`, `CSSStyleName`, `FrozenFields 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:
        Current frozenHeaderTitleStyle value. Default value is null
      See Also:
        `getHeaderTitleStyle()`, `ListGridField.getFrozen()`, `CSSStyleName`, `FrozenFields 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` - New generateClickOnEnter value. 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:
        Current generateClickOnEnter value. Default value is false

    - #### 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` - New generateClickOnSpace value. 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:
        Current generateClickOnSpace value. Default value is true

    - #### 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` - New generateDoubleClickOnEnter value. 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:
        Current generateDoubleClickOnEnter value. Default value is true

    - #### 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` - New generateDoubleClickOnSpace value. 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:
        Current generateDoubleClickOnSpace value. Default value is false

    - #### 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` - New gridComponents value. 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:
        Current gridComponents value. Default value is (see below)

    - #### 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` - New gridComponents value. 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` - New gridSummaryRecordProperty value. 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:
        Current gridSummaryRecordProperty value. Default value is "isGridSummary"

    - #### 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 async 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 asynchronous, the current recommendation is to avoid working with overly large datasets until the affected versions of IE are obsoleted.

      Parameters:
        `groupByAsyncThreshold` - New groupByAsyncThreshold value. 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 async 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 asynchronous, the current recommendation is to avoid working with overly large datasets until the affected versions of IE are obsoleted.

      Returns:
        Current groupByAsyncThreshold value. Default value is 50

    - #### 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 `groupBy()` to update the grouping field list, instead of modifying groupByField directly.
      Parameters:
        `groupByField` - New groupByField value. 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 `groupBy()` to update the grouping field list, instead of modifying groupByField directly.
      Parameters:
        `groupByField` - New groupByField value. 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:
        Current groupByFieldSummaries value. Default value is null
      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 `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 `TreeGrid.loadDataOnDemand` with server-side grouping code.

      Parameters:
        `groupByMaxRecords` - New groupByMaxRecords value. 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 `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 `TreeGrid.loadDataOnDemand` with server-side grouping code.

      Returns:
        Current groupByMaxRecords value. Default value is 1000
      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` - New groupByText value. Default value is "Group by ${title}"
      See Also:
        `HTMLString`

    - #### 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. Default value is "Group by ${title}"
      See Also:
        `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` - New groupIcon value. Default value is "[SKINIMG]/TreeGrid/opener.gif"
      See Also:
        `SCImgURL`

    - #### 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:
        Current groupIcon value. Default value is "[SKINIMG]/TreeGrid/opener.gif"
      See Also:
        `SCImgURL`

    - #### setGroupIconSize

          public void setGroupIconSize(int groupIconSize)

      Default width and height of group icons for this ListGrid.
      Parameters:
        `groupIconSize` - New groupIconSize value. 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:
        Current groupIconSize value. Default value is 16
      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` - New groupIndentSize value. 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:
        Current groupIndentSize value. Default value is 20
      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` - New groupLeadingIndent value. 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:
        Current groupLeadingIndent value. Default value is 10
      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` - New groupNodeBaseStyle value. 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:
        Current groupNodeBaseStyle value. Default value is null

    - #### 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` - New groupNodeStyle value. 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:
        Current groupNodeStyle value. Default value is "groupNode"

    - #### 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` - New groupSortDirection value. 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:
        Current groupSortDirection value. Default value is null

    - #### 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 `getGroupState()`.

      Parameters:
        `groupState` - Object describing the desired grouping state of the grid. Default value is null
      See Also:
        `ListGridGroupState`

    - #### 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 `setGroupState()` to reset this grid's grouping to the current state (assuming the same data / fields are present in the grid).
        . Default value is null
      See Also:
        `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` - New groupSummaryRecordProperty value. 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:
        Current groupSummaryRecordProperty value. Default value is "isGroupSummary"

    - #### setGroupSummaryStyle

          public void setGroupSummaryStyle(java.lang.String groupSummaryStyle)
                                    throws java.lang.IllegalStateException

      `ListGridRecord.customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
      Parameters:
        `groupSummaryStyle` - New groupSummaryStyle value. Default value is "gridSummaryCell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSStyleName`

    - #### getGroupSummaryStyle

          public java.lang.String getGroupSummaryStyle()

      `ListGridRecord.customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
      Returns:
        Current groupSummaryStyle value. Default value is "gridSummaryCell"
      See Also:
        `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` - New groupTitleColumnProperties value. 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:
        Current groupTitleColumnProperties value. Default value is null

    - #### 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` - New groupTitleField value. 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:
        Current groupTitleField value. Default value is null
      See Also:
        `groupBy(java.lang.String...)`

    - #### getGroupTree

          public Tree getGroupTree()

      The data tree that results from a call to `groupBy()`. This will be a `ResultTree` if `dataSource` is present, otherwise it will be a `Tree`.

      This component is an AutoChild named "groupTree". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current groupTree value. Default value is null
      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.

      This component is an AutoChild named "header". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current header value. Default value is null
      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.

      Only has an impact when `canAutoFitFields` or `ListGridField.canAutoFitWidth` is set to `true`.

      Parameters:
        `headerAutoFitEvent` - New headerAutoFitEvent value. 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.

      Only has an impact when `canAutoFitFields` or `ListGridField.canAutoFitWidth` is set to `true`.

      Returns:
        Current headerAutoFitEvent value. Default value is "doubleClick"

    - #### 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` - New headerBackgroundColor value. Default value is "#CCCCCC"
      See Also:
        `CSSColor`, `Appearance 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:
        Current headerBackgroundColor value. Default value is "#CCCCCC"
      See Also:
        `CSSColor`, `Appearance 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` - New headerBarStyle value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSStyleName`, `Appearance overview and related methods`

    - #### getHeaderBarStyle

          public java.lang.String getHeaderBarStyle()

      Set the CSS style used for the header as a whole.
      Returns:
        Current headerBarStyle value. Default value is null
      See Also:
        `CSSStyleName`, `Appearance overview and related methods`

    - #### setHeaderBaseStyle

          public void setHeaderBaseStyle(java.lang.String headerBaseStyle)
                                  throws java.lang.IllegalStateException

      `Button.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`.

      #### Rotated Titles

      The Framework doesn't have built-in support for rotating header button titles in a fashion similar to `FacetChart.rotateLabels`. However, you can manually configure a grid to render with rotated labels by applying a fixed `ListGridField.width` to each button, a large `headerHeight` to the grid, and custom CSS via this property.

      For example, given a grid with a header height of 120 and field widths of 48, if you copied the existing headerButtonXXX style declarations from skin_styles.css as new, customHeaderButtonXXX declarations, and then added the lines:

                -ms-transform:     translate(-32px,0px) rotate(270deg);
                -webkit-transform: translate(-32px,0px) rotate(270deg);
                transform:         translate(-32px,0px) rotate(270deg);
                width:110px;

      in the declaration section beginning:

            .customHeaderButton,
            .customHeaderButtonSelected,
            .customHeaderButtonSelectedOver,
            .customHeaderButtonSelectedDown,
            .customHeaderButtonSelectedDisabled,
            .customHeaderButtonOver,
            .customHeaderButtonDown,
            .customHeaderButtonDisabled {

      you'd get vertically rendered titles with overflow via ellipsis as expected, and also wrap with `wrapHeaderTitles`. The explicit width applied via CSS is needed because rotated elements don't inherit dimensions in their new orientation from the DOM - the transform/rotation occurs independently of layout.
      Parameters:
        `headerBaseStyle` - New headerBaseStyle value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setClipHeaderTitles(java.lang.Boolean)`, `setWrapHeaderTitles(java.lang.Boolean)`, `CSSStyleName`, `Appearance overview and related methods`

    - #### getHeaderBaseStyle

          public java.lang.String getHeaderBaseStyle()

      `Button.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`.

      #### Rotated Titles

      The Framework doesn't have built-in support for rotating header button titles in a fashion similar to `FacetChart.rotateLabels`. However, you can manually configure a grid to render with rotated labels by applying a fixed `ListGridField.width` to each button, a large `headerHeight` to the grid, and custom CSS via this property.

      For example, given a grid with a header height of 120 and field widths of 48, if you copied the existing headerButtonXXX style declarations from skin_styles.css as new, customHeaderButtonXXX declarations, and then added the lines:

                -ms-transform:     translate(-32px,0px) rotate(270deg);
                -webkit-transform: translate(-32px,0px) rotate(270deg);
                transform:         translate(-32px,0px) rotate(270deg);
                width:110px;

      in the declaration section beginning:

            .customHeaderButton,
            .customHeaderButtonSelected,
            .customHeaderButtonSelectedOver,
            .customHeaderButtonSelectedDown,
            .customHeaderButtonSelectedDisabled,
            .customHeaderButtonOver,
            .customHeaderButtonDown,
            .customHeaderButtonDisabled {

      you'd get vertically rendered titles with overflow via ellipsis as expected, and also wrap with `wrapHeaderTitles`. The explicit width applied via CSS is needed because rotated elements don't inherit dimensions in their new orientation from the DOM - the transform/rotation occurs independently of layout.
      Returns:
        Current headerBaseStyle value. Default value is null
      See Also:
        `getClipHeaderTitles()`, `getWrapHeaderTitles()`, `CSSStyleName`, `Appearance 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` - New headerButtonProperties value. 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`, `SGWTProperties`

    - #### getHeaderButtonProperties

          public Button getHeaderButtonProperties()

      Properties to apply to all header buttons. Overrides defaults applied via `headerButtonDefaults`.
      Returns:
        Current headerButtonProperties value. Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getHeaderContextMenu

          public Canvas getHeaderContextMenu()
                                      throws java.lang.IllegalStateException

      The context menu displayed for column headers.

      This component is an AutoChild named "headerContextMenu". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current headerContextMenu value. Default value is null
      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:
        Current headerHeight value. Default value is 22
      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` - New headerHoverAlign value. 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:
        Current headerHoverAlign value. Default value is null

    - #### setHeaderHoverHeight

          public void setHeaderHoverHeight(java.lang.Integer headerHoverHeight)

      Optional default height for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverHeight` - New headerHoverHeight value. Default value is null

    - #### getHeaderHoverHeight

          public java.lang.Integer getHeaderHoverHeight()

      Optional default height for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Current headerHoverHeight value. Default value is null

    - #### 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` - New headerHoverOpacity value. 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:
        Current headerHoverOpacity value. Default value is null

    - #### 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` - New headerHoverStyle value. Default value is null
      See Also:
        `CSSStyleName`

    - #### getHeaderHoverStyle

          public java.lang.String getHeaderHoverStyle()

      This property may be set to customize the css style for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Current headerHoverStyle value. Default value is null
      See Also:
        `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` - New headerHoverVAlign value. 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:
        Current headerHoverVAlign value. Default value is null

    - #### setHeaderHoverWidth

          public void setHeaderHoverWidth(java.lang.Integer headerHoverWidth)

      Optional default width for the hover shown on `ListGrid.headerHover()`.
      Parameters:
        `headerHoverWidth` - New headerHoverWidth value. Default value is null

    - #### getHeaderHoverWidth

          public java.lang.Integer getHeaderHoverWidth()

      Optional default width for the hover shown on `ListGrid.headerHover()`.
      Returns:
        Current headerHoverWidth value. Default value is null

    - #### 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` - New headerHoverWrap value. 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:
        Current headerHoverWrap value. Default value is null

    - #### 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 `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 free-form modifications to autoChild widgets

      This component is an AutoChild named "headerMenuButton". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current headerMenuButton value. Default value is null
      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` - New headerMenuButtonHeight value. 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:
        Current headerMenuButtonHeight value. Default value is "100%"

    - #### 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` - New headerMenuButtonIcon value. Default value is "[SKIN]/ListGrid/headerMenuButton_icon.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `URL`

    - #### getHeaderMenuButtonIcon

          public java.lang.String getHeaderMenuButtonIcon()

      If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`
      Returns:
        Current headerMenuButtonIcon value. Default value is "[SKIN]/ListGrid/headerMenuButton_icon.gif"
      See Also:
        `URL`

    - #### 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` - New headerMenuButtonIconHeight value. 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:
        Current headerMenuButtonIconHeight value. Default value is 7

    - #### 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` - New headerMenuButtonIconWidth value. 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:
        Current headerMenuButtonIconWidth value. Default value is 7

    - #### 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` - New headerMenuButtonWidth value. 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:
        Current headerMenuButtonWidth value. Default value is 16

    - #### setHeaderShadowColor

          public void setHeaderShadowColor(java.lang.String headerShadowColor)
                                    throws java.lang.IllegalStateException

      If `showHeaderShadow` is true, the `Canvas.shadowColor` for the header shadow.

      Note : This is an advanced setting

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

    - #### getHeaderShadowColor

          public java.lang.String getHeaderShadowColor()

      If `showHeaderShadow` is true, the `Canvas.shadowColor` for the header shadow.
      Returns:
        Current headerShadowColor value. Default value is null
      See Also:
        `CSSColor`

    - #### setHeaderShadowHOffset

          public void setHeaderShadowHOffset(int headerShadowHOffset)
                                      throws java.lang.IllegalStateException

      If `showHeaderShadow` is true, the `Canvas.shadowHOffset` for the header shadow

      Note : This is an advanced setting

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

    - #### getHeaderShadowHOffset

          public int getHeaderShadowHOffset()

      If `showHeaderShadow` is true, the `Canvas.shadowHOffset` for the header shadow
      Returns:
        Current headerShadowHOffset value. Default value is 0

    - #### setHeaderShadowSoftness

          public void setHeaderShadowSoftness(int headerShadowSoftness)
                                       throws java.lang.IllegalStateException

      If `showHeaderShadow` is true, the `Canvas.shadowSoftness` for the header shadow

      Note : This is an advanced setting

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

    - #### getHeaderShadowSoftness

          public int getHeaderShadowSoftness()

      If `showHeaderShadow` is true, the `Canvas.shadowSoftness` for the header shadow
      Returns:
        Current headerShadowSoftness value. Default value is 1

    - #### setHeaderShadowVOffset

          public void setHeaderShadowVOffset(int headerShadowVOffset)
                                      throws java.lang.IllegalStateException

      If `showHeaderShadow` is true, the `Canvas.shadowVOffset` for the header shadow

      Note : This is an advanced setting

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

    - #### getHeaderShadowVOffset

          public int getHeaderShadowVOffset()

      If `showHeaderShadow` is true, the `Canvas.shadowVOffset` for the header shadow
      Returns:
        Current headerShadowVOffset value. Default value is 1

    - #### 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` - New headerSpanHeight value. 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:
        Current headerSpanHeight value. Default value is null

    - #### 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 `HeaderSpan.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 reordered to match the order specified in the span's `HeaderSpan.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

      `StretchImgButton.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` - New headerTitleStyle value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSStyleName`, `Appearance overview and related methods`

    - #### getHeaderTitleStyle

          public java.lang.String getHeaderTitleStyle()

      `StretchImgButton.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:
        Current headerTitleStyle value. Default value is null
      See Also:
        `CSSStyleName`, `Appearance overview and related methods`

    - #### setHideEmptySummaryRow

          public void setHideEmptySummaryRow(java.lang.Boolean hideEmptySummaryRow)

      If true, causes the `summaryRow` component to be hidden if it has no data after summaries have been recalculated
      Parameters:
        `hideEmptySummaryRow` - New hideEmptySummaryRow value. Default value is null

    - #### getHideEmptySummaryRow

          public java.lang.Boolean getHideEmptySummaryRow()

      If true, causes the `summaryRow` component to be hidden if it has no data after summaries have been recalculated
      Returns:
        Current hideEmptySummaryRow value. Default value is null

    - #### 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 `Hilite.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 lieu of the cell's original value.

      Parameters:
        `hiliteCanReplaceValue` - New hiliteCanReplaceValue value. 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 `Hilite.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 lieu of the cell's original value.

      Returns:
        Current hiliteCanReplaceValue value. Default value is null
      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` - New hiliteEditorSpanTitleSeparator value. 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:
        Current hiliteEditorSpanTitleSeparator value. Default value is " - "

    - #### 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:

      - `Hilite.replacementValue`
      - `Hilite.htmlBefore`
      - `Hilite.htmlAfter`
      - `Hilite.htmlValue`

      May be overridden per field via `ListGridField.hiliteHTMLAfterFormat`

      Parameters:
        `hiliteHTMLAfterFormat` - New hiliteHTMLAfterFormat value. 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:

      - `Hilite.replacementValue`
      - `Hilite.htmlBefore`
      - `Hilite.htmlAfter`
      - `Hilite.htmlValue`

      May be overridden per field via `ListGridField.hiliteHTMLAfterFormat`

      Returns:
        Current hiliteHTMLAfterFormat value. Default value is true

    - #### 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` - New hiliteIconHeight value. 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:
        Current hiliteIconHeight value. Default value is null
      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` - New hiliteIconLeftPadding value. 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:
        Current hiliteIconLeftPadding value. Default value is 2
      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 overridden at the field level.
      Parameters:
        `hiliteIconPosition` - New hiliteIconPosition value. 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 overridden at the field level.
      Returns:
        Current hiliteIconPosition value. Default value is "before"
      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` - New hiliteIconRightPadding value. 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:
        Current hiliteIconRightPadding value. Default value is 2
      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 `Hilite.icon` set to the chosen icon. `DataBoundComponent.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 overridden at the field level.

      Parameters:
        `hiliteIcons` - New hiliteIcons value. 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 `Hilite.icon` set to the chosen icon. `DataBoundComponent.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 overridden at the field level.

      Returns:
        Current hiliteIcons value. Default value is ["[SKINIMG]/Dialog/notify.png", "[SKINIMG]/Dialog/warn.png", "[SKINIMG]/actions/approve.png"]
      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` - New hiliteIconSize value. 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:
        Current hiliteIconSize value. Default value is 12
      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` - New hiliteIconWidth value. 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:
        Current hiliteIconWidth value. Default value is null
      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` - New hiliteReplaceValueFieldTitle value. 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:
        Current hiliteReplaceValueFieldTitle value. Default value is "Replace value with"

    - #### 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` - New hiliteRowOnFocus value. 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:
        Current hiliteRowOnFocus value. Default value is null

    - #### 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` - New hoverMode value. 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:
        Current hoverMode value. Default value is null

    - #### 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` - New hoverStyle value. Default value is "gridHover"
      See Also:
        `setShowHover(java.lang.Boolean)`, `CSSStyleName`

    - #### getHoverStyle

          public java.lang.String getHoverStyle()

      Style to apply to hovers shown over this grid.
      Overrides:
        `getHoverStyle` in class `Canvas`
      Returns:
        Current hoverStyle value. Default value is "gridHover"
      See Also:
        `getShowHover()`, `CSSStyleName`

    - #### 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` - New iconPadding value. 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:
        Current iconPadding value. Default value is 2

    - #### setImageSize

          public void setImageSize(int imageSize)

      Default size of thumbnails shown for fieldTypes image and imageFile. Overrideable on a per-field basis via `ListGridField.imageSize` or `ListGridField.imageWidth`/`ListGridField.imageHeight`
      Parameters:
        `imageSize` - New imageSize value. 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 `ListGridField.imageSize` or `ListGridField.imageWidth`/`ListGridField.imageHeight`
      Returns:
        Current imageSize value. Default value is 16
      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` - New includeHilitesInSummaryFields value. Default value is true
      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:
        Current includeHilitesInSummaryFields value. Default value is true
      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` - New includeInSummaryProperty value. 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:
        Current includeInSummaryProperty value. Default value is "includeInSummary"

    - #### 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` - New initialSort value. 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:
        Current initialSort value. Default value is null

    - #### 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` - New instantScrollTrackRedraw value. 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:
        Current instantScrollTrackRedraw value. Default value is true

    - #### 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 `setCellFormatter()` or `formatGridSummary()`, for example - this property has no effect.

      Note : This is an advanced setting

      Parameters:
        `invalidSummaryValue` - New invalidSummaryValue value. 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 `setCellFormatter()` or `formatGridSummary()`, for example - this property has no effect.
      Returns:
        Current invalidSummaryValue value. Default value is "&nbsp;"

    - #### 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:
        Current isGrouped value. Default value is false
      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` - New isSeparatorProperty value. 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:
        Current isSeparatorProperty value. Default value is "isSeparator"

    - #### setLeaveHeaderMenuButtonSpace

          public void setLeaveHeaderMenuButtonSpace(java.lang.Boolean leaveHeaderMenuButtonSpace)

      If `showHeaderMenuButton` is true, when auto-fitting fields to the title width via `autoFitFieldWidths` or `ListGridField.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 `ListGridField.align` set to `"left"` or `"right"`, but not for fields with align set to `"center"`.

      Note : This is an advanced setting

      Parameters:
        `leaveHeaderMenuButtonSpace` - New leaveHeaderMenuButtonSpace value. Default value is null
      See Also:
        `setSortArrowMenuButtonSpaceOffset(int)`, `setSortNumeralMenuButtonSpaceOffset(int)`

    - #### 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` - New leaveScrollbarGap value. 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:
        Current leaveScrollbarGap value. Default value is true
      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 `ListGridField.linkTextProperty` if you have more than one link field and

      Parameters:
        `linkTextProperty` - New linkTextProperty value. 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 `ListGridField.linkTextProperty` if you have more than one link field and

      Returns:
        Current linkTextProperty value. Default value is "linkText"
      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` - New listEndEditAction value. 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:
        Current listEndEditAction value. Default value is null
      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` - New loadingDataMessage value. Default value is "${loadingImage}&nbsp;Loading data..."
      See Also:
        `setLoadingDataMessageStyle(java.lang.String)`, `HTMLString`

    - #### 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:
        Current loadingDataMessage value. Default value is "${loadingImage}&nbsp;Loading data..."
      See Also:
        `getLoadingDataMessageStyle()`, `HTMLString`

    - #### setLoadingDataMessageStyle

          public void setLoadingDataMessageStyle(java.lang.String loadingDataMessageStyle)

      The CSS style name applied to the loadingDataMessage string if displayed.
      Parameters:
        `loadingDataMessageStyle` - New loadingDataMessageStyle value. Default value is "loadingDataMessage"
      See Also:
        `CSSStyleName`

    - #### getLoadingDataMessageStyle

          public java.lang.String getLoadingDataMessageStyle()

      The CSS style name applied to the loadingDataMessage string if displayed.
      Returns:
        Current loadingDataMessageStyle value. Default value is "loadingDataMessage"
      See Also:
        `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` - New loadingMessage value. 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:
        Current loadingMessage value. Default value is "&nbsp;"

    - #### 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` - New locateColumnsBy value. Default value is null
      See Also:
        `LocatorStrategy`

    - #### 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:
        Current locateColumnsBy value. Default value is null
      See Also:
        `LocatorStrategy`

    - #### 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` - New locateRowsBy value. Default value is null
      See Also:
        `LocatorStrategy`

    - #### 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:
        Current locateRowsBy value. Default value is null
      See Also:
        `LocatorStrategy`

    - #### setLongTextEditorThreshold

          public void setLongTextEditorThreshold(int longTextEditorThreshold)

      When the length of the field specified by `DataSourceField.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` - New longTextEditorThreshold value. Default value is 255
      See Also:
        `Editing overview and related methods`

    - #### getLongTextEditorThreshold

          public int getLongTextEditorThreshold()

      When the length of the field specified by `DataSourceField.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:
        Current longTextEditorThreshold value. Default value is 255
      See Also:
        `Editing overview and related methods`

    - #### setLongTextEditorType

          public void setLongTextEditorType(java.lang.String longTextEditorType)

      When the length of the field specified by `DataSourceField.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` - New longTextEditorType value. 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 `DataSourceField.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:
        Current longTextEditorType value. Default value is "PopUpTextAreaItem"
      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` - New maxExpandedRecords value. 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:
        Current maxExpandedRecords value. Default value is null

    - #### 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` - New maxExpandedRecordsPrompt value. 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
      See Also:
        `HTMLString`

    - #### 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:
        Current maxExpandedRecordsPrompt value. Default value is "This grid is limited to ${count} simultaneously expanded records. Please collapse some expanded records and retry."
      See Also:
        `HTMLString`

    - #### setMinFieldWidth

          public void setMinFieldWidth(int minFieldWidth)

      Minimum size, in pixels, for ListGrid headers.
      If this method is called after the component has been drawn/initialized: Updates `minFieldWidth` and redraws any columns as needed.
      Parameters:
        `minFieldWidth` - New minFieldWidth value. Default value is 15

    - #### getMinFieldWidth

          public int getMinFieldWidth()

      Minimum size, in pixels, for ListGrid headers.
      Returns:
        Current minFieldWidth value. Default value is 15

    - #### setMinHeight

          public void setMinHeight(int minHeight)

      Minimum height for the entire list (smaller than this doesn't tend to work very well). If not set, this value will be defaulted when `draw` is called to something reasonable based on whether we're showing the `filter editor`, `header`, `summary rows`, and/or the `empty message`.

      Note that any top or bottom CSS padding specified by `emptyMessageStyle` will be taken into account, increasing `minHeight` so that the empty message can be shown without overflow.

      Overrides:
        `setMinHeight` in class `Canvas`
      Parameters:
        `minHeight` - New minHeight value. Default value is varies
      See Also:
        `Canvas.setMinHeight(int)`, `Sizing overview and related methods`

    - #### getMinHeight

          public int getMinHeight()

      Minimum height for the entire list (smaller than this doesn't tend to work very well). If not set, this value will be defaulted when `draw` is called to something reasonable based on whether we're showing the `filter editor`, `header`, `summary rows`, and/or the `empty message`.

      Note that any top or bottom CSS padding specified by `emptyMessageStyle` will be taken into account, increasing `minHeight` so that the empty message can be shown without overflow.

      Overrides:
        `getMinHeight` in class `Canvas`
      Returns:
        Current minHeight value. Default value is varies
      See Also:
        `Canvas.getMinHeight()`, `Sizing overview and related methods`

    - #### setMinimumCellHeight

          public void setMinimumCellHeight(int minimumCellHeight)
                                    throws java.lang.IllegalStateException

      Minimum height for ListGrid cells, settable by the skin, based on the size of the checkbox media used for boolean fields plus minimal surrounding padding. `minimumCellHeight` is used by `Canvas.resizeControls()` to avoid shrinking ListGrid rows so much that correct display is impossible. Do not set minimumCellHeight on a per-instance basis - it's only for use in custom skins.
      Parameters:
        `minimumCellHeight` - New minimumCellHeight value. Default value is 20
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getMinimumCellHeight

          public int getMinimumCellHeight()

      Minimum height for ListGrid cells, settable by the skin, based on the size of the checkbox media used for boolean fields plus minimal surrounding padding. `minimumCellHeight` is used by `Canvas.resizeControls()` to avoid shrinking ListGrid rows so much that correct display is impossible. Do not set minimumCellHeight on a per-instance basis - it's only for use in custom skins.
      Returns:
        Current minimumCellHeight value. Default value is 20

    - #### 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` - New missingSummaryFieldValue value. 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:
        Current missingSummaryFieldValue value. Default value is "-"

    - #### 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` - New modalEditing value. 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:
        Current modalEditing value. Default value is null
      See Also:
        `Editing overview and related methods`, Modal editing Example

    - #### setMultiGroupDialogDefaults

          public void setMultiGroupDialogDefaults(MultiGroupDialog multiGroupDialogDefaults)
                                           throws java.lang.IllegalStateException

      Class-level defaults to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
      Parameters:
        `multiGroupDialogDefaults` - New multiGroupDialogDefaults value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SGWTProperties`

    - #### getMultiGroupDialogDefaults

          public MultiGroupDialog getMultiGroupDialogDefaults()

      Class-level defaults to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
      Returns:
        Current multiGroupDialogDefaults value. Default value is null

    - #### setMultiGroupDialogProperties

          public void setMultiGroupDialogProperties(MultiGroupDialog multiGroupDialogProperties)
                                             throws java.lang.IllegalStateException

      Properties to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
      Parameters:
        `multiGroupDialogProperties` - New multiGroupDialogProperties value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SGWTProperties`

    - #### getMultiGroupDialogProperties

          public MultiGroupDialog getMultiGroupDialogProperties()

      Properties to apply to the `MultiGroupDialog` which gets automatically generated when `configureGrouping()` is called.
      Returns:
        Current multiGroupDialogProperties value. Default value is null

    - #### 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` - New navigateOnTab value. 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:
        Current navigateOnTab value. Default value is true

    - #### 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` - New neverValidate value. 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:
        Current neverValidate value. Default value is null
      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` - New normalBaseStyle value. Default value is "cell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `getBaseStyle()`, `CSSStyleName`

    - #### 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:
        Current normalBaseStyle value. Default value is "cell"
      See Also:
        `getBaseStyle()`, `CSSStyleName`

    - #### 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` - New normalCellHeight value. 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:
        Current normalCellHeight value. Default value is 20

    - #### setNullGroupTitle

          public void setNullGroupTitle(java.lang.String nullGroupTitle)

      Default alias to use for groups with no value
      Parameters:
        `nullGroupTitle` - New nullGroupTitle value. 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:
        Current nullGroupTitle value. Default value is '-none-'
      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` - New offlineMessageStyle value. Default value is "offlineMessage"
      See Also:
        `CSSStyleName`

    - #### getOfflineMessageStyle

          public java.lang.String getOfflineMessageStyle()

      The CSS style name applied to the `offlineMessage` if displayed.
      Returns:
        Current offlineMessageStyle value. Default value is "offlineMessage"
      See Also:
        `CSSStyleName`

    - #### getOperatorIcon

          public FormItemIcon getOperatorIcon()

      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.

      Inline icon shown inside `filter editor` fields when `allowFilterOperators` is enabled.

      Returns:
        null

    - #### 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` - New originBaseStyle value. Default value is null
      See Also:
        `CSSStyleName`

    - #### 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:
        Current originBaseStyle value. Default value is null
      See Also:
        `CSSStyleName`

    - #### setOverflow

          public void setOverflow(Overflow overflow)

      Since `body` is configured with overflow: auto by default, no overflow is expected for the `ListGrid` itself so by default it has overflow: hidden.
      Overrides:
        `setOverflow` in class `Layout`
      Parameters:
        `overflow` - New overflow value. Default value is Canvas.HIDDEN
      See Also:
        `Layout.setOverflow(com.smartgwt.client.types.Overflow)`

    - #### getOverflow

          public Overflow getOverflow()

      Since `body` is configured with overflow: auto by default, no overflow is expected for the `ListGrid` itself so by default it has overflow: hidden.
      Overrides:
        `getOverflow` in class `Layout`
      Returns:
        Current overflow value. Default value is Canvas.HIDDEN
      See Also:
        `Layout.getOverflow()`

    - #### 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` - New poolComponentsPerColumn value. 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:
        Current poolComponentsPerColumn value. Default value is true

    - #### setPreserveWhitespace

          public void setPreserveWhitespace(java.lang.Boolean preserveWhitespace)

      Should cells be written out with css that will preserve whitespace?

      If true, depending on the value of `wrapCells`, the css generated for cells will use the white-space property values of `pre` or `pre-wrap`. This avoids collapsing sequences of whitespace without requiring special &nbsp; characters.

      Note : This is an advanced setting

      Parameters:
        `preserveWhitespace` - New preserveWhitespace value. Default value is false

    - #### getPreserveWhitespace

          public java.lang.Boolean getPreserveWhitespace()

      Should cells be written out with css that will preserve whitespace?

      If true, depending on the value of `wrapCells`, the css generated for cells will use the white-space property values of `pre` or `pre-wrap`. This avoids collapsing sequences of whitespace without requiring special &nbsp; characters.

      Returns:
        Current preserveWhitespace value. Default value is false

    - #### 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` - New printAutoFit value. 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:
        Current printAutoFit value. Default value is true
      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` - New printBaseStyle value. Default value is null
      See Also:
        `CSSStyleName`, `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:
        Current printBaseStyle value. Default value is null
      See Also:
        `CSSStyleName`, `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` - New printBooleanBaseStyle value. 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)`, `CSSStyleName`, `Printing overview and related methods`

    - #### getPrintBooleanBaseStyle

          public java.lang.String getPrintBooleanBaseStyle()

      If set, the `booleanBaseStyle` to use when `printing`.
      Returns:
        Current printBooleanBaseStyle value. Default value is null
      See Also:
        `getBooleanBaseStyle()`, `CSSStyleName`, `Printing overview and related methods`

    - #### setPrintBooleanFalseImage

          public void setPrintBooleanFalseImage(java.lang.String printBooleanFalseImage)

      If set, the `booleanFalseImage` to use when `printing`.

      If this, `printBooleanTrueImage` and `printBooleanPartialImage` are unset, this will be set to the default `CheckboxItem.printUncheckedImage`.

      Note : This is an advanced setting

      Parameters:
        `printBooleanFalseImage` - New printBooleanFalseImage value. Default value is null
      See Also:
        `setBooleanFalseImage(java.lang.String)`, `SCImgURL`, `Printing overview and related methods`

    - #### getPrintBooleanFalseImage

          public java.lang.String getPrintBooleanFalseImage()

      If set, the `booleanFalseImage` to use when `printing`.

      If this, `printBooleanTrueImage` and `printBooleanPartialImage` are unset, this will be set to the default `CheckboxItem.printUncheckedImage`.

      Returns:
        Current printBooleanFalseImage value. Default value is null
      See Also:
        `getBooleanFalseImage()`, `SCImgURL`, `Printing overview and related methods`

    - #### setPrintBooleanPartialImage

          public void setPrintBooleanPartialImage(java.lang.String printBooleanPartialImage)

      If set, the `booleanPartialImage` to use when `printing`.

      If this, `printBooleanTrueImage` and `printBooleanFalseImage` are unset, this will be set to the default `CheckboxItem.printPartialSelectedImage`.

      Note : This is an advanced setting

      Parameters:
        `printBooleanPartialImage` - New printBooleanPartialImage value. Default value is null
      See Also:
        `setBooleanPartialImage(java.lang.String)`, `SCImgURL`, `Printing overview and related methods`

    - #### getPrintBooleanPartialImage

          public java.lang.String getPrintBooleanPartialImage()

      If set, the `booleanPartialImage` to use when `printing`.

      If this, `printBooleanTrueImage` and `printBooleanFalseImage` are unset, this will be set to the default `CheckboxItem.printPartialSelectedImage`.

      Returns:
        Current printBooleanPartialImage value. Default value is null
      See Also:
        `getBooleanPartialImage()`, `SCImgURL`, `Printing overview and related methods`

    - #### setPrintBooleanTrueImage

          public void setPrintBooleanTrueImage(java.lang.String printBooleanTrueImage)

      If set, the `booleanTrueImage` to use when `printing`.

      If this, `printBooleanFalseImage` and `printBooleanPartialImage` are unset, this will be set to the default `CheckboxItem.printCheckedImage`.

      Note : This is an advanced setting

      Parameters:
        `printBooleanTrueImage` - New printBooleanTrueImage value. Default value is null
      See Also:
        `setBooleanTrueImage(java.lang.String)`, `SCImgURL`, `Printing overview and related methods`

    - #### getPrintBooleanTrueImage

          public java.lang.String getPrintBooleanTrueImage()

      If set, the `booleanTrueImage` to use when `printing`.

      If this, `printBooleanFalseImage` and `printBooleanPartialImage` are unset, this will be set to the default `CheckboxItem.printCheckedImage`.

      Returns:
        Current printBooleanTrueImage value. Default value is null
      See Also:
        `getBooleanTrueImage()`, `SCImgURL`, `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` - New printCheckboxFieldFalseImage value. Default value is null
      See Also:
        `setCheckboxFieldFalseImage(java.lang.String)`, `SCImgURL`, `Printing overview and related methods`

    - #### getPrintCheckboxFieldFalseImage

          public java.lang.String getPrintCheckboxFieldFalseImage()

      If set, the `checkboxFieldFalseImage` to use when `printing`.
      Returns:
        Current printCheckboxFieldFalseImage value. Default value is null
      See Also:
        `getCheckboxFieldFalseImage()`, `SCImgURL`, `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` - New printCheckboxFieldPartialImage value. Default value is null
      See Also:
        `setCheckboxFieldPartialImage(java.lang.String)`, `SCImgURL`, `Printing overview and related methods`

    - #### getPrintCheckboxFieldPartialImage

          public java.lang.String getPrintCheckboxFieldPartialImage()

      If set, the `checkboxFieldPartialImage` to use when `printing`.
      Returns:
        Current printCheckboxFieldPartialImage value. Default value is null
      See Also:
        `getCheckboxFieldPartialImage()`, `SCImgURL`, `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` - New printCheckboxFieldTrueImage value. Default value is null
      See Also:
        `setCheckboxFieldTrueImage(java.lang.String)`, `SCImgURL`, `Printing overview and related methods`

    - #### getPrintCheckboxFieldTrueImage

          public java.lang.String getPrintCheckboxFieldTrueImage()

      If set, the `checkboxFieldTrueImage` to use when `printing`.
      Returns:
        Current printCheckboxFieldTrueImage value. Default value is null
      See Also:
        `getCheckboxFieldTrueImage()`, `SCImgURL`, `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` - New printHeaderStyle value. Default value is "printHeader"
      See Also:
        `CSSStyleName`, `Printing overview and related methods`

    - #### getPrintHeaderStyle

          public java.lang.String getPrintHeaderStyle()

      Style for header cells in printed output. Defaults to `headerBaseStyle` if null.
      Returns:
        Current printHeaderStyle value. Default value is "printHeader"
      See Also:
        `CSSStyleName`, `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` - New printMaxRows value. 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:
        Current printMaxRows value. Default value is 100
      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` - New printWrapCells value. 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:
        Current printWrapCells value. Default value is true
      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` - New quickDrawAheadRatio value. Default value is 2.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:
        Current quickDrawAheadRatio value. Default value is 2.0

    - #### 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` - New recordBaseStyleProperty value. 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:
        Current recordBaseStyleProperty value. Default value is "_baseStyle"
      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` - New recordCanRemoveProperty value. 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:
        Current recordCanRemoveProperty value. Default value is "_canRemove"
      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` - New recordCanSelectProperty value. 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:
        Current recordCanSelectProperty value. Default value is "canSelect"

    - #### 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:
        Current recordComponentHeight value. Default value is null
      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 `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` - New recordComponentPoolingMode value. 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 `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:
        Current recordComponentPoolingMode value. Default value is "viewport"

    - #### 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. `Canvas.snapTo` may be set to specify where the component should render within the row or cell, and `Canvas.snapOffsetTop` / `Canvas.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` - New recordComponentPosition value. 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. `Canvas.snapTo` may be set to specify where the component should render within the row or cell, and `Canvas.snapOffsetTop` / `Canvas.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:
        Current recordComponentPosition value. Default value is null
      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 `ListGridRecord.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` - New recordDetailDSProperty value. 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 `ListGridRecord.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:
        Current recordDetailDSProperty value. Default value is "detailDS"

    - #### 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 `recordDrop()` event handler.
      Parameters:
        `recordDropAppearance` - New recordDropAppearance value. 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 `recordDrop()` event handler.
      Returns:
        Current recordDropAppearance value. Default value is ListGrid.BETWEEN

    - #### 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` - New recordEditProperty value. 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:
        Current recordEditProperty value. Default value is "_canEdit"
      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` - New recordEnabledProperty value. 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:
        Current recordEnabledProperty value. Default value is "enabled"
      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` - New recordSummaryBaseStyle value. Default value is "recordSummaryCell"
      See Also:
        `CSSStyleName`

    - #### 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:
        Current recordSummaryBaseStyle value. Default value is "recordSummaryCell"
      See Also:
        `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` - New removedCSSText value. 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:
        Current removedCSSText value. Default value is "text-decoration:line-through;"
      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` - New removeFieldProperties value. 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:
        Current removeFieldProperties value. Default value is null

    - #### 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 `ListGridField.showTitle` to `false`.

      Note : This is an advanced setting

      Parameters:
        `removeFieldTitle` - New removeFieldTitle value. 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 `ListGridField.showTitle` to `false`.

      Returns:
        Current removeFieldTitle value. Default value is "&nbsp;"

    - #### 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` - New removeIcon value. Default value is "[SKIN]/actions/remove.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCImgURL`

    - #### getRemoveIcon

          public java.lang.String getRemoveIcon()

      When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
      Returns:
        Current removeIcon value. Default value is "[SKIN]/actions/remove.png"
      See Also:
        `SCImgURL`

    - #### setRemoveIconSize

          public void setRemoveIconSize(int removeIconSize)

      Default width and height of `remove icons` for this ListGrid.
      Parameters:
        `removeIconSize` - New removeIconSize value. Default value is 16

    - #### getRemoveIconSize

          public int getRemoveIconSize()

      Default width and height of `remove icons` for this ListGrid.
      Returns:
        Current removeIconSize value. Default value is 16

    - #### 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` - New reselectOnUpdate value. 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:
        Current reselectOnUpdate value. Default value is true

    - #### 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` - New reselectOnUpdateNotifications value. 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:
        Current reselectOnUpdateNotifications value. Default value is "selectionChanged"

    - #### 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` - New resizeFieldsInRealTime value. 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:
        Current resizeFieldsInRealTime value. Default value is see below

    - #### setReverseRTLAlign

          public void setReverseRTLAlign(java.lang.Boolean reverseRTLAlign)

      If a page is rendered in `RTL mode`, should cell alignments specified `ListGridField.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` - New reverseRTLAlign value. Default value is true

    - #### getReverseRTLAlign

          public java.lang.Boolean getReverseRTLAlign()

      If a page is rendered in `RTL mode`, should cell alignments specified `ListGridField.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:
        Current reverseRTLAlign value. Default value is true

    - #### 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` - New rowEndEditAction value. 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:
        Current rowEndEditAction value. Default value is null
      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.

      This component is an AutoChild named "rowNumberField". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current rowNumberField value. Default value is null
      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` - New rowNumberStart value. Default value is 1

    - #### getRowNumberStart

          public int getRowNumberStart()

      The number to start the row-count from - default value is 1.
      Returns:
        Current rowNumberStart value. Default value is 1

    - #### setRowNumberStyle

          public void setRowNumberStyle(java.lang.String rowNumberStyle)

      The CSS Style name for the `rowNumberField`.

      Note : This is an advanced setting

      Parameters:
        `rowNumberStyle` - New rowNumberStyle value. Default value is "specialCol"
      See Also:
        `CSSStyleName`

    - #### getRowNumberStyle

          public java.lang.String getRowNumberStyle()

      The CSS Style name for the `rowNumberField`.
      Returns:
        Current rowNumberStyle value. Default value is "specialCol"
      See Also:
        `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` - New rowSpanEditMode value. 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:
        Current rowSpanEditMode value. Default value is "first"

    - #### setRowSpanSelectionMode

          public void setRowSpanSelectionMode(RowSpanSelectionMode rowSpanSelectionMode)
                                       throws java.lang.IllegalStateException

      Chooses the selection mode when `useRowSpanStyling` is enabled. See `RowSpanSelectionMode`.
      Parameters:
        `rowSpanSelectionMode` - New rowSpanSelectionMode value. 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:
        Current rowSpanSelectionMode value. Default value is "forward"

    - #### 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` - New saveByCell value. 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:
        Current saveByCell value. Default value is null
      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 cause the grid directly update its local data set instead of performing an operation against it's configured DataSource.

      When using this mode, data must be provided to the grid via `setData()`, and must be provided as a RecordList. Setting `saveLocally` is invalid if either `fetchData()` is called or if a `ResultSet` is provided as the data model.

      `saveLocally` mode includes changes made via `inline editing`, record removal via `canRemoveRecords`, as well as programmatic calls to `updateData()`, `addData()` and `removeData()`. This also causes saves to be performed synchronously (unlike normal DataSource operations).

      Note that using this mode also disables the automatic cache synchronization provided by the DataSource system - changes made to this grid are saved only to this grid's data set.

      See also `filterLocalData` to allow filtering, such as filtering performed by the `filterEditor`, to also work only with the local data set.

      If saveLocally is unset, and `filterLocalData` is true, the saveLocally behavior is enabled by default

      Note : This is an advanced setting

      Parameters:
        `saveLocally` - New saveLocally value. 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 cause the grid directly update its local data set instead of performing an operation against it's configured DataSource.

      When using this mode, data must be provided to the grid via `setData()`, and must be provided as a RecordList. Setting `saveLocally` is invalid if either `fetchData()` is called or if a `ResultSet` is provided as the data model.

      `saveLocally` mode includes changes made via `inline editing`, record removal via `canRemoveRecords`, as well as programmatic calls to `updateData()`, `addData()` and `removeData()`. This also causes saves to be performed synchronously (unlike normal DataSource operations).

      Note that using this mode also disables the automatic cache synchronization provided by the DataSource system - changes made to this grid are saved only to this grid's data set.

      See also `filterLocalData` to allow filtering, such as filtering performed by the `filterEditor`, to also work only with the local data set.

      If saveLocally is unset, and `filterLocalData` is true, the saveLocally behavior is enabled by default

      Returns:
        Current saveLocally value. Default value is null
      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, `DataBoundComponent.addOperation` and `DataBoundComponent.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` - New saveRequestProperties value. 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, `DataBoundComponent.addOperation` and `DataBoundComponent.updateOperation` are available to developers, allowing specification of an explicit `OperationBinding` for the add / update operation performed on save.

      Returns:
        Current saveRequestProperties value. Default value is null
      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` - New screenReaderCellSeparator value. Default value is "/"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `HTMLString`, `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:
        Current screenReaderCellSeparator value. Default value is "/"
      See Also:
        `HTMLString`, `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` - New screenReaderRowSeparator value. Default value is ","
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setScreenReaderCellSeparator(java.lang.String)`, `HTMLString`, `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:
        Current screenReaderRowSeparator value. Default value is ","
      See Also:
        `getScreenReaderCellSeparator()`, `HTMLString`, `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 `GridRenderer.instantScrollTrackRedraw` for cases where this delay is skipped.

      NOTE: In `touch browsers`, `touchScrollRedrawDelay` is used instead.

      Parameters:
        `scrollRedrawDelay` - New scrollRedrawDelay value. Default value is 0

    - #### 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 `GridRenderer.instantScrollTrackRedraw` for cases where this delay is skipped.

      NOTE: In `touch browsers`, `touchScrollRedrawDelay` is used instead.

      Returns:
        Current scrollRedrawDelay value. Default value is 0

    - #### 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` - New scrollToCellXPosition value. 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:
        Current scrollToCellXPosition value. Default value is "center"

    - #### 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` - New scrollToCellYPosition value. 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:
        Current scrollToCellYPosition value. Default value is "center"

    - #### 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 `GridRenderer.instantScrollTrackRedraw` for cases where this delay is skipped.

      Parameters:
        `scrollWheelRedrawDelay` - New scrollWheelRedrawDelay value. Default value is 0

    - #### 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 `GridRenderer.instantScrollTrackRedraw` for cases where this delay is skipped.

      Returns:
        Current scrollWheelRedrawDelay value. Default value is 0

    - #### setSelectCellTextOnClick

          public void setSelectCellTextOnClick(java.lang.Boolean selectCellTextOnClick)

      If this property is set to true, clicking on a cell will natively select the cell's content, ready to be copied to the browser clipboard.

      For control of this behavior at the field level, `ListGridField.selectCellTextOnClick` may be used. These properties interact as follows:

      listGrid.selectCellTextOnClick value | listGridField.selectCellTextOnClick value | Behavior
      `true` | unset or `true` | Cell contents will be natively selected on click.
      `false` | Cell contents will not be natively selected on click.
      unset | `true` | Cell contents will be natively selected on click.
      unset or `false` | Cell contents will not be natively selected on click.
      `false` | `true`, `false` or unset | Cell contents will not be natively selected on click.

      This is related to the `canDragSelectText` attribute which enables native text selection of grid content by standard browser interactions (drag selecting or double-click selecting).

      Note that developers may also be interested in the related formItem properties `FormItem.selectOnClick` and `FormItem.selectOnFocus`.

      Parameters:
        `selectCellTextOnClick` - New selectCellTextOnClick value. Default value is false

    - #### getSelectCellTextOnClick

          public java.lang.Boolean getSelectCellTextOnClick()

      If this property is set to true, clicking on a cell will natively select the cell's content, ready to be copied to the browser clipboard.

      For control of this behavior at the field level, `ListGridField.selectCellTextOnClick` may be used. These properties interact as follows:

      listGrid.selectCellTextOnClick value | listGridField.selectCellTextOnClick value | Behavior
      `true` | unset or `true` | Cell contents will be natively selected on click.
      `false` | Cell contents will not be natively selected on click.
      unset | `true` | Cell contents will be natively selected on click.
      unset or `false` | Cell contents will not be natively selected on click.
      `false` | `true`, `false` or unset | Cell contents will not be natively selected on click.

      This is related to the `canDragSelectText` attribute which enables native text selection of grid content by standard browser interactions (drag selecting or double-click selecting).

      Note that developers may also be interested in the related formItem properties `FormItem.selectOnClick` and `FormItem.selectOnFocus`.

      Returns:
        Current selectCellTextOnClick value. Default value is false

    - #### 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 `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 `getSelectedState()`.
      Parameters:
        `selectedState` - Object describing the desired selection state of the grid. Default value is null
      See Also:
        `ListGridSelectedState`

    - #### 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 `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 `setSelectedState()` to reset this grid's current selection state (assuming the same data is present in the grid).
        . Default value is null
      See Also:
        `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` - New selectHeaderOnSort value. 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:
        Current selectHeaderOnSort value. Default value is true

    - #### 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 `TreeGrid.showDisabledSelectionCheckbox`.

      Note that the default behavior when you enable checkbox selection is to continue to show the selected style. This can be changed by setting `showSelectedStyle` to false.
      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 `TreeGrid.showDisabledSelectionCheckbox`.

      Note that the default behavior when you enable checkbox selection is to continue to show the selected style. This can be changed by setting `showSelectedStyle` to false.

      Returns:
        Current selectionAppearance value. Default value is "rowStyle"
      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` - New selectionProperty value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Selection 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:
        Current selectionProperty value. Default value is null
      See Also:
        `Selection 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`, `Selection 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:
        Current selectionType value. Default value is null
      See Also:
        `SelectionStyle`, `Selection 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?

      See `editSelectionType` for how edit-selection behaves.

      Note : This is an advanced setting

      Parameters:
        `selectOnEdit` - New selectOnEdit value. 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?

      See `editSelectionType` for how edit-selection behaves.

      Returns:
        Current selectOnEdit value. Default value is true
      See Also:
        `Editing overview and related methods`

    - #### setSelectOnExpandRecord

          public void setSelectOnExpandRecord(boolean selectOnExpandRecord)

      When set to false, clicking a record's `expansion field` will not add the record to the current selection.
      Parameters:
        `selectOnExpandRecord` - New selectOnExpandRecord value. Default value is true

    - #### getSelectOnExpandRecord

          public boolean getSelectOnExpandRecord()

      When set to false, clicking a record's `expansion field` will not add the record to the current selection.
      Returns:
        Current selectOnExpandRecord value. Default value is true

    - #### 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` - New showAllColumns value. 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:
        Current showAllColumns value. Default value is false

    - #### 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` - New showAllRecords value. 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:
        Current showAllRecords value. Default value is false
      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` - New showAsynchGroupingPrompt value. 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:
        Current showAsynchGroupingPrompt value. Default value is null

    - #### setShowBackgroundComponents

          public void setShowBackgroundComponents(java.lang.Boolean showBackgroundComponents)

      If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
      Parameters:
        `showBackgroundComponents` - New showBackgroundComponents value. 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:
        Current showBackgroundComponents value. Default value is false

    - #### 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` - New showCellContextMenus value. 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:
        Current showCellContextMenus value. Default value is false

    - #### 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` - New showClippedHeaderTitlesOnHover value. 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:
        Current showClippedHeaderTitlesOnHover value. Default value is true
      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` - New showClippedValuesOnHover value. 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:
        Current showClippedValuesOnHover value. Default value is null
      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:
        Current showCollapsedGroupSummary value. Default value is false
      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`.

      When this property is `true`, the `ListGrid` will include all detail fields unless fields have been specifically declared using the `fields` array.

      Any field which has been included directly in the `fields` array will be included regardless of the fields `detail` attribute.

      Detail fields included will initially be hidden but the user may show these fields via the default header context menu (`showHeaderContextMenu`).

      The field's visibility can also be overridden programatically using the standard `showField()`, `hideField()` and `ListGridField.showIf()` APIs, for example, set showIf:"true" to show a detail field initially.

      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.

      Specified by:
        `setShowDetailFields` in interface `DataBoundComponent`
      Parameters:
        `showDetailFields` - New showDetailFields value. 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`.

      When this property is `true`, the `ListGrid` will include all detail fields unless fields have been specifically declared using the `fields` array.

      Any field which has been included directly in the `fields` array will be included regardless of the fields `detail` attribute.

      Detail fields included will initially be hidden but the user may show these fields via the default header context menu (`showHeaderContextMenu`).

      The field's visibility can also be overridden programatically using the standard `showField()`, `hideField()` and `ListGridField.showIf()` APIs, for example, set showIf:"true" to show a detail field initially.

      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.

      Specified by:
        `getShowDetailFields` in interface `DataBoundComponent`
      Returns:
        Current showDetailFields value. Default value is true
      See Also:
        `Databinding overview and related methods`

    - #### setShowEllipsisWhenClipped

          public void setShowEllipsisWhenClipped(boolean showEllipsisWhenClipped)

      Should ellipses be displayed when cell content is clipped? May be overridden at the field level via `ListGridField.showEllipsisWhenClipped`
      Parameters:
        `showEllipsisWhenClipped` - New showEllipsisWhenClipped value. Default value is true

    - #### getShowEllipsisWhenClipped

          public boolean getShowEllipsisWhenClipped()

      Should ellipses be displayed when cell content is clipped? May be overridden at the field level via `ListGridField.showEllipsisWhenClipped`
      Returns:
        Current showEllipsisWhenClipped value. Default value is true

    - #### 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` - New showEmptyMessage value. 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:
        Current showEmptyMessage value. Default value is true
      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` - New showErrorIcons value. 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:
        Current showErrorIcons value. Default value is true

    - #### 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 outstanding, 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:
        Current showExpansionEditorSaveButton value. Default value is true
      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 `fetchData()`.

      The default `search operator` for an item in the filterEditor can be set via `ListGridField.filterOperator`. When `field.filterOperator` has been set calls to retrieve the criteria from the grid return `AdvancedCriteria`. See also `allowFilterOperators` for a UI that allows end users to change the search operator on the fly

      Note that if `filterData()` or `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 `getFilterEditorCriteria()` rather than `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
      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 `fetchData()`.

      The default `search operator` for an item in the filterEditor can be set via `ListGridField.filterOperator`. When `field.filterOperator` has been set calls to retrieve the criteria from the grid return `AdvancedCriteria`. See also `allowFilterOperators` for a UI that allows end users to change the search operator on the fly

      Note that if `filterData()` or `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 `getFilterEditorCriteria()` rather than `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
      Returns:
        Current showFilterEditor value. Default value is false
      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 `ListGridField.showGridSummary` and `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 `ListGridField.showGridSummary` and `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:
        Current showGridSummary value. Default value is false

    - #### 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 `ListGridField.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 `ListGridField.summaryFunction`.
      Returns:
        Current showGroupSummary value. Default value is false
      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 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 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:
        Current showGroupSummaryInHeader value. Default value is false
      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` - New showGroupTitleColumn value. 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:
        Current showGroupTitleColumn value. Default value is true

    - #### setShowGroupTitleInFrozenBody

          public void setShowGroupTitleInFrozenBody(boolean showGroupTitleInFrozenBody)

      If this is `grouped` and has `frozen fields`, should the group title show in the frozen or unfrozen body?

      Setting this property to false will cause the group title to show in the unfrozen body in this case, meaning it will appear to the right of the frozen fields, and scroll horizontally as the user scrolls the unfrozen fields. This can be useful for grids where there isn't enough available space to show the group title text in the frozen body.

      Note that if `groupTitleField` is explicitly set, or `showGroupSummaryInHeader` is true, this property has no effect. In this case rather than the group title showing in a single cell spanning multiple other fields, it will be rendered into a specific column.

      Note : This is an advanced setting

      Parameters:
        `showGroupTitleInFrozenBody` - New showGroupTitleInFrozenBody value. Default value is true

    - #### getShowGroupTitleInFrozenBody

          public boolean getShowGroupTitleInFrozenBody()

      If this is `grouped` and has `frozen fields`, should the group title show in the frozen or unfrozen body?

      Setting this property to false will cause the group title to show in the unfrozen body in this case, meaning it will appear to the right of the frozen fields, and scroll horizontally as the user scrolls the unfrozen fields. This can be useful for grids where there isn't enough available space to show the group title text in the frozen body.

      Note that if `groupTitleField` is explicitly set, or `showGroupSummaryInHeader` is true, this property has no effect. In this case rather than the group title showing in a single cell spanning multiple other fields, it will be rendered into a specific column.

      Returns:
        Current showGroupTitleInFrozenBody value. Default value is true

    - #### 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:
        `Appearance overview and related methods`

    - #### getShowHeader

          public java.lang.Boolean getShowHeader()

      Should we show the header for this ListGrid?
      Returns:
        Current showHeader value. Default value is true
      See Also:
        `Appearance 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` - New showHeaderContextMenu value. 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:
        Current showHeaderContextMenu value. Default value is true
      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` - New showHeaderMenuButton value. 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:
        Current showHeaderMenuButton value. Default value is true

    - #### setShowHeaderPartialSelection

          public void setShowHeaderPartialSelection(java.lang.Boolean showHeaderPartialSelection)

      Should partial selection of all records be shown in header with a special icon? The partial icon will show in the header when `canSelectAll` is enabled and at least one record is selected but all records are not selected. To only show all selected and none selected states, set this attribute to `false`.
      Parameters:
        `showHeaderPartialSelection` - New showHeaderPartialSelection value. Default value is null
      See Also:
        `Selection overview and related methods`

    - #### getShowHeaderPartialSelection

          public java.lang.Boolean getShowHeaderPartialSelection()

      Should partial selection of all records be shown in header with a special icon? The partial icon will show in the header when `canSelectAll` is enabled and at least one record is selected but all records are not selected. To only show all selected and none selected states, set this attribute to `false`.
      Returns:
        Current showHeaderPartialSelection value. Default value is null
      See Also:
        `Selection overview and related methods`

    - #### setShowHeaderShadow

          public void setShowHeaderShadow(java.lang.Boolean showHeaderShadow)

      Should the header show a drop-shadow? Shadow will be applied to the header, or for a grid with frozen columns, the header layout.

      Header shadow will only be displayed if `css shadows` are being used.

      Parameters:
        `showHeaderShadow` - New showHeaderShadow value. Default value is false
      See Also:
        `setHeaderShadowVOffset(int)`, `setHeaderShadowHOffset(int)`, `setHeaderShadowSoftness(int)`, `setHeaderShadowColor(java.lang.String)`

    - #### getShowHeaderShadow

          public java.lang.Boolean getShowHeaderShadow()

      Should the header show a drop-shadow? Shadow will be applied to the header, or for a grid with frozen columns, the header layout.

      Header shadow will only be displayed if `css shadows` are being used.

      Returns:
        Current showHeaderShadow value. Default value is false
      See Also:
        `getHeaderShadowVOffset()`, `getHeaderShadowHOffset()`, `getHeaderShadowSoftness()`, `getHeaderShadowColor()`

    - #### 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` - New showHeaderSpanTitlesInFormulaBuilder value. 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:
        Current showHeaderSpanTitlesInFormulaBuilder value. Default value is true
      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` - New showHeaderSpanTitlesInHiliteEditor value. 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:
        Current showHeaderSpanTitlesInHiliteEditor value. Default value is true
      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` - New showHeaderSpanTitlesInSortEditor value. 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:
        Current showHeaderSpanTitlesInSortEditor value. Default value is true
      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 `ListGridField.showHilitesInGroupSummary`.

      Hiliting in summary fields (columns) can be enabled by setting `includeHiliteInSummaryField` to true.

      Parameters:
        `showHilitesInGroupSummary` - New showHilitesInGroupSummary value. 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 `ListGridField.showHilitesInGroupSummary`.

      Hiliting in summary fields (columns) can be enabled by setting `includeHiliteInSummaryField` to true.

      Returns:
        Current showHilitesInGroupSummary value. Default value is true

    - #### 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 `cellHoverHTML()`.
      Overrides:
        `setShowHover` in class `Canvas`
      Parameters:
        `showHover` - New showHover value. 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 `cellHoverHTML()`.
      Overrides:
        `getShowHover` in class `Canvas`
      Returns:
        Current showHover value. Default value is true
      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`.

      Also supported at the `field-level`.

      Note : This is an advanced setting

      Overrides:
        `setShowHoverComponents` in class `Canvas`
      Parameters:
        `showHoverComponents` - New showHoverComponents value. 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`.

      Also supported at the `field-level`.

      Overrides:
        `getShowHoverComponents` in class `Canvas`
      Returns:
        Current showHoverComponents value. Default value is false

    - #### 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` - New showPartialSelection value. Default value is false
      See Also:
        `Selection overview and related methods`

    - #### 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:
        Current showPartialSelection value. Default value is false
      See Also:
        `Selection overview and related methods`

    - #### setShowRecordComponents

          public void setShowRecordComponents(java.lang.Boolean showRecordComponents)

      When enabled, `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 `ListGridField.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 `ListGridField.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 `ListGridField.editorType`, and `FormItem.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 `invalidateRecordComponents()` and `refreshRecordComponent()`.

      Interaction with `column auto-fit`: per-cell record components are not taken into account when determining the size for column auto fit. The default `getDefaultFieldWidth()` implementation looks at cell content only. We typically recommend that, for fields showing record-components, `ListGridField.autoFitWidth` and `ListGridField.canAutoFitWidth` be disabled, or if the record components are of a predictable size, a `ListGridField.defaultWidth` be specified.
      This is particularly pertinent where `recordComponentPosition` is set to "within", in which case cells' content is often empty or completely covered by record-components.
      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, `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 `ListGridField.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 `ListGridField.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 `ListGridField.editorType`, and `FormItem.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 `invalidateRecordComponents()` and `refreshRecordComponent()`.

      Interaction with `column auto-fit`: per-cell record components are not taken into account when determining the size for column auto fit. The default `getDefaultFieldWidth()` implementation looks at cell content only. We typically recommend that, for fields showing record-components, `ListGridField.autoFitWidth` and `ListGridField.canAutoFitWidth` be disabled, or if the record components are of a predictable size, a `ListGridField.defaultWidth` be specified.
      This is particularly pertinent where `recordComponentPosition` is set to "within", in which case cells' content is often empty or completely covered by record-components.

      Returns:
        Current showRecordComponents value. Default value is null
      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` - New showRecordComponentsByCell value. Default value is null

    - #### getShowRecordComponentsByCell

          public java.lang.Boolean getShowRecordComponentsByCell()

      If true, shows `recordComponents` in cells, rather than just in records.
      Returns:
        Current showRecordComponentsByCell value. Default value is null

    - #### setShowRollOver

          public void setShowRollOver(java.lang.Boolean showRollOver)

      Should we show different styling for the cell the mouse is over?

      If true, the cell style will have the suffix "Over" appended.

      Can be overridden on a per-record basis via `ListGridRecord.showRollOver`.

      Parameters:
        `showRollOver` - New showRollOver value. Default value is true
      See Also:
        `Appearance overview and related methods`

    - #### getShowRollOver

          public java.lang.Boolean getShowRollOver()

      Should we show different styling for the cell the mouse is over?

      If true, the cell style will have the suffix "Over" appended.

      Can be overridden on a per-record basis via `ListGridRecord.showRollOver`.

      Returns:
        Current showRollOver value. Default value is true
      See Also:
        `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 `getRollOverCanvas()` and/or `getRollUnderCanvas()`.

      The rollOver/rollUnder canvas will be automatically added to the grid's `body` as an `embedded component`.
      For grids with `frozen fields`, the behavior is as follows:

      - If `useCellRollOvers` is false (the default), embedded components will be added to both the body and the frozen body
      - Otherwise the component will be added to whichever body contains the cell the user is currently over
      The rollOver/rollUnder canvas added to the frozen body will be created by calling the `getFrozenRollOverCanvas()` or `getFrozenRollUnderCanvas()` methods. The default implementation for these methods matches their equivalents for non-frozen rollOver / rollUnder canvases - it will use the autoChild subsystem to create a canvas from the `rollOverCanvas` autoChild configuration.

      `showRollOverCanvas` has no effect if `showRollOver` is `false`.

      See also `showSelectedRollOverCanvas`.

      Note : This is an advanced setting

      Parameters:
        `showRollOverCanvas` - New showRollOverCanvas value. 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 `getRollOverCanvas()` and/or `getRollUnderCanvas()`.

      The rollOver/rollUnder canvas will be automatically added to the grid's `body` as an `embedded component`.
      For grids with `frozen fields`, the behavior is as follows:

      - If `useCellRollOvers` is false (the default), embedded components will be added to both the body and the frozen body
      - Otherwise the component will be added to whichever body contains the cell the user is currently over
      The rollOver/rollUnder canvas added to the frozen body will be created by calling the `getFrozenRollOverCanvas()` or `getFrozenRollUnderCanvas()` methods. The default implementation for these methods matches their equivalents for non-frozen rollOver / rollUnder canvases - it will use the autoChild subsystem to create a canvas from the `rollOverCanvas` autoChild configuration.

      `showRollOverCanvas` has no effect if `showRollOver` is `false`.

      See also `showSelectedRollOverCanvas`.

      Returns:
        Current showRollOverCanvas value. Default value is null
      See Also:
        `getShowRollUnderCanvas()`, RollOver Controls Example

    - #### setShowRollOverInExpansion

          public void setShowRollOverInExpansion(java.lang.Boolean showRollOverInExpansion)

      This setting causes the `roll over canvas` to be sized to cover the normal row and the expansion layout. Otherwise the rollOverCanvas is only shown for the un-expanded part of the row.

      Note : This is an advanced setting

      Parameters:
        `showRollOverInExpansion` - New showRollOverInExpansion value. Default value is null

    - #### getShowRollOverInExpansion

          public java.lang.Boolean getShowRollOverInExpansion()

      This setting causes the `roll over canvas` to be sized to cover the normal row and the expansion layout. Otherwise the rollOverCanvas is only shown for the un-expanded part of the row.
      Returns:
        Current showRollOverInExpansion value. Default value is null

    - #### 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`.

      See also `showSelectedRollUnderCanvas`.

      Note : This is an advanced setting

      Parameters:
        `showRollUnderCanvas` - New showRollUnderCanvas value. 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`.

      See also `showSelectedRollUnderCanvas`.

      Returns:
        Current showRollUnderCanvas value. Default value is null
      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` - New showRowNumbers value. 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:
        Current showRowNumbers value. Default value is null

    - #### setShowSelectedRollOverCanvas

          public void setShowSelectedRollOverCanvas(java.lang.Boolean showSelectedRollOverCanvas)

      This setting causes the `roll over canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records). This can be useful to display a "Selected Over" appearance which can't be easily achieved via standard cell styling.

      Note : This is an advanced setting

      Parameters:
        `showSelectedRollOverCanvas` - New showSelectedRollOverCanvas value. Default value is false

    - #### getShowSelectedRollOverCanvas

          public java.lang.Boolean getShowSelectedRollOverCanvas()

      This setting causes the `roll over canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records). This can be useful to display a "Selected Over" appearance which can't be easily achieved via standard cell styling.
      Returns:
        Current showSelectedRollOverCanvas value. Default value is false

    - #### setShowSelectedRollUnderCanvas

          public void setShowSelectedRollUnderCanvas(java.lang.Boolean showSelectedRollUnderCanvas)

      This setting causes the `roll under canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records). This can be useful to display a "Selected Over" appearance which can't be easily achieved via standard cell styling.

      As with `showRollUnderCanvas`, if this property is unset, but the related `showSelectedRollOverCanvas` property is true, both the the roll under and roll under canvases will be displayed as the user rolls over selected records.

      Note : This is an advanced setting

      Parameters:
        `showSelectedRollUnderCanvas` - New showSelectedRollUnderCanvas value. Default value is false

    - #### getShowSelectedRollUnderCanvas

          public java.lang.Boolean getShowSelectedRollUnderCanvas()

      This setting causes the `roll under canvas` to be displayed when the user rolls over selected records in the grid (but not when rolling over other records). This can be useful to display a "Selected Over" appearance which can't be easily achieved via standard cell styling.

      As with `showRollUnderCanvas`, if this property is unset, but the related `showSelectedRollOverCanvas` property is true, both the the roll under and roll under canvases will be displayed as the user rolls over selected records.

      Returns:
        Current showSelectedRollUnderCanvas value. Default value is false

    - #### setShowSelectedStyle

          public void setShowSelectedStyle(java.lang.Boolean showSelectedStyle)

      Should the "Selected" style be applied to selected records?
      Parameters:
        `showSelectedStyle` - New showSelectedStyle value. Default value is true

    - #### getShowSelectedStyle

          public java.lang.Boolean getShowSelectedStyle()

      Should the "Selected" style be applied to selected records?
      Returns:
        Current showSelectedStyle value. Default value is true

    - #### 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` - New showSelectionCanvas value. 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:
        Current showSelectionCanvas value. Default value is null
      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` - New showSelectionUnderCanvas value. 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:
        Current showSelectionUnderCanvas value. Default value is null
      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` - New showSortArrow value. 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:
        Current showSortArrow value. Default value is null
      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` - New showSortNumerals value. 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:
        Current showSortNumerals value. Default value is null

    - #### 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` - New showTreeColumnPicker value. 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:
        Current showTreeColumnPicker value. Default value is true

    - #### 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` - New shrinkForFreeze value. 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:
        Current shrinkForFreeze value. Default value is false
      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` - New singleCellValueProperty value. 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:
        Current singleCellValueProperty value. Default value is "singleCellValue"

    - #### 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` - New skinImgDir value. Default value is "images/ListGrid/"
      See Also:
        `SCImgURL`, `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:
        Current skinImgDir value. Default value is "images/ListGrid/"
      See Also:
        `SCImgURL`, `Images overview and related methods`

    - #### setSortArrowMenuButtonSpaceOffset

          public void setSortArrowMenuButtonSpaceOffset(int sortArrowMenuButtonSpaceOffset)

      When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort arrow if sorting is active for that field and the arrow will be shown. May be increased for more separation between the sort arrow and the title text, at the expense of a reduced space for the title text.

      This value may need to be customized in your skin or if `sortAscendingImage` or `sortDescendingImage` are changed.

      Parameters:
        `sortArrowMenuButtonSpaceOffset` - New sortArrowMenuButtonSpaceOffset value. Default value is 7
      See Also:
        `setSortNumeralMenuButtonSpaceOffset(int)`

    - #### getSortArrowMenuButtonSpaceOffset

          public int getSortArrowMenuButtonSpaceOffset()

      When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort arrow if sorting is active for that field and the arrow will be shown. May be increased for more separation between the sort arrow and the title text, at the expense of a reduced space for the title text.

      This value may need to be customized in your skin or if `sortAscendingImage` or `sortDescendingImage` are changed.

      Returns:
        Current sortArrowMenuButtonSpaceOffset value. Default value is 7
      See Also:
        `getSortNumeralMenuButtonSpaceOffset()`

    - #### setSortAscendingImage

          public void setSortAscendingImage(ImgProperties sortAscendingImage)

      Image to show when sorting ascending. See `ImgProperties` for format.

      Note : This is an advanced setting

      Parameters:
        `sortAscendingImage` - New sortAscendingImage value. Default value is {...}
      See Also:
        `setSortArrowMenuButtonSpaceOffset(int)`, `Appearance overview and related methods`

    - #### getSortAscendingImage

          public ImgProperties getSortAscendingImage()

      Image to show when sorting ascending. See `ImgProperties` for format.
      Returns:
        Current sortAscendingImage value. Default value is {...}
      See Also:
        `getSortArrowMenuButtonSpaceOffset()`, `Appearance overview and related methods`

    - #### setSortBinaryByFileName

          public void setSortBinaryByFileName(boolean sortBinaryByFileName)

      For any fields of `type "binary"`, should sorting be performed against the fileName of the value for the field? For Smart GWT server backed dataSources, this is applied to the record automatically as described in the `BinaryFields` overview.

      If set to false, binary fields will be sorted against the record value for the field in question. Client-side sorting does not support this, so developers who actually want to support a sort against the binary itself would typically set `ResultSet.useClientSorting` to false on the `dataProperties` block for this grid.

      Note that this setting will have no effect if `DataSourceField.sortByField` is specified

      Parameters:
        `sortBinaryByFileName` - New sortBinaryByFileName value. Default value is true

    - #### getSortBinaryByFileName

          public boolean getSortBinaryByFileName()

      For any fields of `type "binary"`, should sorting be performed against the fileName of the value for the field? For Smart GWT server backed dataSources, this is applied to the record automatically as described in the `BinaryFields` overview.

      If set to false, binary fields will be sorted against the record value for the field in question. Client-side sorting does not support this, so developers who actually want to support a sort against the binary itself would typically set `ResultSet.useClientSorting` to false on the `dataProperties` block for this grid.

      Note that this setting will have no effect if `DataSourceField.sortByField` is specified

      Returns:
        Current sortBinaryByFileName value. Default value is true

    - #### setSortByGroupFirst

          public void setSortByGroupFirst(java.lang.Boolean sortByGroupFirst)

      If set, whenever grouping is performed by an end user or by a programmatic call to `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 explicit 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 `getSort()` will not include the implicit sort in the list of return sort specifiers, and calls to `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` - New sortByGroupFirst value. 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 `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 explicit 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 `getSort()` will not include the implicit sort in the list of return sort specifiers, and calls to `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:
        Current sortByGroupFirst value. Default value is null

    - #### setSortDescendingImage

          public void setSortDescendingImage(ImgProperties sortDescendingImage)

      Image to show when sorting descending. See `ImgProperties` for format.

      Note : This is an advanced setting

      Parameters:
        `sortDescendingImage` - New sortDescendingImage value. Default value is {...}
      See Also:
        `setSortArrowMenuButtonSpaceOffset(int)`, `Appearance overview and related methods`

    - #### getSortDescendingImage

          public ImgProperties getSortDescendingImage()

      Image to show when sorting descending. See `ImgProperties` for format.
      Returns:
        Current sortDescendingImage value. Default value is {...}
      See Also:
        `getSortArrowMenuButtonSpaceOffset()`, `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 `ListGridField.sortDirection`.

      After initialization, this property will be updated on `sort()` or `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 `ListGridField.sortDirection` if specified, or `sortDirection`.

      ListGrids also support multiple-field sorting. See `setSort()` for details.

      Note that for editable grids, sorting is performed by underlying data values, not for unsaved `pending edit values`.

      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 `ListGridField.sortDirection`.

      After initialization, this property will be updated on `sort()` or `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:
        Current sortDirection value. Default value is "ascending"
      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` - New sortEditorSpanTitleSeparator value. 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:
        Current sortEditorSpanTitleSeparator value. Default value is " - "

    - #### 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` - New sorterButtonTitle value. Default value is "corner menu"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance 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:
        Current sorterButtonTitle value. Default value is "corner menu"
      See Also:
        `Appearance 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 `sort()` or `setSort()`. Details about the current sort of a live grid can be retrieved by calling `getSortField()` or `getSort()`

      Parameters:
        `sortField` - New sortField value. 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 `sort()` or `setSort()`. Details about the current sort of a live grid can be retrieved by calling `getSortField()` or `getSort()`

      Returns:
        Returns the current sort field for this grid. Note that if `setSort()` has been used to sort by multiple fields, you can call `getSort()` to retrieve details about the complete sort applied to the grid. Default value is null
      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 `sort()` or `setSort()`. Details about the current sort of a live grid can be retrieved by calling `getSortField()` or `getSort()`

      Parameters:
        `sortField` - New sortField value. 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` - New sortFieldAscendingText value. 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:
        Current sortFieldAscendingText value. Default value is "Sort Ascending"

    - #### 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` - New sortFieldDescendingText value. 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:
        Current sortFieldDescendingText value. Default value is "Sort Descending"

    - #### setSortNumeralMenuButtonSpaceOffset

          public void setSortNumeralMenuButtonSpaceOffset(int sortNumeralMenuButtonSpaceOffset)

      When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort numeral if `multi-sorting` is active for that field and the numeral will be shown. May be increased for more separation between the title text and the sort arrow when multi-sorting.

      Note that larger values may required if 10 or more fields are sorted at once, as the numeral will occupy more space. This value may need to be customized in your skin or if `sortAscendingImage` or `sortDescendingImage` are changed.

      Parameters:
        `sortNumeralMenuButtonSpaceOffset` - New sortNumeralMenuButtonSpaceOffset value. Default value is 9
      See Also:
        `setSortArrowMenuButtonSpaceOffset(int)`

    - #### getSortNumeralMenuButtonSpaceOffset

          public int getSortNumeralMenuButtonSpaceOffset()

      When `leaveHeaderMenuButtonSpace` is true, configures the amount of space beyond the `headerMenuButtonWidth` on the right side of a ListGrid header button (left for `RTL mode`) to reserve for the sort numeral if `multi-sorting` is active for that field and the numeral will be shown. May be increased for more separation between the title text and the sort arrow when multi-sorting.

      Note that larger values may required if 10 or more fields are sorted at once, as the numeral will occupy more space. This value may need to be customized in your skin or if `sortAscendingImage` or `sortDescendingImage` are changed.

      Returns:
        Current sortNumeralMenuButtonSpaceOffset value. Default value is 9
      See Also:
        `getSortArrowMenuButtonSpaceOffset()`

    - #### 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` - New sortNumeralStyle value. Default value is "sortNumeral"
      See Also:
        `CSSStyleName`

    - #### 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:
        Current sortNumeralStyle value. Default value is "sortNumeral"
      See Also:
        `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 `getSortState()`.

      Parameters:
        `sortState` - Object describing the desired sort state for the grid. Default value is null
      See Also:
        `ListGridSortState`

    - #### 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 `setSortState()` to reset this grid's sort to the current state (assuming the same fields are present in the grid).
        . Default value is null
      See Also:
        `ListGridSortState`

    - #### getSpanContextMenu

          public Layout getSpanContextMenu()
                                    throws java.lang.IllegalStateException

      The menu displayed when a cell is right clicked on.

      This component is an AutoChild named "spanContextMenu". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current spanContextMenu value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `GridHeader overview and related methods`

    - #### setSpannedHeaderBaseStyle

          public void setSpannedHeaderBaseStyle(java.lang.String spannedHeaderBaseStyle)
                                         throws java.lang.IllegalStateException

      `Button.baseStyle` to apply to the field header buttons for this ListGrid when showing header spans. Note that, depending on the `Class` of the header buttons, you may also need to set `headerTitleStyle`.
      Parameters:
        `spannedHeaderBaseStyle` - New spannedHeaderBaseStyle value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `CSSStyleName`, `Appearance overview and related methods`

    - #### getSpannedHeaderBaseStyle

          public java.lang.String getSpannedHeaderBaseStyle()

      `Button.baseStyle` to apply to the field header buttons for this ListGrid when showing header spans. Note that, depending on the `Class` of the header buttons, you may also need to set `headerTitleStyle`.
      Returns:
        Current spannedHeaderBaseStyle value. Default value is null
      See Also:
        `CSSStyleName`, `Appearance 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` - New stopOnErrors value. 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:
        Current stopOnErrors value. Default value is false
      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` - New styleName value. Default value is "listGrid"
      See Also:
        `CSSStyleName`, `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:
        Current styleName value. Default value is "listGrid"
      See Also:
        `CSSStyleName`, `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`

      This component is an AutoChild named "summaryRow". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Current summaryRow value. Default value is null
      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` - New summaryRowCriteria value. 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:
        Current summaryRowCriteria value. Default value is null

    - #### 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 `getGridSummary()` and `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` - New summaryRowDataSource value. 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 `getGridSummary()` and `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:
        Current summaryRowDataSource value. Default value is null

    - #### 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 `DSRequest.operationId` to perform a custom fetch operation which retrieved only summary values based on criteria.

      Note : This is an advanced setting

      Parameters:
        `summaryRowFetchRequestProperties` - New summaryRowFetchRequestProperties value. 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 `DSRequest.operationId` to perform a custom fetch operation which retrieved only summary values based on criteria.
      Returns:
        Current summaryRowFetchRequestProperties value. Default value is null

    - #### setSummaryRowHeight

          public void setSummaryRowHeight(int summaryRowHeight)
                                   throws java.lang.IllegalStateException

      Default height for the `summary row autoChild`. Note that this height is a minimum - 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` - New summaryRowHeight value. 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 minimum - 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:
        Current summaryRowHeight value. Default value is 20

    - #### setSummaryRowStyle

          public void setSummaryRowStyle(java.lang.String summaryRowStyle)

      `baseStyle` for the `summaryRow`

      Note : This is an advanced setting

      Parameters:
        `summaryRowStyle` - New summaryRowStyle value. Default value is "gridSummaryCell"
      See Also:
        `CSSStyleName`

    - #### getSummaryRowStyle

          public java.lang.String getSummaryRowStyle()

      `baseStyle` for the `summaryRow`
      Returns:
        Current summaryRowStyle value. Default value is "gridSummaryCell"
      See Also:
        `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` - New tallBaseStyle value. Default value is "cell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `getBaseStyle()`, `CSSStyleName`

    - #### 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:
        Current tallBaseStyle value. Default value is "cell"
      See Also:
        `getBaseStyle()`, `CSSStyleName`

    - #### setTouchScrollRedrawDelay

          public void setTouchScrollRedrawDelay(java.lang.Integer touchScrollRedrawDelay)

      While scrolling an incrementally rendered grid, using the inertial scrolling, time in milliseconds to wait before redrawing, after the last touchScroll by the user. If not specified `scrollRedrawDelay` will be used as a default for both drag scrolling and touch scrolling.

      Note that if specified, this value will typically be larger than `scrollRedrawDelay`.

      See also `GridRenderer.instantScrollTrackRedraw` for cases where this delay is skipped.

      Parameters:
        `touchScrollRedrawDelay` - New touchScrollRedrawDelay value. Default value is 0

    - #### getTouchScrollRedrawDelay

          public java.lang.Integer getTouchScrollRedrawDelay()

      While scrolling an incrementally rendered grid, using the inertial scrolling, time in milliseconds to wait before redrawing, after the last touchScroll by the user. If not specified `scrollRedrawDelay` will be used as a default for both drag scrolling and touch scrolling.

      Note that if specified, this value will typically be larger than `scrollRedrawDelay`.

      See also `GridRenderer.instantScrollTrackRedraw` for cases where this delay is skipped.

      Returns:
        Current touchScrollRedrawDelay value. Default value is 0

    - #### 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` - New trackerImage value. 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:
        Current trackerImage value. Default value is {...}
      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` - New unfreezeFieldText value. Default value is "Unfreeze ${title}"
      See Also:
        `HTMLString`

    - #### 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:
        Current unfreezeFieldText value. Default value is "Unfreeze ${title}"
      See Also:
        `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` - New ungroupText value. 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:
        Current ungroupText value. Default value is "Ungroup"

    - #### 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 `markRecordRemoved()`. At this point, clicking on the icon will unmark the record as removed.
      Parameters:
        `unremoveIcon` - New unremoveIcon value. Default value is "[SKIN]/actions/undo.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `SCImgURL`

    - #### 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 `markRecordRemoved()`. At this point, clicking on the icon will unmark the record as removed.
      Returns:
        Current unremoveIcon value. Default value is "[SKIN]/actions/undo.png"
      See Also:
        `SCImgURL`

    - #### setUseAdvancedCriteria

          public void setUseAdvancedCriteria(java.lang.Boolean useAdvancedCriteria)

      Should the `filter-editor` in this grid always produce `AdvancedCriteria`?
      Parameters:
        `useAdvancedCriteria` - New useAdvancedCriteria value. Default value is null
      See Also:
        `CriteriaEditing overview and related methods`

    - #### getUseAdvancedCriteria

          public java.lang.Boolean getUseAdvancedCriteria()

      Should the `filter-editor` in this grid always produce `AdvancedCriteria`?
      Returns:
        Current useAdvancedCriteria value. Default value is null
      See Also:
        `CriteriaEditing overview and related methods`

    - #### 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` - New useAdvancedFieldPicker value. 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:
        Current useAdvancedFieldPicker value. Default value is false

    - #### setUseCellRollOvers

          public void setUseCellRollOvers(java.lang.Boolean useCellRollOvers)

      Are rollovers cell-level or row-level?
      Parameters:
        `useCellRollOvers` - New useCellRollOvers value. Default value is null

    - #### getUseCellRollOvers

          public java.lang.Boolean getUseCellRollOvers()

      Are rollovers cell-level or row-level?
      Returns:
        Current useCellRollOvers value. Default value is null

    - #### 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 inaccessible on some browsers - via the methods `getSelectedCellData()` and `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` - New useCopyPasteShortcuts value. 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 inaccessible on some browsers - via the methods `getSelectedCellData()` and `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:
        Current useCopyPasteShortcuts value. Default value is true

    - #### 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` - New useRemoteValidators value. 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:
        Current useRemoteValidators value. Default value is null
      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 `getRowSpan()` has been overridden 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` - New useRowSpanStyling value. 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 `getRowSpan()` has been overridden 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:
        Current useRowSpanStyling value. Default value is null

    - #### 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` - New validateByCell value. 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:
        Current validateByCell value. Default value is null
      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` - New validateOnChange value. 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:
        Current validateOnChange value. Default value is null
      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` - New valueIconHeight value. 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:
        Current valueIconHeight value. Default value is null
      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` - New valueIconLeftPadding value. 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:
        Current valueIconLeftPadding value. Default value is 2
      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` - New valueIconRightPadding value. 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:
        Current valueIconRightPadding value. Default value is 2
      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 `ListGridField.valueIconSize`, `ListGridField.valueIconWidth` and {ListGridField.valueIconHeight}
      Parameters:
        `valueIconSize` - New valueIconSize value. 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 `ListGridField.valueIconSize`, `ListGridField.valueIconWidth` and {ListGridField.valueIconHeight}
      Returns:
        Current valueIconSize value. Default value is 16
      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` - New valueIconWidth value. 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:
        Current valueIconWidth value. Default value is null
      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 `getViewState()`.

      Parameters:
        `viewState` - Object describing the desired view state for the grid. Default value is null
      See Also:
        `ListGridViewState`

    - #### 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 `setViewState()` to reset this grid's view state to the current state (assuming the same data / fields are present in the grid).
        . Default value is null
      See Also:
        `ListGridViewState`

    - #### 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 `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` - New virtualScrolling value. 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 `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:
        Current virtualScrolling value. Default value is null
      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` - New waitForSave value. 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:
        Current waitForSave value. Default value is false
      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` - New warnOnRemoval value. 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:
        Current warnOnRemoval value. Default value is false

    - #### 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` - New warnOnRemovalMessage value. 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:
        Current warnOnRemovalMessage value. Default value is "Are you sure you want to delete this record?"

    - #### setWarnOnUnmappedValueFieldChange

          public void setWarnOnUnmappedValueFieldChange(java.lang.Boolean warnOnUnmappedValueFieldChange)

      If a field has `ListGridField.displayField` specified and has no `ListGridField.optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `ListGridField.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` - New warnOnUnmappedValueFieldChange value. Default value is true

    - #### getWarnOnUnmappedValueFieldChange

          public java.lang.Boolean getWarnOnUnmappedValueFieldChange()

      If a field has `ListGridField.displayField` specified and has no `ListGridField.optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `ListGridField.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:
        Current warnOnUnmappedValueFieldChange value. Default value is true

    - #### 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.
      If this method is called after the component has been drawn/initialized: Setter for `wrapCells`

      Note : This is an advanced setting

      Parameters:
        `wrapCells` - New wrapCells value. 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:
        Current wrapCells value. Default value is false
      See Also:
        Cell Values Example

    - #### setWrapHeaderSpanTitles

          public void setWrapHeaderSpanTitles(java.lang.Boolean wrapHeaderSpanTitles)
                                       throws java.lang.IllegalStateException

      If `HeaderSpan.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
      Parameters:
        `wrapHeaderSpanTitles` - New wrapHeaderSpanTitles value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setMinFieldWidth(int)`

    - #### getWrapHeaderSpanTitles

          public java.lang.Boolean getWrapHeaderSpanTitles()

      If `HeaderSpan.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
      Returns:
        Current wrapHeaderSpanTitles value. Default value is null
      See Also:
        `getMinFieldWidth()`

    - #### setWrapHeaderTitles

          public void setWrapHeaderTitles(java.lang.Boolean wrapHeaderTitles)
                                   throws java.lang.IllegalStateException

      If `ListGridField.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
      Parameters:
        `wrapHeaderTitles` - New wrapHeaderTitles value. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setMinFieldWidth(int)`, `setHeaderBaseStyle(java.lang.String)`

    - #### getWrapHeaderTitles

          public java.lang.Boolean getWrapHeaderTitles()

      If `ListGridField.wrap` is not explicitly set, should fields wrap? If autofitting, see the docs on that property for the details of how the minimum width for a field is determined.
      Returns:
        Current wrapHeaderTitles value. Default value is null
      See Also:
        `getMinFieldWidth()`, `getHeaderBaseStyle()`

    - #### 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"` `Canvas.snapTo` and `Canvas.snapOffsetLeft`, `Canvas.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 `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"` `Canvas.snapTo` and `Canvas.snapOffsetLeft`, `Canvas.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 `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 `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 `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 `applyCellData()`.

      Parameters:
        `recordData` - list of Records as described above

    - #### applySortToData

          public void applySortToData(SortSpecifier... sortSpecifiers)

      Sort the grid's data to reflect the parameter sortSpecifiers.

      NOTE: This method is primarily used by `setSort()`; it is not intended to be called by user code, unless you are implementing a custom `setSortHandler`). For the normal use case, calling this method directly will fail to execute vital pre-steps. If you are not implementing a custom handler as described above, do not call this method directly - call `setSort()` instead.

      Parameters:
        `sortSpecifiers` - Array of `SortSpecifier` objects

    - #### askForSort

          public void askForSort()

      Show a dialog to configure the sorting of multiple fields on this component. Calls through to `MultiSortDialog.askForSort()`, passing this component as the fieldSource and the current `sort-specification` if there is one.

      The generated multiSortDialog can be customized via `multiSortDialogDefaults`, `multiSortDialogProperties`.

    - #### 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 `setAutoFitWidth()` or `setAutoFitFieldWidths()` to do so.

      Note that unlike the ongoing autoFit set up by `autoFitFieldWidths` or `ListGridField.autoFitWidth`, any specified `ListGridField.width` will not be taken as a minimum width - the field may shrink below the current specified width when this method is run. However, `ListGridField.minWidth` will be respected.

      As with `autoFitFieldWidths`, the auto-fit sizing is determined via the `autoFitWidthApproach`.

      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 `setAutoFitWidth()` to do so.

      Note that unlike the ongoing autoFit set up by `autoFitFieldWidths` or `ListGridField.autoFitWidth`, any specified `ListGridField.width` will not be taken as a minimum width - the field(s) may shrink below the current specified width when this method is run. However, `ListGridField.minWidth` will be respected.

    - #### 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 `setAutoFitWidth()` to do so.

      Note that unlike the ongoing autoFit set up by `autoFitFieldWidths` or `ListGridField.autoFitWidth`, any specified `ListGridField.width` will not be taken as a minimum width - the field(s) may shrink below the current specified width when this method is run. However, `ListGridField.minWidth` will be respected.

      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:

               public boolean canEditCell(int rowNum, int colNum) {
                 Record record = this.getRecord(rowNum);
                 String fieldName = this.getFieldName(colNum);
                 if (fieldName.equals("shipDate") && record.getAttribute("orderStatus").equals("complete") {
                   return false;
                 }
                 // use default rules for all other fields
                 return super.canEditCell(rowNum, colNum);
               };

      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 `getEditValues()`.

      Note: This is an override point.

      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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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

    - #### addCellErrorIconHoverHandler

          public com.google.gwt.event.shared.HandlerRegistration addCellErrorIconHoverHandler(CellErrorIconHoverHandler handler)

      Add a cellErrorIconHover handler.

      Optional stringMethod to fire when the user hovers over the error icon of a cell with validation errors. The default behavior is to show a hover canvas containing the validation error message text. Call `CellErrorIconHoverEvent.cancel()` from within `CellErrorIconHoverHandler.onCellErrorIconHover(com.smartgwt.client.widgets.grid.events.CellErrorIconHoverEvent)` to suppress this default behavior.

      Specified by:
        `addCellErrorIconHoverHandler` in interface `HasCellErrorIconHoverHandlers`
      Parameters:
        `handler` - the cellErrorIconHover handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellErrorIconOutHandler

          public com.google.gwt.event.shared.HandlerRegistration addCellErrorIconOutHandler(CellErrorIconOutHandler handler)

      Add a cellErrorIconOut handler.

      Optional stringMethod to fire when the mouse moves off the error icon of a cell with validation errors.

      Specified by:
        `addCellErrorIconOutHandler` in interface `HasCellErrorIconOutHandlers`
      Parameters:
        `handler` - the cellErrorIconOut handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addCellErrorIconOverHandler

          public com.google.gwt.event.shared.HandlerRegistration addCellErrorIconOverHandler(CellErrorIconOverHandler handler)

      Add a cellErrorIconOver handler.

      Optional stringMethod to fire when the mouse moves over the error icon of a cell with validation errors.

      Specified by:
        `addCellErrorIconOverHandler` in interface `HasCellErrorIconOverHandlers`
      Parameters:
        `handler` - the cellErrorIconOver 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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 `HTMLString`
      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 `setSort()` with a null parameter. The internal list of `SortSpecifier`s is removed and the grid is unsorted.

    - #### closeGroup

          public boolean closeGroup(Record record)

      Closes the node represented by the "record" parameter, if it is a folder and is not already closed. This method only applies to `grouped` ListGrids.
      Parameters:
        `record` - node to close
      Returns:
        true if the node was closed, false if it was not (either because it is not a folder, or because it was already closed)

    - #### collapseRecord

          public void collapseRecord(ListGridRecord record)

      Collapses a given `record` which has been previously expanded using `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 `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 `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 com.google.gwt.event.shared.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.

      Note that `dataArrived()`, unlike `ListGrid.dataChanged()`, only fires in limited circumstances - when data for a `ResultSet` arrives from the server due to a fetch or cache invalidation, or as a result of filtering. If you want to catch all data changes, you should instead react to `ListGrid.dataChanged()`.

      Specified by:
        `addDataArrivedHandler` in interface `HasDataArrivedHandlers`
      Parameters:
        `handler` - the dataArrived handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addDataChangedHandler

          public com.google.gwt.event.shared.HandlerRegistration addDataChangedHandler(DataChangedHandler handler)

      Add a dataChanged handler.

      Notification method fired when the ListGrid's data changes, for any reason.

      Examples of why data changed might be:

      - a call to `ListGrid.addData()`, `ListGrid.updateData()`, or `ListGrid.removeData()`
      - `DataSource` updates from the server for `ResultSet` data (triggered by record editing, etc.)
      - fetches arriving back from the server for `ResultSet` data
      - changes to array data if made through APIs such as Array.set(), Array.add(), etc.
      - cache invalidation
      - filtering
      Calling `ListGrid.setData()` doesn't call this notification directly, but it may fire if one of the above listed events is triggered (e.g. a server fetch for `ResultSet` data).

      Note that the `operationType` parameter is optional and will be passed and contain the operation (e.g. "update") if this notification was triggered by a fetch, an `ListGrid.addData()`, `ListGrid.updateData()`, or `ListGrid.removeData()`, or a `DataSource` update for `ResultSet` data (the first three reasons listed above) but otherwise will be null.

      Specified by:
        `addDataChangedHandler` in interface `HasDataChangedHandlers`
      Parameters:
        `handler` - the dataChanged 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)
      See Also:
        `Selection overview and related methods`

    - #### 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 `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 `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 `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 `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`

    - #### displaySort

          public void displaySort(SortSpecifier... sortSpecifiers)

      Modify the grid UI to reflect the parameter sortSpecifiers. For a single sortSpecifier, this consists of marking the field with a directional arrow in its header button (if it visible).

      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.

      See `addSort()` and `toggleSort()` APIs for information on making changes to the current sort configuration.

      NOTE: This method is primarily used by `setSort()`; it is not intended to be called by user code, unless you are implementing a custom `setSortHandler`). For the normal use case, calling this method directly will fail to execute vital pre-steps. If you are not implementing a custom handler as described above, do not call this method directly - call `setSort()` instead.

      Parameters:
        `sortSpecifiers` - Array of `SortSpecifier` objects

    - #### addDrawAreaChangedHandler

          public com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 `HandleErrorCallback.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 `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, using the specified `export format`.

      A variety of DSRequest settings, such as `exportAs` and `DSRequest.exportFilename`, affect the exporting process: see `exportResults` for further detail.

      This feature requires the Smart GWT server.

      If your ListGrid has custom formatters, formatted values will be exported by default, with HTML normalized to text where possible. Since some levels of HTML normalizing aren't possible, this may result in missing or incorrect export values. In this case, you have three options:

      - Set `exportRawValues` on the field. This will export the raw underlying value of the field; your formatter will not be called
      - Have your formatter call `isExportingClientData()` and perform whatever alternative formatting you require if that method returns true
      - Set `exportRawNumbers` on the field. This will export the raw underlying number of the field; your formatter will not be called

      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, using the specified `export format`.

      A variety of DSRequest settings, such as `exportAs` and `DSRequest.exportFilename`, affect the exporting process: see `exportResults` for further detail.

      This feature requires the Smart GWT server.

      If your ListGrid has custom formatters, formatted values will be exported by default, with HTML normalized to text where possible. Since some levels of HTML normalizing aren't possible, this may result in missing or incorrect export values. In this case, you have three options:

      - Set `exportRawValues` on the field. This will export the raw underlying value of the field; your formatter will not be called
      - Have your formatter call `isExportingClientData()` and perform whatever alternative formatting you require if that method returns true
      - Set `exportRawNumbers` on the field. This will export the raw underlying number of the field; your formatter will not be called

      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 `DataSourceField.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.

      Note that multiple foreign keys into the schema are supported by this method.

      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 `DataSourceField.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.

      Note that multiple foreign keys into the schema are supported by this method.

      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`

    - #### fieldIsEditable

          public boolean fieldIsEditable(ListGridField field)

      Can the field be edited? This method looks at `canEdit` for the grid as well as the `ListGridField.canEdit` value, to determine whether editing is allowed. This method's return value is not authoritative for editibility since `canEditCell()` could return a more specific value.

      For a detailed discussion, see the documentation at `canEdit`.

      Parameters:
        `field` - field object, number, or name
      Returns:
        whether field can be edited
      See Also:
        `Editing overview and related methods`

    - #### fieldIsEditable

          public boolean fieldIsEditable(int field)

      Can the field be edited? This method looks at `canEdit` for the grid as well as the `ListGridField.canEdit` value, to determine whether editing is allowed. This method's return value is not authoritative for editibility since `canEditCell()` could return a more specific value.

      For a detailed discussion, see the documentation at `canEdit`.

      Parameters:
        `field` - field object, number, or name
      Returns:
        whether field can be edited
      See Also:
        `Editing overview and related methods`

    - #### fieldIsEditable

          public boolean fieldIsEditable(java.lang.String field)

      Can the field be edited? This method looks at `canEdit` for the grid as well as the `ListGridField.canEdit` value, to determine whether editing is allowed. This method's return value is not authoritative for editibility since `canEditCell()` could return a more specific value.

      For a detailed discussion, see the documentation at `canEdit`.

      Parameters:
        `field` - field object, number, or name
      Returns:
        whether field can be edited
      See Also:
        `FieldName`, `Editing 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 com.google.gwt.event.shared.HandlerRegistration addFieldStateChangedHandler(FieldStateChangedHandler handler)

      Add a fieldStateChanged handler.

      Notification method executed when columns are resized or reordered, or fields are shown or hidden. frozen or unfrozen. 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 com.google.gwt.event.shared.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 `ListGrid.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 `ListGrid.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 com.google.gwt.event.shared.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 `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 `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 `showField()`, `hideField()` and related APIs. To update properties of individual fields, use `setFieldProperties()` or more specific APIs such as `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`.

      As noted under `enforceVClipping`, cell content which renders taller than the available space within a cell may cause rows to expand even if `fixedRecordHeights` is true. This can lead to misaligned rows when frozen columns are used. Developers should be aware that changing cell styling such that there is increased borders or padding will reduce the available space for content within the specified cell height, making this scenario more common. To fix this, specify a larger cellHeight, or set enforceVClipping to true.

      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 `CSSStyleName`
      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.

      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:
        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 `Canvas.hoverAutoDestroy` to false on the returned component.

      If you return a component that fetches data or loads content dynamically:

      1. set rpcRequest.promptStyle to "cursor" or set rpcRequest.showPrompt to false on any network requests, or the default masking that blocks the screen during network requests will dismiss the hover
      2. as covered above, your component may have been automatically destroyed by the time your content has been loaded. Check `Canvas.destroyed` before taking action in an asynchronous callback
      3. if your component grows in size after data is loaded, and it would then be rendered partially off-screen, it will be automatically re-positioned to keep it on-screen. However this will not automatically happen in cases where you provide HTML content that changes size after initial render, in which case a call to `Canvas.adjustForContent()` will be required. See that API for details.
      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:
        `Positioning 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 `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 (`GridRenderer.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, `getCellCSSText()` may be overriden to provide custom cssText to apply on top of the styling attributes derived from the named style.

      Note: This is an override point.

      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 `CSSStyleName`
      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:
        `Positioning 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:
        `Positioning 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:
        `Positioning overview and related methods`

    - #### getCurrentExpansionComponent

          public Canvas getCurrentExpansionComponent(java.lang.Integer record)

      Returns the expansion component derived from `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 `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.

    - #### getCurrentFieldWidths

          public java.lang.Integer[] getCurrentFieldWidths()

      Returns an array of widths of the visible fields in this `ListGrid`, in px. This method is implemented by calling `getFieldWidth()` for each field. If field widths cannot be determined, the returned array will contain nulls.
      Returns:
        field widths in px

    - #### setDefaultFieldWidthCustomizer

          public void setDefaultFieldWidthCustomizer(DefaultFieldWidthCustomizer customizer)

      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"`.

      If `ListGridField.defaultWidth` is specified, this will be returned.

      Otherwise, 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 `getFieldContentWidth()` method will be used to calculate a width based on the rendered width of content. Note that for `"image"` type fields, this method will rely on the `ListGridField.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:
        `DefaultFieldWidthCustomizer` - customizer

    - #### 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 `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 `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 `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 `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:
        `Positioning 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

    - #### getExpandedRecords

          public ListGridRecord[] getExpandedRecords()

      Returns the list of `records` from this ListGrid that are `expanded`
      Returns:
        All expanded records in the grid

    - #### 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 `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 according to the `pooling mode` being used. Custom expansion components, created via an override of getExpansionComponents(), will not be auto-destroyed - developers should override `collapseRecord()` to take care of clean-up for such components.

      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. See `CSSColor`

    - #### 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. See `CSSColor`

    - #### 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. See `CSSColor`

    - #### getField

          public ListGridField getField(int colNum)

      Given a column number or field name, return the field definition of a field which is visible in the grid. To retrieve the definition of any field, including hidden ones, use `getFieldByName()`.

      When using `DataBinding`, the field definition may be a mix of information derived from `fields` and `dataSource`.

      Parameters:
        `colNum` - number or name of the field
      Returns:
        field definition

    - #### getField

          public ListGridField getField(java.lang.String colNum)

      Given a column number or field name, return the field definition of a field which is visible in the grid. To retrieve the definition of any field, including hidden ones, use `getFieldByName()`.

      When using `DataBinding`, the field definition may be a mix of information derived from `fields` and `dataSource`.

      Parameters:
        `colNum` - number or name of the field
      Returns:
        field definition
      See Also:
        `FieldName`

    - #### getFieldByName

          public ListGridField getFieldByName(java.lang.String fieldName)

      Given a field name, return the appropriate field definition. Unlike `getField()`, this method will return the field definition even if it's not visible in the grid.
      Parameters:
        `fieldName` - name of the field to retrieve. See `FieldName`
      Returns:
        field definition
      See Also:
        `FieldName`

    - #### getFieldContentWidth

          public java.lang.Integer getFieldContentWidth(ListGridField field)

      Returns the pixel width of the content of a visible field in this grid.
      Parameters:
        `field` - field to test
      Returns:
        drawn width of this fields content

    - #### 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 `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 `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

    - #### getFrozenRollOverCanvas

          protected Canvas getFrozenRollOverCanvas(java.lang.Integer rowNum,
                                                   java.lang.Integer colNum)

      For grids with frozen columns, this method is called to retrieve the `frozenRollOverCanvas` when the user moves over a new row or cell if `showRollOverCanvas` is true, or when the user moves over the selected record if `showSelectedRollOverCanvas` is true.

      The default implementation uses the `com.smartgwt.client.types.AutoChild` subystem to create the `frozenRollOverCanvas` based on the `rollOverCanvas` auto child settings. It may be overridden for custom behavior.

      Note that for efficiency this should not typically create a new Canvas every time that it is called. Instead usually 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.

      See also `getRollOverCanvas()`.

      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

    - #### getFrozenRollUnderCanvas

          protected Canvas getFrozenRollUnderCanvas(java.lang.Integer rowNum,
                                                    java.lang.Integer colNum)

      For grids with frozen columns, this method is called to retrieve the `frozenRollUnderCanvas` when `showing a rollUnder canvas` or showing a `rollUnder canvas for the selected record`.

      The default implementation uses the `com.smartgwt.client.types.AutoChild` subystem to create the `rollUnderCanvas` auto child. It may be overridden for custom behavior.

      Note that for efficiency this should not typically create a new Canvas every time that it is called. Instead usually a single rollOver canvas should be created and updated to reflect the current rollOver row if necessary.

      Return null to avoid showing a `rollUnderCanvas` for frozen fields for this row.

      See also `getRollUnderCanvas()`.

      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

    - #### 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 `ListGridField.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 `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)

    - #### getGroupedRecordIndex

          public int getGroupedRecordIndex(ListGridRecord record)

      Returns the true row index for a grouped record excluding group and summary records. Records in closed groups are included in number.

      Function is not applicable for non-grouped grids and will return -1 if called.

      Parameters:
        `record` - record to number
      Returns:
        row index for record or -1 for group or summary records

    - #### 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)

    - #### getGroupSummaryData

          public ListGridRecord[] getGroupSummaryData(Record[] records,
                                                      Record groupNode,
                                                      java.lang.Boolean recalculate)

      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
        `recalculate` - if set to false and the node has existing summary data, returns the stored summary data, rather than recalculating
      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 `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 `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 `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 `ListGridRecord.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)

      This method is called to retrieve the `rollOverCanvas` when the user moves over a new row or cell if `showRollOverCanvas` is true, or when the user moves over the selected record if `showSelectedRollOverCanvas` is true.

      The default implementation uses the `com.smartgwt.client.types.AutoChild` subystem to create the `rollOverCanvas` auto child. It may be overridden for custom behavior.

      Note that for efficiency this should not typically create a new Canvas every time that it is called. Instead usually 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.

      See also `getFrozenRollOverCanvas()`.

      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)

      This method is called to retrieve the `rollUnderCanvas` when the user moves over a new row or cell if `showing a rollUnder canvas` or showing a `rollUnder canvas for the selected record`.

      The default implementation uses the `com.smartgwt.client.types.AutoChild` subystem to create the `rollUnderCanvas` auto child. It may be overridden for custom behavior.

      Note that for efficiency this should not typically create a new Canvas every time that it is called. Instead usually a single rollOver canvas should be created and updated to reflect the current rollOver row if necessary.

      Return null to avoid showing a `rollUnderCanvas` for this row.

      See also `getFrozenRollUnderCanvas()`.

      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 `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 `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 `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 `sort()` [rather than `setSort()`] the sortSpecifiers returned will have been created based on the specified sort field / direction passed into `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. See `HTMLString`

    - #### 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. See `HTMLString`

    - #### addGroupByCompleteHandler

          public com.google.gwt.event.shared.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 `ListGrid.data` object has been updated. On successful grouping the `fields` argument will list the new grouping and the `ListGrid.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 `ListGrid.groupByMaxRecords`.

      Specified by:
        `addGroupByCompleteHandler` in interface `HasGroupByCompleteHandlers`
      Parameters:
        `handler` - the groupByComplete handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addGroupStateChangedHandler

          public com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.HandlerRegistration addHeaderDoubleClickHandler(HeaderDoubleClickHandler handler)

      Add a headerDoubleClick handler.

      Handle a double click in the list header.

      By default, calls `ListGrid.autoFitField()` if `ListGrid.canAutoFitFields` is true and `ListGrid.headerAutoFitEvent` is `"doubleClick"`.

      Specified by:
        `addHeaderDoubleClickHandler` in interface `HasHeaderDoubleClickHandlers`
      Parameters:
        `handler` - the headerDoubleClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addHeaderHoverHandler

          public com.google.gwt.event.shared.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 `HTMLString`
      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 `hideFields()` passing in the array of fields to hide rather than to call this method repeatedly. In particular, this will ensure `recalculateSummaries()` is only run once.

      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 `hideFields()` passing in the array of fields to hide rather than to call this method repeatedly. In particular, this will ensure `recalculateSummaries()` is only run once.

      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 `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 `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 `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 com.google.gwt.event.shared.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 `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

    - #### isExportingClientData

          public boolean isExportingClientData()

      Returns true if this component is currently `exporting client data`. This method can be called from custom cell formatters if you need to return a different formatted value for an export than for a live ListGrid
      Returns:
        returns true if this component is currently exporting client data
      See Also:
        `exportClientData()`

    - #### 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 `TreeGrid.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

    - #### isSummaryRecord

          public boolean isSummaryRecord(ListGridRecord record)

      Returns whether the supplied record is a group or grid summary record. Useful in conjunction with `getGroupMembers()` for determining which records are group summary records.
      Parameters:
        `record` - Record object such as from `getGroupMembers()`
      Returns:
        whether record is summary

    - #### 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 `saveEdits()` or `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 `unmarkRecordRemoved()`, or by discarding edit values (`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 `saveEdits()` or `saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.

      This method is similar to `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 `saveEdits()` or `saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.

      This method is similar to `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 `saveEdits()` or `saveAllEdits()` will cause a "remove" `DSRequest` to be submitted.

      This method is similar to `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 `markRecordRemoved()` had been called.
      See Also:
        `Editing overview and related methods`

    - #### addBodyKeyPressHandler

          public com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.HandlerRegistration addRemoveRecordClickHandler(RemoveRecordClickHandler handler)

      Add a removeRecordClick handler.

      Handler fired when the user clicks the "remove" icon if `ListGrid.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 `ListGrid.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

    - #### openGroup

          public boolean openGroup(Record record)

      Opens the node represented by the "record" parameter, if it is a folder and is not already open. This method only applies to `grouped` ListGrids.
      Parameters:
        `record` - node to open
      Returns:
        true if the node was opened, false if it was not (either because it is not a folder, or because it was already open)

    - #### 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 `recalculateSummaries()`, this method will not force a refresh of field-level summaries (see `ListGridField.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 `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 com.google.gwt.event.shared.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 `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`

    - #### redrawHeader

          public void redrawHeader(boolean rightNow)

      Redraw just the `grid header`
      Parameters:
        `rightNow` - If true, redraw the grid header with a direct inline call to its redraw() method. Otherwise, `mark the header for redraw`

    - #### 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`

    - #### refreshData

          public void refreshData()

      Unlike `invalidateCache` this will perform an asynchronous (background) refresh of this component's data and then call the provided callback method on completion. A grid needs to have a `DataSource` associated with it to use this method.

      If `refreshData()` is called while the grid is waiting for a response from `fetchData()` the `refreshData()` call will be aborted. This is because the fetch has higher priority.

      If `fetchData()` is called while the grid is waiting for a response from `refreshData()` and the `fetchData()` call has altered the criteria or sort specifiers, the `refreshData()` call will be aborted.

      If data is being edited or has been edited without being saved when `refreshData()` is called, the data will be retained so you can save it after the refresh is complete. If you however want to throw away your edited but unsaved data when calling `refreshData()` you first need to call `discardAllEdits()` which will discard any unsaved edited data.

      Note that for a TreeGrid with `TreeGrid.loadDataOnDemand`: true, all currently opened parent nodes will be re-fetched, except for `paged` TreeGrids, for which only opened parent nodes that are visible or contain visible children are re-fetched. We do this in a single queued batch of fetches to maximize efficiency.

      By design, `dataChanged()` is not fired after `refreshData()`, as the Framework is not in a position to know if data has actually changed (which would require traversing the entire dataset to determine) and whether criteria, sort or other specifiers of the dataset also have not changed. Applications that need to take action on `refreshData()` should use the callback to do so.

      See Also:
        `fetchData()`, `invalidateCache()`, `DataBoundComponentMethods overview and related methods`

    - #### refreshData

          public void refreshData(DSCallback callback)

      Unlike `invalidateCache` this will perform an asynchronous (background) refresh of this component's data and then call the provided callback method on completion. A grid needs to have a `DataSource` associated with it to use this method.

      If `refreshData()` is called while the grid is waiting for a response from `fetchData()` the `refreshData()` call will be aborted. This is because the fetch has higher priority.

      If `fetchData()` is called while the grid is waiting for a response from `refreshData()` and the `fetchData()` call has altered the criteria or sort specifiers, the `refreshData()` call will be aborted.

      If data is being edited or has been edited without being saved when `refreshData()` is called, the data will be retained so you can save it after the refresh is complete. If you however want to throw away your edited but unsaved data when calling `refreshData()` you first need to call `discardAllEdits()` which will discard any unsaved edited data.

      Note that for a TreeGrid with `TreeGrid.loadDataOnDemand`: true, all currently opened parent nodes will be re-fetched, except for `paged` TreeGrids, for which only opened parent nodes that are visible or contain visible children are re-fetched. We do this in a single queued batch of fetches to maximize efficiency.

      By design, `dataChanged()` is not fired after `refreshData()`, as the Framework is not in a position to know if data has actually changed (which would require traversing the entire dataset to determine) and whether criteria, sort or other specifiers of the dataset also have not changed. Applications that need to take action on `refreshData()` should use the callback to do so.

      Parameters:
        `callback` - callback method to run once the refresh completes.
      See Also:
        `fetchData()`, `invalidateCache()`, `DataBoundComponentMethods 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 `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 `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`

    - #### regroup

          public void regroup()

      Programmatically regroup the grid according to the current grouping configuration.
      See Also:
        `groupBy(java.lang.String...)`

    - #### 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 `ListGridField.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 `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 `startEditing()` if appropriate, and fires `ListGridField.recordClick()` and/or `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 `startEditing()` if appropriate, and fires `ListGridField.recordClick()` and/or `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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 `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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 `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 `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 center 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 center 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 `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 `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 `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 `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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.HandlerRegistration addSelectionUpdatedHandler(SelectionUpdatedHandler handler)

      Add a selectionUpdated handler.

      Called when the selection changes. Note that this method fires exactly once for any given change to the selection 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 one 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)
      See Also:
        `Selection overview and related methods`

    - #### 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)
      See Also:
        `Selection overview and related methods`

    - #### setAutoFitWidth

          public void setAutoFitWidth(java.lang.String fieldName,
                                      boolean autoFit)

      Setter for `ListGridField.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 `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 `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 `ListGridField.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 `ListGridField.headerBaseStyle` for a field within the grid at runtime.
      Parameters:
        `name` - name of the field.
        `newStyle` - new baseStyle for the field header. See `CSSStyleName`

    - #### setFieldHeaderTitleStyle

          public void setFieldHeaderTitleStyle(java.lang.String name,
                                               java.lang.String newStyle)

      Update the `ListGridField.headerTitleStyle` for a field within the grid at runtime.
      Parameters:
        `name` - name of the field.
        `newStyle` - new titleTyle for the field header. See `CSSStyleName`

    - #### setFieldIcon

          public void setFieldIcon(java.lang.String fieldName,
                                   java.lang.String icon)

      Change the `ListGridField.icon` for a field after the grid is created
      Parameters:
        `fieldName` - field to update
        `icon` - icon for the field. See `SCImgURL`

    - #### setFieldMaxWidth

          public void setFieldMaxWidth(int fieldNum,
                                       int width)

      Updates `ListGridField.maxWidth` for the specified field and redraws the associated column if required.
      Parameters:
        `fieldNum` - name of the field, or index.
        `width` -
      See Also:
        `ListGridField.getMaxWidth()`

    - #### setFieldMinWidth

          public void setFieldMinWidth(int fieldNum,
                                       int width)

      Updates `ListGridField.minWidth` for the specified field and redraws the associated column if required.
      Parameters:
        `fieldNum` - name of the field, or index.
        `width` -
      See Also:
        `ListGridField.getMinWidth()`

    - #### 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 `resizeField()`, `setFieldTitle()`, `setFieldIcon()`, etc.) these should be used instead.

      Parameters:
        `fieldNum` - name of the field, or index.
        `properties` - properties to apply to the header

    - #### setFieldProperties

          public void setFieldProperties(java.lang.String 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 `resizeField()`, `setFieldTitle()`, `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

    - #### setFieldTitle

          public void setFieldTitle(java.lang.String 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 `HeaderSpan.headerBaseStyle` for a span within the grid at runtime.
      Parameters:
        `name` - name of the headerSpan, as specified via `HeaderSpan.name`.
        `newStyle` - new baseStyle for the headerSpan. See `CSSStyleName`

    - #### 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 `HeaderSpan.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 `HeaderSpan.name`.
        `newTitle` - new title for the headerSpan

    - #### setHeaderSpanTitleStyle

          public void setHeaderSpanTitleStyle(java.lang.String name,
                                              java.lang.String newTitle)

      Update the `HeaderSpan.headerTitleStyle` for a span within the grid at runtime.
      Parameters:
        `name` - name of the headerSpan, as specified via `HeaderSpan.name`.
        `newTitle` - new titleStyle for the headerSpan. See `CSSStyleName`

    - #### setRowErrors

          public void setRowErrors(int rowNum,
                                   java.lang.Object errors)

      Set the validation errors for some row (replacing any pre-existent validation errors)

      Note that in the case of a `grouped listGrid`, or a `TreeGrid`, some records may be hidden form view (part of a collapsed group or parent folder). In this case there is no meaningful row number associated with a record. This method cannot be called on such rows - developers should make the row visible first. This is by design - users should always be able to see 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`

    - #### addSetSortHandler

          public com.google.gwt.event.shared.HandlerRegistration addSetSortHandler(SetSortHandler handler)

      Add a setSort handler.

      Optional notification fired when either user or framework code calls `setSort()`. This notification fires before the default behavior; use `event.cancel()` to cancel the default behavior. Note, the notification is fired before the default functionality, but after prechecks have completed; your method will only be called if the default behavior would have been called. For example, if there are pending edits and the user does not confirm that these should be saved, normal sorting would not have gone ahead, so equally your handler will not be called.

      The default `setSort()` method does two things to reflect the set of `sortSpecifier`s passed to it:

      - Change the grid UI (show directional arrows, numerals to indicate sort priority, etc)
      - Actually sort the grid data
      If your reason for implementing a custom `setSortHandler()` is to inhibit or replace one of those behaviors, you should cancel the default behavior and directly invoke just that part of it you require. The following implementation will replicate the default behavior:

              grid.addSetSortHandler(new SetSortHandler() {
                  public void onSetSort(SetSortEvent event) {
                      displaySort(event.getSortSpecifiers());
                      applySortToData(event.getSortSpecifiers());
                      event.cancel();  // Prevent the framework from running its own default impl
                  }
              });

      Specified by:
        `addSetSortHandler` in interface `HasSetSortHandlers`
      Parameters:
        `handler` - the setSort handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setUserFormula

          public void setUserFormula(ListGridField field)

      Updates the user formula of the supplied field. This method is preferred over setting the the field property directly since it allows any component dependencies to be updated. If the formula is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the formula for this field
      - the common formula variable => field name map maintained by the component for calls to the FormulaBuilder
      Parameters:
        `field` - field owning the userFormula
      See Also:
        `ListGridField.getUserFormula()`

    - #### setUserFormula

          public void setUserFormula(java.lang.String field)

      Updates the user formula of the supplied field. This method is preferred over setting the the field property directly since it allows any component dependencies to be updated. If the formula is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the formula for this field
      - the common formula variable => field name map maintained by the component for calls to the FormulaBuilder
      Parameters:
        `field` - field owning the userFormula
      See Also:
        `ListGridField.getUserFormula()`

    - #### setUserFormula

          public void setUserFormula(ListGridField field,
                                     UserFormula userFormula)

      Updates the user formula of the supplied field. This method is preferred over setting the the field property directly since it allows any component dependencies to be updated. If the formula is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the formula for this field
      - the common formula variable => field name map maintained by the component for calls to the FormulaBuilder
      Parameters:
        `field` - field owning the userFormula
        `userFormula` - optional formula to install
      See Also:
        `ListGridField.getUserFormula()`

    - #### setUserFormulaText

          public void setUserFormulaText(ListGridField field)

      Updates the user formula text of the supplied field. This method is preferred over setting the text property directly since it allows any component dependencies to be updated. If the formula text is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the formula for this field
      Parameters:
        `field` - field owning the userFormula
      See Also:
        `ListGridField.getUserFormula()`

    - #### setUserFormulaText

          public void setUserFormulaText(java.lang.String field)

      Updates the user formula text of the supplied field. This method is preferred over setting the text property directly since it allows any component dependencies to be updated. If the formula text is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the formula for this field
      Parameters:
        `field` - field owning the userFormula
      See Also:
        `ListGridField.getUserFormula()`

    - #### setUserFormulaText

          public void setUserFormulaText(ListGridField field,
                                         java.lang.String text)

      Updates the user formula text of the supplied field. This method is preferred over setting the text property directly since it allows any component dependencies to be updated. If the formula text is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the formula for this field
      Parameters:
        `field` - field owning the userFormula
        `text` - optional formula text to install
      See Also:
        `ListGridField.getUserFormula()`

    - #### setUserSummary

          public void setUserSummary(ListGridField field)

      Updates the user summary of the supplied field. This method is preferred over setting the field property directly since it allows any component dependencies to be updated. If the summary is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the summary for this field
      Parameters:
        `field` - field owning the userSummary
      See Also:
        `ListGridField.getUserSummary()`

    - #### setUserSummary

          public void setUserSummary(java.lang.String field)

      Updates the user summary of the supplied field. This method is preferred over setting the field property directly since it allows any component dependencies to be updated. If the summary is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the summary for this field
      Parameters:
        `field` - field owning the userSummary
      See Also:
        `ListGridField.getUserSummary()`

    - #### setUserSummary

          public void setUserSummary(ListGridField field,
                                     UserSummary userSummary)

      Updates the user summary of the supplied field. This method is preferred over setting the field property directly since it allows any component dependencies to be updated. If the summary is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the summary for this field
      Parameters:
        `field` - field owning the userSummary
        `userSummary` - optional summary to install
      See Also:
        `ListGridField.getUserSummary()`

    - #### setUserSummaryText

          public void setUserSummaryText(ListGridField field)

      Updates the user summary text of the supplied field. This method is preferred over setting the text property directly since it allows any component dependencies to be updated. If the summary text is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the summary for this field
      Parameters:
        `field` - field owning the userSummary
      See Also:
        `ListGridField.getUserSummary()`

    - #### setUserSummaryText

          public void setUserSummaryText(java.lang.String field)

      Updates the user summary text of the supplied field. This method is preferred over setting the text property directly since it allows any component dependencies to be updated. If the summary text is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the summary for this field
      Parameters:
        `field` - field owning the userSummary
      See Also:
        `ListGridField.getUserSummary()`

    - #### setUserSummaryText

          public void setUserSummaryText(ListGridField field,
                                         java.lang.String text)

      Updates the user summary text of the supplied field. This method is preferred over setting the text property directly since it allows any component dependencies to be updated. If the summary text is not passed or undefined, it is assumed it has already been updated and only the dependency propagation logic will run.

      Known component dependencies are:

      - the cached record values of the summary for this field
      Parameters:
        `field` - field owning the userSummary
        `text` - optional summary text to install
      See Also:
        `ListGridField.getUserSummary()`

    - #### 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 `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 `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 `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 `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 `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 `ListGridField.sortDirection` if specified, or `sortDirection`.

      ListGrids also support multiple-field sorting. See `setSort()` for details.

      Note that for editable grids, sorting is performed by underlying data values, not for unsaved `pending edit values`.

      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 `ListGridField.sortDirection` if specified, or `sortDirection`.

      ListGrids also support multiple-field sorting. See `setSort()` for details.

      Note that for editable grids, sorting is performed by underlying data values, not for unsaved `pending edit values`.

      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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 `ListGridField.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 `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 `ListGridField.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 `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 `markRecordRemoved()`.

      Note that a record that is marked for removal and then un-marked retains any uncommitted edits from before it was marked for removal. These can be discarded with `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 `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 `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 `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 com.google.gwt.event.shared.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. `fetchData()`) will by default use "exact" while filtering (e.g. `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. `fetchData()`) will by default use "exact" while filtering (e.g. `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
      See Also:
        `SGWTProperties`

    - #### onInit

          protected void onInit()

      Overrides:
        `onInit` in class `Layout`

    - #### onInit_ListGrid

          protected void onInit_ListGrid()

    - #### setAutoChildProperties

          public void setAutoChildProperties(java.lang.String autoChildName,
                                             ListGridField properties)

      Sets the properties for creating a `ListGridField` AutoChild named `autoChildName`.

      NOTE: Overrides at override points are not applied to AutoChildren created from `properties`; that is, if the Java `Class` of `properties` overrides a Smart GWT override point, the custom method implementation will not be called.

      See Also:
        `AutoChildUsage`

    - #### 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 com.google.gwt.core.client.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

      Class overrides for `ResultSet` cannot be applied to the grid using this API. Instead, consider setting the `resultSetClass` property in the file defining your `DataSource`. Your class must be `registered for reflection`.
      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

      Properties to apply to the auto-generated `selectionCanvas` AutoChild when its use is enabled.
      Parameters:
        `selectionCanvasProperties` - the `selectionCanvas` properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setShowSelectionCanvas(Boolean)`

    - #### setSelectionUnderCanvasProperties

          public void setSelectionUnderCanvasProperties(Canvas selectionUnderCanvasProperties)
                                                 throws java.lang.IllegalStateException

      Properties to apply to the auto-generated `selectionUnderCanvas` AutoChild when its use is enabled.
      Parameters:
        `selectionUnderCanvasProperties` - the `selectionUnderCanvas` properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setShowSelectionUnderCanvas(Boolean)`

    - #### setRollOverCanvasProperties

          public void setRollOverCanvasProperties(Canvas rollOverCanvasProperties)
                                           throws java.lang.IllegalStateException

      Properties to apply to the auto-generated `rollOverCanvas` AutoChild when its use is enabled.
      Parameters:
        `rollOverCanvasProperties` - the `rollOverCanvas` properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setShowRollOverCanvas(Boolean)`

    - #### setRollUnderCanvasProperties

          public void setRollUnderCanvasProperties(Canvas rollUnderCanvasProperties)
                                            throws java.lang.IllegalStateException

      Properties to apply to the auto-generated `rollUnderCanvas` AutoChild when its use is enabled.
      Parameters:
        `rollUnderCanvasProperties` - the `rollUnderCanvas` properties
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setShowRollUnderCanvas(Boolean)`

    - #### 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` -

    - #### 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.

    - #### 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

    - #### 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,
                                   java.lang.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,
                                   java.lang.Integer 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,
                                   com.google.gwt.core.client.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,
                                   java.lang.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,
                                   java.lang.Integer 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,
                                   com.google.gwt.core.client.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.Object 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

    - #### getGroupSummaryData

          public ListGridRecord[] getGroupSummaryData(Record[] records,
                                                      GroupNode 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)

    - #### getGroupSummaryData

          public ListGridRecord[] getGroupSummaryData(Record[] records,
                                                      GroupNode groupNode,
                                                      java.lang.Boolean recalculate)

      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
        `recalculate` - if set to false and the node has existing summary data, returns the stored summary data, rather than recalculating
      Returns:
        summary record(s)

    - #### 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`

    - #### setInactiveCellFormatter

          public void setInactiveCellFormatter(CellFormatter formatter)

      Formatter for inactive content.

      If present, this method will be invoked instead of `setCellFormatter()` in cases where the grid is rendering non-interactive content outside. Examples of cases where this can happen include:

      - dragTracker HTML for a row when `dragTrackerMode` is set to "record"
      - measurement HTML used for sizing columns during autoFit
      - measurement HTML used for sizing rows when `fixedRecordHeights` is false and the grid has both frozen and unfrozen fields
      May also be overridden at the field level (see `com.smartgwt.client.widgets.grid.ListGridField#setInactiveCellFormatterfield`).

      This is useful for cases where it would not be appropriate to render the standard formatted cell value outside of the body of the grid. An example might be if the formatted value contains a DOM element with a specified ID - an approach sometimes used for integrating third party components into Smart GWT listGrid cells. In this case developers will wish to avoid having the framework render an element with the same ID outside of the grid, and should instead return HTML that would render at the same size, with an appropriate appearance.

      Parameters:
        `formatter` - formatter for inactive cells
      See Also:
        `setCellFormatter(com.smartgwt.client.widgets.grid.CellFormatter)`, `ListGridField.setInactiveCellFormatter(com.smartgwt.client.widgets.grid.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

    - #### setSortNumeralHTMLCustomizer

          public void setSortNumeralHTMLCustomizer(SortNumeralHTMLCustomizer customizer)

      This customizer is called to generate the HTML for the sortNumeral displayed next to a field's title when it is included in the current sort specification.
      Parameters:
        `customizer` - the sortNumeralHTML customizer

    - #### setCanSelectRecordCustomizer

          public void setCanSelectRecordCustomizer(CanSelectRecordCustomizer customizer)

      This customizer is called to determine whether a given record can be selected in this grid.
      Parameters:
        `customizer` - the CanSelectRecordCustomizer 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

    - #### findNextEditCell

          public int[] findNextEditCell(int rowNum,
                                        int colNum,
                                        boolean searchForward,
                                        boolean stepThroughFields,
                                        boolean checkStartingCell)

      Method to find the next editable cell given a starting row/col, and a direction, either iterating through fields within each row, or checking the same field in each row.

      Note, this is potentially an expensive method. For example, consider a listGrid where the user can add rows but not edit any existing rows; in this case, `canEditCell()` would inspect and reject every row in the dataSet before returning true for the last row. Consider this before making use of this method on grids with large dataSets

      Parameters:
        `rowNum` - Index of starting row
        `colNum` - Index of starting column
        `searchForward` - true if searching forward for the next edit cell, false if searching backwards
        `stepThroughFields` - true if we should check every field in each row; false if we should check the same field in each row
        `checkStartingCell` - Should we check whether the starting cell is editable? Pass false to skip the starting cell
      Returns:
        2 element array containing `[rowNum,colNum]` for the next editable cell, or `null` if no editable cell is found.

    - #### setMultiSortDialogDefaults

          public void setMultiSortDialogDefaults(MultiSortDialog multiSortDialogDefaults)
                                          throws java.lang.IllegalStateException

      Class level defaults to apply to the `MultiSortDialog` which gets automatically generated when askForSort() is called.

      See also `showHeaderSpanTitlesInSortEditor` and `sortEditorSpanTitleSeparator`

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

    - #### setMultiSortDialogProperties

          public void setMultiSortDialogProperties(MultiSortDialog multiSortDialogProperties)
                                            throws java.lang.IllegalStateException

      Properties to apply to the `MultiSortDialog` which gets automatically generated when askForSort() is called.

      See also `showHeaderSpanTitlesInSortEditor` and `sortEditorSpanTitleSeparator`

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

    - #### 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`

    - #### getGroupMembers

          public ListGridRecord[] getGroupMembers(GroupNode node,
                                                  boolean recordsOnly)

      For a `grouped` grid, returns all the direct children of the supplied node in the `groupTree` if `recordsOnly` false. Otherwise, if `recordsOnly` is true, returns instead a list of all descendants under the supplied node that are actual records from the grid's original data - i.e. that are not other group nodes (for multi-grouping) or summary records.

      Note that null may be returned if the grid is not currently grouped or the supplied node is not a valid `GroupNode`.

      Parameters:
        `node` - node from `groupTree`
        `recordsOnly` - `true` to return all descendants that are actual records from the grid's original data, or `false` to return all immediate children of the supplied group node
      Returns:
        records under the supplied node, as specified above, or null if we're not grouping or the node isn't a group node.

    - #### getFilterEditorCriteriaAsAdvancedCriteria

          public AdvancedCriteria getFilterEditorCriteriaAsAdvancedCriteria()

      Same as `getFilterEditorCriteria()` but returns an `AdvancedCriteria`.

    - #### setDataPageSize

          public void setDataPageSize(int dataPageSize)

      Description copied from interface: `DataBoundComponent`
      When using `data paging`, how many records to fetch at a time. If set to a positive integer, `dataPageSize` will override the default `resultSize` for ResultSets automatically created when you call `fetchData()` (and similarly for the `resultSize` of ResultTrees). The default of 0 means to just use the default page size of the data container.

      Note that regardless of the `dataPageSize` setting, a component will always fetch all of data that it needs to draw. Settings such as `showAllRecords:true`, `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 0
      See Also:
        `Databinding overview and related methods`

    - #### getDataPageSize

          public int getDataPageSize()

      Description copied from interface: `DataBoundComponent`
      When using `data paging`, how many records to fetch at a time. If set to a positive integer, `dataPageSize` will override the default `resultSize` for ResultSets automatically created when you call `fetchData()` (and similarly for the `resultSize` of ResultTrees). The default of 0 means to just use the default page size of the data container.

      Note that regardless of the `dataPageSize` setting, a component will always fetch all of data that it needs to draw. Settings such as `showAllRecords:true`, `drawAllMaxCells` and `drawAheadRatio` can cause more rows than the configured `dataPageSize` to be fetched.

      Specified by:
        `getDataPageSize` in interface `DataBoundComponent`
      Returns:
        int
      See Also:
        `Databinding overview and related methods`

    - #### 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`
      `operationId` this component should use when performing update operations.
      Specified by:
        `setUpdateOperation` in interface `DataBoundComponent`
      Parameters:
        `updateOperation` - Default value is null
      See Also:
        `Operations overview and related methods`

    - #### getUpdateOperation

          public java.lang.String getUpdateOperation()

      Description copied from interface: `DataBoundComponent`
      `operationId` this component should use when performing update operations.
      Specified by:
        `getUpdateOperation` in interface `DataBoundComponent`
      Returns:
        String
      See Also:
        `Operations overview and related methods`

    - #### setAddOperation

          public void setAddOperation(java.lang.String addOperation)

      Description copied from interface: `DataBoundComponent`
      `operationId` this component should use when performing add operations.
      Specified by:
        `setAddOperation` in interface `DataBoundComponent`
      Parameters:
        `addOperation` - Default value is null
      See Also:
        `Operations overview and related methods`

    - #### getAddOperation

          public java.lang.String getAddOperation()

      Description copied from interface: `DataBoundComponent`
      `operationId` this component should use when performing add operations.
      Specified by:
        `getAddOperation` in interface `DataBoundComponent`
      Returns:
        String
      See Also:
        `Operations overview and related methods`

    - #### setRemoveOperation

          public void setRemoveOperation(java.lang.String removeOperation)

      Description copied from interface: `DataBoundComponent`
      `operationId` this component should use when performing remove operations.
      Specified by:
        `setRemoveOperation` in interface `DataBoundComponent`
      Parameters:
        `removeOperation` - Default value is null
      See Also:
        `Operations overview and related methods`

    - #### getRemoveOperation

          public java.lang.String getRemoveOperation()

      Description copied from interface: `DataBoundComponent`
      `operationId` this component should use when performing remove operations.
      Specified by:
        `getRemoveOperation` in interface `DataBoundComponent`
      Returns:
        String
      See Also:
        `Operations overview and related methods`

    - #### 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

    - #### setExportIncludeSummaries

          public void setExportIncludeSummaries(java.lang.Boolean exportIncludeSummaries)

      Description copied from interface: `DataBoundComponent`
      If Summary rows exist for this component, whether to include them when exporting client data. Defaults to true if not set
      Specified by:
        `setExportIncludeSummaries` in interface `DataBoundComponent`
      Parameters:
        `exportIncludeSummaries` - exportIncludeSummaries Default value is true

    - #### getExportIncludeSummaries

          public java.lang.Boolean getExportIncludeSummaries()

      Description copied from interface: `DataBoundComponent`
      If Summary rows exist for this component, whether to include them when exporting client data. Defaults to true if not set
      Specified by:
        `getExportIncludeSummaries` 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 transferred
        `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.

    - #### 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

    - #### setImplicitCriteria

          public void setImplicitCriteria(Criteria implicitCriteria)

      Description copied from interface: `DataBoundComponent`
      Criteria that are never shown to or edited by the user and are cumulative with any criteria provided via `DataBoundComponent.initialCriteria`, `DataBoundComponent.setCriteria()` etc.
      Specified by:
        `setImplicitCriteria` in interface `DataBoundComponent`
      Parameters:
        `implicitCriteria` - New implicitCriteria value. Default value is null

    - #### getImplicitCriteria

          public Criteria getImplicitCriteria()

      Description copied from interface: `DataBoundComponent`
      Criteria that are never shown to or edited by the user and are cumulative with any criteria provided via `DataBoundComponent.initialCriteria`, `DataBoundComponent.setCriteria()` etc.
      Specified by:
        `getImplicitCriteria` in interface `DataBoundComponent`
      Returns:
        Current implicitCriteria value. Default value is null

    - #### 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:
        `refreshData()`, `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 com.google.gwt.core.client.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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 com.google.gwt.event.shared.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

    - #### getFieldAlignments

          public Alignment[] getFieldAlignments()

      Description copied from interface: `DataBoundComponent`
      Returna an array of field alignments for this grid
      Specified by:
        `getFieldAlignments` in interface `DataBoundComponent`
      Returns:
        array of Alignments

    - #### getDeepCloneOnEdit

          public java.lang.Boolean getDeepCloneOnEdit()

      Description copied from interface: `DataBoundComponent`
      Before we start editing values in this DataBoundComponent, should we perform a deep clone of the underlying values. See `DataSource.getDeepCloneOnEdit()` for details of what this means.

      If this value is not explicitly set, it defaults to the DataSource `deepCloneOnEdit` value. This value can also be overridden per-field with `DataSourceField.setDeepCloneOnEdit(java.lang.Boolean)`.

      Like the other `deepCloneOnEdit` settings, this flag only has an effect if you are editing a values object that contains nested objects or arrays, using `Canvas.setDataPath(java.lang.String)`

      Specified by:
        `getDeepCloneOnEdit` in interface `DataBoundComponent`

    - #### setDeepCloneOnEdit

          public void setDeepCloneOnEdit(java.lang.Boolean deepCloneOnEdit)

      Description copied from interface: `DataBoundComponent`
      Before we start editing values in this DataBoundComponent, should we perform a deep clone of the underlying values. See `DataSource.getDeepCloneOnEdit()` for details of what this means.

      If this value is not explicitly set, it defaults to the DataSource `deepCloneOnEdit` value. This value can also be overridden per-field with `DataSourceField.setDeepCloneOnEdit(java.lang.Boolean)`.

      Like the other `deepCloneOnEdit` settings, this flag only has an effect if you are editing a values object that contains nested objects or arrays, using `Canvas.setDataPath(java.lang.String)`

      Specified by:
        `setDeepCloneOnEdit` in interface `DataBoundComponent`

    - #### setFields

          public void setFields(com.google.gwt.core.client.JavaScriptObject... fields)

      Description copied from interface: `DataBoundComponent`
      Field setter variant (alternative to `setFields(FormItem...)`, `setFields(ListGridField...)`, etc.) that will accept an array of JavaScriptObject, rather than an array of SmartGWT Java wrappers of the field class type (e.g. `FormItem`, `ListGridField`, etc.) This is an advanced method and only for cases where you have the JavaScriptObject for each field but want to avoid having to create each associated SmartGWT Java wrapper.

      Note: use `toArray()` to create a Java array of JavaScriptObject if you only have the array itself as a single JavaScriptObject.

      Specified by:
        `setFields` in interface `DataBoundComponent`
      Parameters:
        `fields` - the component fields

    - #### getFieldsAsJavaScriptObjects

          public com.google.gwt.core.client.JavaScriptObject[] getFieldsAsJavaScriptObjects()

      Description copied from interface: `DataBoundComponent`
      Return the fields as JavaScriptObjects rather than as SmartGWT Java wrappers of the field class type (e.g. `FormItem`, `ListGridField`, etc.) This avoids building the SmartGWT Java wrappers for the fields in situations where they aren't needed - and for FormItems in particular - where there may not be enough information to determine the correct subclass, such as before the SmartClient instance underlying the `DynamicForm` has been created.
      Specified by:
        `getFieldsAsJavaScriptObjects` in interface `DataBoundComponent`
      Returns:
        the component fields

    - #### getFieldCount

          public int getFieldCount()

      Description copied from interface: `DataBoundComponent`
      Return the number of fields.
      Specified by:
        `getFieldCount` in interface `DataBoundComponent`
      Returns:
        the number of fields

    - #### setDragDataCustomizer

          public void setDragDataCustomizer(DragDataCustomizer customizer)

      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()`.

      Parameters:
        `DragDataCustomizer` - customizer

    - #### 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`