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

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

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

- - ### Nested Class Summary

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

      `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, id, isElementSet, 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

    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` | `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` | `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.
    `void` | `addSort(SortSpecifier sortSpecifier)` Adds another SortSpecifierto 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 `ListGrid.getSelectedCellData` and applies the data at the current selection.
    `void` | `applyRecordData(RecordList recordData)` Applies a list of Records as changes to the current selection.
    `int` | `autoFitField(java.lang.String fieldName)` Programmatically cause a field to auto-fit horizontally to it's contents or title.
    `void` | `autoFitFields(ListGridField... fields)` Perform a one-time horizontal auto-fit of the fields passed.
    `void` | `cancelEditing()` Cancel the current edit without saving.
    `protected boolean` | `canEditCell(int rowNum, int colNum)` Can this cell be edited?
    `boolean` | `canExpandRecord(ListGridRecord record, int rowNum)` Expands a given record by creating a subcomponent and inserting it in to the record's grid-row.
    `protected boolean` | `canSelectCell(int rowNum, int colNum)` If `canSelectCells` is set to `true`, this method will be called for each cell the user attempts to select.
    `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 fieldName)` 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, Record[] 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 colIndex)` Clears any validation errors for some cell.
    `void` | `clearFieldError(int rowNum, java.lang.String fieldName)` Clears any validation errors for some cell.
    `void` | `clearRowErrors(int rowNum)` Clear any stored validation errors for some row
    `void` | `clearSort()` This method clears any existing sort on this grid by calling `ListGrid.setSort` with a null parameter.
    `void` | `closeRecord(ListGridRecord record)` Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
    `void` | `collapseRecord(ListGridRecord record)` Collapses a given `record` which has been previously expanded using `ListGrid.expandRecord`.
    `void` | `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 for a row/cell the first time it is brought into the drawArea, or when there are not yet any components in the pool.
    `void` | `deselectAllRecords()` Deselect all records
    `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 records.
    `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.
    `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` | `exportClientData()` Exports this component's data with client-side formatters applied, so is suitable for direct display to users.
    `void` | `exportClientData(DSRequest requestProperties)` Exports this component's data with client-side formatters applied, so is suitable for direct display to users.
    `void` | `exportData()` Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.
    `void` | `exportData(DSRequest requestProperties)` Uses a "fetch" operation on the current `DataSource` to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.
    `void` | `fetchData()` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchData(Criteria criteria)` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchData(Criteria criteria, DSCallback callback)` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchData(Criteria criteria, DSCallback callback, DSRequest requestProperties)` Retrieves data from the DataSource that matches the specified criteria.
    `void` | `fetchRelatedData(ListGridRecord record, Canvas schema)` Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.
    `void` | `fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback)`
    `void` | `fetchRelatedData(ListGridRecord record, Canvas schema, DSCallback callback, DSRequest requestProperties)` Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.
    `void` | `fetchRelatedData(Record record, DataSource dataSource)` 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, 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.
    `boolean` | `fieldIsVisible(java.lang.String field)` Check whether a field is currently visible
    `void` | `filterByEditor()` If the filter editor (`showFilterEditor`) is visible for this grid, this method will perform a filter based on the current values in the editor.
    `void` | `filterData()` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `void` | `filterData(Criteria criteria)` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `void` | `filterData(Criteria criteria, DSCallback callback)` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `void` | `filterData(Criteria criteria, DSCallback callback, DSRequest requestProperties)` Retrieves data that matches the provided criteria and displays the matching data in this component.
    `Record` | `find(AdvancedCriteria adCriteria)` Filters all objects according to the AdvancedCriteria passed and returns the first matching object or null if not found
    `Record[]` | `findAll(AdvancedCriteria adCriteria)` Filters all objects according to the AdvancedCriteria passed
    `int` | `findIndex(AdvancedCriteria adCriteria)` Finds the index of the first Record that matches with the AdvacendCriteria passed.
    `int` | `findNextIndex(int startIndex, AdvancedCriteria adCriteria)` Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex parameter.
    `int` | `findNextIndex(int startIndex, AdvancedCriteria adCriteria, int endIndex)` Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex and endIndex parameters.
    `void` | `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` | `freezeField(int colNum)` Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
    `void` | `freezeField(java.lang.String fieldName)` Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
    `void` | `freezeFields(int[] colNums)` Freeze the indicated fields, so that they remains in place and visible when horizontal scrolling occurs.
    `void` | `freezeFields(java.lang.String[] fieldNames)` Freeze the indicated fields, so that they remains in place and visible when horizontal scrolling occurs.
    `java.lang.Boolean` | `getAddDropValues()` Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key.
    `java.lang.String` | `getAddFormulaFieldText()` Text for a menu item allowing users to add a formula field
    `java.lang.String` | `getAddOperation()` Operation ID this component should use when performing add operations.
    `java.lang.String` | `getAddSummaryFieldText()` Text for a menu item allowing users to add a formula field
    `int` | `getAdvancedFieldPickerThreshold()` When `useAdvancedFieldPicker` is set, total number of available fields that must be present in the grid before the advanced field picker interface is used instead of the normal columns submenu.
    `int[]` | `getAllEditRows()` Returns an array of every rowNum for which we have pending (unsubmitted) edits.
    `ListGridField[]` | `getAllFields()` Get the complete array of fields for this ListGrid, including fields that are not currently visible or were specified implicitly via `dataSource`.
    `java.lang.Boolean` | `getAllowFilterExpressions()` For use with `showFilterEditor`:true, allows simple search expressions to be entered into filter fields, as though `allowExpressions` were true.
    `java.lang.Boolean` | `getAllowRowSpanning()` Should cells in this grid be allowed to span multiple rows? If set to `true`, the `ListGrid.getRowSpan` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.
    `java.lang.String` | `getAlternateBodyStyleName()` Optional css style to apply to the body if `alternateRecordStyles` is true for this grid.
    `int` | `getAlternateRecordFrequency()` The number of consecutive rows to draw in the same style before alternating, when alternateRowStyles is true.
    `java.lang.Boolean` | `getAlternateRecordStyles()` Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading.
    `java.lang.Boolean` | `getAlwaysShowEditors()` When this attribute is set, editors will be rendered into every row of the grid rather than showing up in a single record at a time.
    `AnimationAcceleration` | `getAnimateFolderEffect()` When animating folder opening / closing, this property can be set to apply an animated acceleration effect.
    `java.lang.Integer` | `getAnimateFolderMaxRows()` If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
    `java.lang.Boolean` | `getAnimateFolders()` If true, when folders are opened / closed children will be animated into view.
    `int` | `getAnimateFolderSpeed()` When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second.
    `int` | `getAnimateFolderTime()` When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
    `java.lang.Boolean` | `getAnimateRemoveRecord()` When `canRemoveRecords` is enabled, should records be animated out of view when they are removed by the user?
    `int` | `getAnimateRemoveSpeed()` When `animating record removal`, this property designates the speed of the animation in pixels per second.
    `int` | `getAnimateRemoveTime()` When animating record removal `(see animateRemoveRecord)`, if `animateRemoveSpeed` is not set, this property designates the duration of the animation in ms.
    `java.lang.Boolean` | `getAnimateRollOver()` If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollOver canvas is displayed it animates into view via an `Canvas.animateShow`.
    `java.lang.Boolean` | `getAnimateRollUnder()` If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollUnder canvas is displayed it animates into view via an `Canvas.animateShow`.
    `java.lang.Boolean` | `getAnimateSelection()` If `showSelectionCanvas` is `true` setting this property to true ensures that when the selection canvas is displayed it animates into view via an `Canvas.animateShow`.
    `java.lang.Boolean` | `getAnimateSelectionUnder()` If `showSelectionCanvas` is `true` setting this property to true ensures that when the selectionUnder canvas is displayed it animates into view via an `Canvas.animateShow`.
    `java.lang.Boolean` | `getApplyFormulaAfterSummary()` If `field.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`.
    `java.lang.Boolean` | `getAutoFetchAsFilter()` If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
    `java.lang.Boolean` | `getAutoFetchData()` If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` .
    `java.lang.Boolean` | `getAutoFetchDisplayMap()` If true, for fields where `optionDataSource` is specified, a valueMap will be automatically created by making a `DataSource.fetchData` call against the specified dataSource and extracting a valueMap from the returned records based on the displayField and valueField.
    `TextMatchStyle` | `getAutoFetchTextMatchStyle()` If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
    `java.lang.String` | `getAutoFitAllText()` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of all visible fields via the `ListGrid.autoFitField` method.
    `java.lang.String[]` | `getAutoFitClipFields()` If `autoFitFieldWidths` is enabled and the calculated field sizes are wide enough that horizontal scrolling would be introduced, this attribute may be set to an array of fieldNames, causing those fields to be clipped rather than forcing horizontal scrollbars to appear.
    `Autofit` | `getAutoFitData()` Should this ListGrid automatically expand to accommodate the size of records and fields?
    `java.lang.String` | `getAutoFitExpandField()` The field to expand if `autoFitFieldWidths` and `autoFitFieldsFillViewport` are enabled and auto-fitting will not fill all available horizontal space.
    `java.lang.Integer` | `getAutoFitExtraRecords()` If `autoFitData` is set to `"vertical"` or `"both"` this property specifies the number of additional records for which the grid will expand.
    `java.lang.Boolean` | `getAutoFitFieldsFillViewport()` If `autoFitFieldWidths` is enabled, and extra space is available after autofitting all fields, should the grid automatically expand one field to fill the extra space.
    `java.lang.String` | `getAutoFitFieldText()` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of the field to its title or content via a call to `ListGrid.autoFitField`.
    `java.lang.Boolean` | `getAutoFitFieldWidths()` Enables autofitting of fields to values or titles.
    `java.lang.Boolean` | `getAutoFitHeaderHeights()` If this property is set to true, header buttons for either `fields` or `header spans` will automatically expand to accomodate their titles vertically.
    `AutoFitIconFieldType` | `getAutoFitIconFields()` Smart GWT listGrids have special logic to automatically size fields that are displayed as an icon - that is fields with `type:"icon"`, fields displaying only `value icons`, and boolean fields (which are rendered as a checkmark type icon by default.
    `int` | `getAutoFitMaxColumns()` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides the maximum number of columns for which the ListGrid will expand.
    `java.lang.Integer` | `getAutoFitMaxHeight()` If `autoFitData` is set to `"vertical"` or `"both"` this property provides an upper limit on how far the ListGrid will expand vertically to accommodate its content.
    `int` | `getAutoFitMaxRecords()` If `autoFitData` is set to `"vertical"` or `"both"` this property provides the maximum number of records for which the ListGrid will expand.
    `java.lang.Integer` | `getAutoFitMaxWidth()` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides an upper limit on how far the ListGrid will expand horizontally to accommodate its content.
    `AutoFitWidthApproach` | `getAutoFitWidthApproach()` When a user requests column autofitting via the `header contextmenu` 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 accomodate long titles if necessary.
    `Canvas` | `getBackgroundComponent()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.String` | `getBadFormulaResultValue()` If the result of a formula evaluation is invalid (specifically, if isNaN(result)==true), badFormulaResultValue is displayed instead.
    `java.lang.String` | `getBaseStyle()` `base cell style` for this listGrid.
    `protected java.lang.String` | `getBaseStyle(ListGridRecord record, int rowNum, int colNum)` Return the base stylename for this cell.
    `GridRenderer` | `getBody()` Returns the primary body, which, when there are frozen fields, is the `com.smartgwt.client.grid.GridRenderer` used to render the non-frozen portion of the dataset; otherwise, the primary body (the only body) is the GridRenderer used to render the entire dataset.
    `java.lang.String` | `getBodyBackgroundColor()` Background color applied to the ListGrid body (that is, the area of the grid where data values are rendered). Note that this will typically not be visible to the user unless there are few enough rows that there is visible space in the body below the last row.
    `Overflow` | `getBodyOverflow()` Overflow setting for the "body", that is, the area of the grid where data values are rendered.
    `java.lang.Integer` | `getBodyScrollLeft()` Get the current scrollLeft for the body of this ListGrid
    `java.lang.Integer` | `getBodyScrollTop()` Get the current scrollTop for the body of this ListGrid
    `java.lang.String` | `getBodyStyleName()` CSS style used for the body of this grid.
    `java.lang.String` | `getBooleanBaseStyle()` An optional CSS style to apply to the checkbox image.
    `java.lang.String` | `getBooleanFalseImage()` Image to display for a false value in a boolean field.
    `int` | `getBooleanImageHeight()` Height for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `int` | `getBooleanImageWidth()` Width for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `java.lang.String` | `getBooleanPartialImage()` Image to display for a partially true value in a boolean field (typically selection).
    `java.lang.String` | `getBooleanTrueImage()` Image to display for a true value in a boolean field.
    `java.lang.Boolean` | `getCanAcceptDroppedRecords()` Indicates whether records can be dropped into this listGrid.
    `java.lang.Boolean` | `getCanAddFormulaFields()` Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.
    `java.lang.Boolean` | `getCanAddSummaryFields()` Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.
    `java.lang.Boolean` | `getCanAutoFitFields()` Whether the user able to autofit specific columns to their data and/or title via a context menu item or `headerAutoFitEvent`.
    `java.lang.String` | `getCancelEditingConfirmationMessage()` If this is an editable listGrid, and `this.confirmCancelEditing` is true this property is used as the message to display in the confirmation dismissal prompt.
    `java.lang.Boolean` | `getCanCollapseGroup()` Can a group be collapsed/expanded? When true a collapse/expand icon is shown (`groupIcon`) and clicking the icon or double-clicking the group title will collapse or expand the group.
    `java.lang.Boolean` | `getCanDragRecordsOut()` Indicates whether records can be dragged from this listGrid and dropped elsewhere.
    `java.lang.Boolean` | `getCanDragSelect()` If this property is true, users can drag the mouse to select several rows or cells.
    `java.lang.Boolean` | `getCanDragSelectText()` If this property is true, users can drag the mouse to select text within grid rows.
    `java.lang.Boolean` | `getCanDropInEmptyArea()` If set to false, dropping over an empty part of the grid body is disallowed and the no-drop indicator is displayed.
    `java.lang.Boolean` | `getCanEdit()` Can the user edit cells in this listGrid? Can be set for the listGrid, and overridden for individual fields. If 'canEdit' is false at the listGrid level, fields can never be edited - in this case the canEdit property on individual fields will be ignored. If 'canEdit' is set to true at the listGrid level, setting the 'canEdit' property to false at the field level will prevent the field from being edited inline. If 'canEdit' is not set at the listGrid level, setting 'canEdit' to true at the field level enables the field to be edited inline.
    `java.lang.String` | `getCanEditFieldAttribute()` If this component is bound to a dataSource, this attribute may be specified to customize what fields from the dataSource may be edited by default.
    `boolean` | `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.
    `java.lang.Boolean` | `getCanFreezeFields()` Whether an interface should be shown to allow user is allowed to dynamically "freeze" or "unfreeze" columns with respect to horizontally scrolling.
    `java.lang.Boolean` | `getCanGroupBy()` If false, grouping via context menu will be disabled.
    `java.lang.Boolean` | `getCanHover()` If true, cellHover and rowHover events will fire and then a hover will be shown (if not canceled) when the user leaves the mouse over a row / cell unless the corresponding field has `showHover` set to false.
    `boolean` | `getCanMultiGroup()` When true, indicates that this ListGrid supports grouping on multiple fields.
    `java.lang.Boolean` | `getCanMultiSort()` When true, indicates that this ListGrid supports sorting on multiple fields.
    `java.lang.Boolean` | `getCanPickFields()` Indicates whether the field picker item and submenu should be present in the header context menu.
    `java.lang.Boolean` | `getCanPickOmittedFields()` If this grid has a specified `dataSource`, and `useAllDataSourceFields` is false, setting this property to true will cause all dataSource fields not included in the specified set of fields to show up in the `field picker menu item`.
    `java.lang.Boolean` | `getCanRemoveRecords()` If set, provide UI for the user to remove records from the grid as an additional field showing the `removeIcon`, which, when clicked, will call `ListGrid.removeRecordClick` which removes the row from the data set (or if `deferRemoval` is true changes the `ListGrid.markRecordRemoved` status for the record).
    `java.lang.Boolean` | `getCanReorderFields()` Indicates whether fields in this listGrid can be reordered by dragging and dropping header fields.
    `java.lang.Boolean` | `getCanReorderRecords()` Indicates whether records can be reordered by dragging within this listGrid.
    `java.lang.Boolean` | `getCanResizeFields()` Indicates whether fields in this listGrid can be resized by dragging header fields.
    `java.lang.Boolean` | `getCanSelectAll()` Controls whether a checkbox for selecting all records appears in the header with `selectionAppearance` set to "checkbox"
    `java.lang.Boolean` | `getCanSelectCells()` Enables cell-level selection behavior as well as `cell-level rollover`.
    `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 setScreenReaderMode is called.
    `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)` Gets the embedded-component to show as a given record's hoverComponent.
    `int` | `getCellPadding()` The amount of empty space, in pixels, surrounding each value in its cell.
    `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.
    `java.lang.String` | `getConfigureGroupingText()` If we're showing a `headerContextMenu` for this grid, and multi-grouping is enabled, this attribute is used as the title for a menu item that opens a `MultiGroupDialog` to configure the grouping for this grid.
    `java.lang.String` | `getConfigureSortText()` If we're showing a `headerContextMenu` for this grid, and multi-sorting is enabled, this attribute is used as the title for a menu item that opens a MultiSortDialog to configure the sort-specification for this grid.
    `java.lang.Boolean` | `getConfirmCancelEditing()` If this is an editable listGrid, when the user attempts to cancel an edit, should we display a confirmation prompt before discarding the edited values for the record?
    `java.lang.Boolean` | `getConfirmDiscardEdits()` For editable listGrids, outstanding unsaved edits when the user performs a new filter or sort will be discarded.
    `java.lang.String` | `getConfirmDiscardEditsMessage()` If `this.confirmDiscardEdits` is true, this property can be used to customize the error message string displayed to the user in a dialog with options to cancel the action, or save or discard pending edits in response to sort/filter actions that would otherwise drop unsaved edit values.
    `Criteria` | `getCriteria()` Retrieves a copy of the current criteria for this component (may be null)
    `Canvas` | `getCurrentExpansionComponent(java.lang.Integer record)` Returns the expansion component derived from `ListGrid.getExpansionComponent` currently visible in some record, or null if the specified record is not showing an expansion component.
    `Canvas` | `getCurrentExpansionComponent(ListGridRecord record)` Returns the expansion component derived from `ListGrid.getExpansionComponent` currently visible in some record, or null if the specified record is not showing an expansion component.
    `com.google.gwt.core.client.JavaScriptObject` | `getDataAsJSList()`
    `RecordList` | `getDataAsRecordList()` Return the grid data as a `RecordList`.
    `FetchMode` | `getDataFetchMode()` How to fetch and manage records retrieve from the server.
    `int` | `getDataPageSize()` When using data paging, how many records to fetch at a time.
    `DataSource` | `getDataSource()` The DataSource that this component should bind to for default fields and for performing `DataSource requests`.
    `DateDisplayFormat` | `getDateFormatter()` How should Date type values be displayed in this ListGrid by default?
    `DateDisplayFormat` | `getDatetimeFormatter()` Display format to use for fields specified as type 'datetime'.
    `ListGridField[]` | `getDefaultFields()` An array of listGrid field configuration objects.
    `int` | `getDefaultFieldWidth(ListGridField field)` Method to calculate and return the default width of a field.
    `java.lang.String` | `getDefaultFormattedFieldValue(Record record, ListGridField field)` Get a field value for some record with default field formatters applied.
    `java.lang.String` | `getDefaultFormattedFieldValue(Record record, ListGridField field, int rowNum)`
    `java.lang.String` | `getDefaultFormattedFieldValue(Record record, ListGridField field, int rowNum, int colNum)` Get a field value for some record with default field formatters applied.
    `java.lang.String` | `getDefaultFormattedValue(Record record, int rowNum, int colNum)` Get the value for some cell with default formatters applied.
    `java.lang.Boolean` | `getDeferRemoval()` When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `ListGrid.markRecordRemoved` instead of immediately being removed.
    `java.lang.String` | `getDetailDS()` If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.
    `java.lang.String` | `getDetailField()` The field whose contents to show in the expanded portion of a record when `canExpandRecords` is `true` and `listGrid.expansionMode` is `detailField`.
    `java.lang.String` | `getDiscardEditsSaveButtonTitle()` If `confirmDiscardEdits` is true this is the title for the save button appearing in the lost edits confirmation dialog.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, boolean value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, java.util.Date value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, float value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, int value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `java.lang.Object` | `getDisplayValue(java.lang.String fieldName, java.lang.String value)` Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
    `Record[]` | `getDragData()` During a drag-and-drop interaction, this method returns the set of records being dragged out of the component.
    `DragDataAction` | `getDragDataAction()` Indicates what to do with data dragged into another DataBoundComponent.
    `DragTrackerMode` | `getDragTrackerMode()` When records are being dragged from within a ListGrid, what sort of drag-tracker should be displayed? Note that if multiple records are being dragged the displayed tracker will be based on the first selected record.
    `java.lang.String` | `getDragTrackerStyle()` CSS Style to apply to the drag tracker when dragging occurs on this component.
    `java.lang.String` | `getDragTrackerTitle(ListGridRecord record, int rowNum)` 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 `ListGrid.getTitleField`) for the record(s) being dragged (including any icons / custom formatting / styling, etc).
    `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 current 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 null if there is no edit col.
    `java.lang.Object` | `getEditedCell(int rowNum, int colNum)` Returns the current value of a cell.
    `java.lang.Object` | `getEditedCell(int rowNum, java.lang.String fieldName)` Returns the current value of a cell.
    `java.lang.Object` | `getEditedCell(Record record, int colNum)` Returns the current value of a cell.
    `java.lang.Object` | `getEditedCell(Record record, java.lang.String fieldName)` Returns the current value of a cell.
    `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.
    `int` | `getEditRow()` Returns the index of the row being edited or null if there is no current edit row.
    `java.lang.String` | `getEditSummaryFieldText()` Text for a menu item allowing users to edit the formatter for a field
    `java.lang.Object` | `getEditValue(int rowNum, 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 formatCellValue 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.
    `EscapeKeyEditAction` | `getEscapeKeyEditAction()` What to do when a user hits escape while editing a cell: "cancel": close the editor and discard the current set of edit values "done": just close the editor (the edit is complete, but the edited values are retained).
    `int` | `getEventColumn()` Returns the column number of the most recent mouse event.
    `int` | `getEventColumn(java.lang.Integer x)` Returns the column number of the most recent mouse event.
    `int` | `getEventRow()` Returns the row number of the most recent mouse event.
    `int` | `getEventRow(java.lang.Integer y)` Returns the row number of the most recent mouse event.
    `java.lang.Boolean` | `getExpansionCanEdit()` For `expansionModes` that show another grid or tree, is that component editable?
    `protected Canvas` | `getExpansionComponent(ListGridRecord record)` Gets the embedded-component to show as a given record's expansionComponent.
    `HTMLFlow` | `getExpansionDetailField()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `HLayout` | `getExpansionDetailRelated()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `DetailViewer` | `getExpansionDetails()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `DynamicForm` | `getExpansionEditor()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.Boolean` | `getExpansionEditorCollapseOnSave()` When `ExpansionMode` is editor, should the row be collapsed following a save initiated by the expansion-component's `save button`.
    `IButton` | `getExpansionEditorSaveButton()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.String` | `getExpansionEditorSaveButtonTitle()` The title for the `expansionEditorSaveButton`.
    `java.lang.String` | `getExpansionEditorSaveDialogPrompt()` When `canExpandRecords` is true and `expansionMode` is editor, the prompt to display in a dialog when an expanded row is collapsed while it's nested editor has changed values.
    `java.lang.Boolean` | `getExpansionEditorShowSaveDialog()` When `canExpandRecords` is true and `expansionMode` is editor, whether a dialog should be displayed when an expanded row is collapsed while it's nested editor has changed values.
    `ListGridField` | `getExpansionField()` The field providing the facility to expand and collapse rows.
    `java.lang.String` | `getExpansionFieldFalseImage()` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for collapsed rows.
    `java.lang.Integer` | `getExpansionFieldImageHeight()` If `canExpandRecords` is set to `true`, this property may be set to govern the height of the expansion image displayed to indicate whether a row is expanded.
    `java.lang.Integer` | `getExpansionFieldImageWidth()` If `canExpandRecords` is set to `true`, this property may be set to govern the width of the expansion image displayed to indicate whether a row is expanded.
    `java.lang.String` | `getExpansionFieldTrueImage()` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for expanded rows.
    `VLayout` | `getExpansionLayout()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `ExpansionMode` | `getExpansionMode()` The `ExpansionMode` for records in this grid.
    `ListGrid` | `getExpansionRelated()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `java.lang.Boolean` | `getExportAll()` Setting exportAll to true prevents the component from passing its list of fields to the export call.
    `java.lang.String[]` | `getExportFields()` The list of field-names to export.
    `java.lang.Boolean` | `getExportRawValues()` Dictates whether the data in this grid should be exported raw by `exportClientData()`.
    `int` | `getFetchDelay()` If we're showing the filterEditor (`showFilterEditor` is true), and we're re-filtering on every keypress (`filterOnKeypress` is true), this property is the delay in milliseconds between the user changing the filter and the filter request being kicked off.
    `java.lang.String` | `getFetchOperation()` Operation ID this component should use when performing fetch operations.
    `ListGridField` | `getField(int colNum)` Given a column number or field name, return the field definition.
    `ListGridField` | `getField(java.lang.String fieldName)` Given a column number or field name, return the field definition.
    `java.lang.String` | `getFieldName(int colNum)` Given a column number or field id, return the field name of a field.
    `java.lang.String` | `getFieldName(java.lang.String fieldName)` Given a column number or field id, return the field name of a field.
    `int` | `getFieldNum(java.lang.String fieldName)` 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()` The ListGrid fields
    `java.lang.String` | `getFieldState()` Returns a snapshot of the current presentation of this listGrid's fields as a ListGridFieldState object.
    `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(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.
    `ListGrid` | `getFilterEditor()` If `showFilterEditor` is set to true, the `filterEditor` is automatically created as an AutoChild.
    `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`.
    `int` | `getFilterEditorHeight()` Height for the filterEditor, if shown.
    `java.lang.Boolean` | `getFilterLocalData()` If this grid has its `data property` set to a static array of records, should `ListGrid.filterData` filter this array? If this property is set to true, the local data array will be filtered according to the specified criteria, and the results displayed.
    `java.lang.Boolean` | `getFilterOnKeypress()` If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user modifies the value in a field of the filter-editor.
    `java.lang.Boolean` | `getFixedFieldWidths()` Should we horizontally clip cell contents, or allow columns to expand horizontally to show all contents?
    `java.lang.Boolean` | `getFixedRecordHeights()` Should we vertically clip cell contents, or allow rows to expand vertically to show all contents?
    `java.lang.Integer` | `getFocusRow()` Get the row that currently has keyboard focus.
    `java.lang.String` | `getFormulaBuilderSpanTitleSeparator()` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInFormulaBuilder` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid in the FormulaBuilder and SummaryBuilder.
    `java.lang.Double` | `getFormulaFieldValue(ListGridField field, Record record)` Get the computed value of a `canAddFormulaFields`.
    `java.lang.String` | `getFreezeFieldText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.
    `java.lang.String` | `getFreezeOnLeftText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the left of the scrollable body.
    `java.lang.String` | `getFreezeOnRightText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the right of the scrollable body.
    `java.lang.String` | `getFrozenBaseStyle()` If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields.
    `java.lang.String` | `getFrozenHeaderBaseStyle()` If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields.
    `java.lang.String` | `getFrozenHeaderTitleStyle()` If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields.
    `java.lang.Boolean` | `getGenerateClickOnEnter()` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.
    `java.lang.Boolean` | `getGenerateClickOnSpace()` If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.
    `java.lang.Boolean` | `getGenerateDoubleClickOnEnter()` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.
    `java.lang.Boolean` | `getGenerateDoubleClickOnSpace()` If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.
    `ListGridComponent[]` | `getGridComponents()` Array of components that make up this grid.
    `GridRenderer` | `getGridRenderer()` Synonym of `getBody()`.
    `protected java.lang.Object` | `getGridSummary(ListGridField field)` When `showGridSummary` is `true` this method is called for each field which will show a grid summary value (as described in `showGridSummary` to get the summary value to display below the relevant column.
    `void` | `getGridSummaryData()` This method returns the data to be displayed in the `summaryRow` when `showGridSummary` is true.
    `java.lang.String` | `getGridSummaryRecordProperty()` If `showGridSummary` is true, this attribute will be set to true on the record object representing the grid summary row.
    `int` | `getGroupByAsyncThreshold()` When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.
    `java.lang.String[]` | `getGroupByFields()` Get the current grouping of this listGrid as an array of fieldNames.
    `java.lang.String[]` | `getGroupByFieldSummaries()` If this grid is `grouped`, and `showGroupSummary` is true, this attribute may be set to an array of groupBy field names for which group summaries should appear.
    `int` | `getGroupByMaxRecords()` Maximum number of records to which a groupBy can be applied.
    `java.lang.String` | `getGroupByText()` If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.
    `java.lang.String` | `getGroupIcon()` The URL of the base icon for the group icons in this treegrid.
    `int` | `getGroupIconSize()` Default width and height of group icons for this ListGrid.
    `int` | `getGroupIndentSize()` Default number of pixels by which to indent subgroups relative to parent group.
    `int` | `getGroupLeadingIndent()` Default number of pixels by which to indent all groups.
    `java.lang.String` | `getGroupNodeBaseStyle()` `Base style` for `group` rows.
    `java.lang.String` | `getGroupNodeStyle()` The CSS style that `group` rows will have.
    `java.lang.String` | `getGroupState()` Returns a snapshot of the current grouping state of this ListGrid. This object can be passed to `ListGrid.setGroupState` to reset this grid's grouping to the current state (assuming the same data / fields are present in the grid).
    `java.lang.String` | `getGroupSummaryRecordProperty()` If `showGroupSummary` is true, this attribute will be set to true on each record object representing a group-level summary row.
    `java.lang.String` | `getGroupSummaryStyle()` `customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
    `ListGridField` | `getGroupTitleColumnProperties()` Custom properties for the automatically generated `groupTitleColumn`.
    `java.lang.String` | `getGroupTitleField()` When a list grid is `grouped`, each group shows under an auto generated header node.
    `Tree` | `getGroupTree()` If the ListGrid is grouped, return the underlying tree structure.
    `Layout` | `getHeader()` A Toolbar used to manager the headers shown for each column of the grid.
    `AutoFitEvent` | `getHeaderAutoFitEvent()` Event on a ListGrid header that triggers auto fitting to data and/or title.
    `java.lang.String` | `getHeaderBackgroundColor()` BackgroundColor for the header toolbar.
    `java.lang.String` | `getHeaderBarStyle()` Set the CSS style used for the header as a whole.
    `java.lang.String` | `getHeaderBaseStyle()` `baseStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `Button` | `getHeaderButtonProperties()` Properties to apply to all header buttons.
    `protected MenuItem[]` | `getHeaderContextMenuItems(java.lang.Integer fieldNum)` If ListGrid.showHeaderContextMenu is true this method returns the menu items to be displayed in the default header context menu.
    `int` | `getHeaderHeight()` The height of this listGrid's header, in pixels.
    `Alignment` | `getHeaderHoverAlign()` This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover`.
    `java.lang.Integer` | `getHeaderHoverHeight()` Optional default height for the hover shown on `ListGrid.headerHover`.
    `java.lang.Integer` | `getHeaderHoverOpacity()` This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover`.
    `java.lang.String` | `getHeaderHoverStyle()` This property may be set to customize the css style for the hover shown on `ListGrid.headerHover`.
    `VerticalAlignment` | `getHeaderHoverVAlign()` This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover`.
    `java.lang.Integer` | `getHeaderHoverWidth()` Optional default width for the hover shown on `ListGrid.headerHover`.
    `java.lang.Boolean` | `getHeaderHoverWrap()` This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover`.
    `StatefulCanvas` | `getHeaderMenuButton()` If `showHeaderMenuButton` is true, when the user rolls over the header buttons in this grid the headerMenuButton will be shown over the header button in question.
    `int` | `getHeaderMenuButtonHeight()` If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`
    `java.lang.String` | `getHeaderMenuButtonIcon()` If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`
    `int` | `getHeaderMenuButtonIconHeight()` If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`
    `int` | `getHeaderMenuButtonIconWidth()` If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`
    `int` | `getHeaderMenuButtonWidth()` If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`
    `StatefulCanvas` | `getHeaderSpan()` Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
    `protected MenuItem[]` | `getHeaderSpanContextMenuItems(HeaderSpan headerSpan)` Return the menus items that should be shown in a menu triggered from a headerSpan.
    `java.lang.Integer` | `getHeaderSpanHeight()` Default height for a `headerSpan` with no height specified.
    `java.lang.String` | `getHeaderTitleStyle()` `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `java.lang.Boolean` | `getHiliteCanReplaceValue()` If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value.
    `java.lang.String` | `getHiliteEditorSpanTitleSeparator()` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInHiliteEditor` is true, this string will be inserted between the headerSpan title and the field title in the hiliteEditor field chooser grid.
    `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.
    `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.
    `int` | `getImageSize()` Default size of thumbnails shown for fieldTypes image and imageFile.
    `boolean` | `getIncludeHilitesInSummaryFields()` When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?
    `java.lang.String` | `getIncludeInSummaryProperty()` Property name on a record that will be checked to determine whether a record should be included when calculating totals for the `grid summary`.
    `Criteria` | `getInitialCriteria()` Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
    `SortSpecifier[]` | `getInitialSort()` An array of ${isc.DocUtils.linkForRef('object: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).
    `java.lang.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()`
    `int` | `getLongTextEditorThreshold()` When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
    `java.lang.String` | `getLongTextEditorType()` When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
    `java.lang.Integer` | `getMaxExpandedRecords()` When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously.
    `java.lang.String` | `getMaxExpandedRecordsPrompt()` This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed.
    `int` | `getMinFieldWidth()` Minimum size, in pixels, for ListGrid headers.
    `java.lang.String` | `getMissingSummaryFieldValue()` If a summary format string contains an invalid field reference, replace the reference with the missingSummaryFieldValue.
    `java.lang.Boolean` | `getModalEditing()` If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.
    `java.lang.Boolean` | `getNeverValidate()` If true, validation will not occur as a result of cell editing for this grid.
    `java.lang.String` | `getNormalBaseStyle()` "Normal" baseStyle for this listGrid.
    `int` | `getNormalCellHeight()` If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value.
    `java.lang.String` | `getNullGroupTitle()` Default alias to use for groups with no value
    `java.lang.String` | `getOfflineMessageStyle()` The CSS style name applied to the `offlineMessage` if displayed.
    `static ListGrid` | `getOrCreateRef(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.
    `java.lang.Boolean` | `getPoolComponentsPerColumn()` Should recycled `record components`, be pooled per column or per record.
    `java.lang.Boolean` | `getPreventDuplicates()` If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`.
    `java.lang.Boolean` | `getPrintAutoFit()` Whether cell contents should wrap during printing.
    `java.lang.String` | `getPrintBaseStyle()` Style for non-header cells in printed output.
    `java.lang.String` | `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.
    `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".
    `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()` Operation ID this component should use when performing remove operations.
    `boolean` | `getReselectOnUpdate()` If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes.
    `SelectionNotificationType` | `getReselectOnUpdateNotifications()` if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.
    `java.lang.Boolean` | `getResizeFieldsInRealTime()` True == we redraw the list viewer in real time as fields are being resized.
    `ResultSet` | `getResultSet()` Return the underlying data of this DataBoundComponent as a `ResultSet`.
    `java.lang.Boolean` | `getReverseRTLAlign()` If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?
    `protected Canvas` | `getRollOverCanvas(java.lang.Integer rowNum, java.lang.Integer colNum)` If `showRollOverCanvas` is true, this method will be called to create the canvas to display over the current row when a user moves their mouse over the row. Note that for efficiency this should not typically create a new canvas instance, every time it is called.
    `protected Canvas` | `getRollUnderCanvas(java.lang.Integer rowNum, java.lang.Integer colNum)` If `showRollUnderCanvas` is true, this method will be called to create the canvas to display under the current row when a user moves their mouse under the row. Note that for efficiency this should not typically create a new canvas instance, every time it is called.
    `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
    `int` | `getRowHeight(ListGridRecord record, int rowNum)` Return the height this row should be.
    `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.
    `RowSpanSelectionMode` | `getRowSpanSelectionMode()` Chooses the selection mode when `useRowSpanStyling` is enabled.
    `int` | `getRowTop(int rowNum)` Returns the top coordinate for a given row number, relative to the top of body content.
    `java.lang.Boolean` | `getSaveByCell()` Whether edits should be saved whenever the user moves between cells in the current edit row.
    `java.lang.Boolean` | `getSaveLocally()` For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server.
    `DSRequest` | `getSaveRequestProperties()` For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).
    `java.lang.String` | `getScreenReaderCellSeparator()` When screen reader mode is enabled, this invisible separator string is written out between each cell value.
    `java.lang.String` | `getScreenReaderRowSeparator()` When screen reader mode is enabled, this invisible string will be written out after the last cell in a row.
    `int` | `getScrollRedrawDelay()` While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user.
    `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()` The selection associated with the listGrid.
    `ListGridRecord[]` | `getSelectedRecords(boolean excludePartialSelections)` The selection associated with the listGrid.
    `java.lang.String` | `getSelectedState()` Returns a snapshot of the current selection within this listGrid as a ListGridSelectedState object. This object can be passed to `ListGrid.setSelectedState` to reset this grid's selection the current state (assuming the same data is present in the grid).
    `java.lang.Boolean` | `getSelectHeaderOnSort()` If true, show the field-header for the sorted field (or the first field in a `multi-sort` grid) in the selected state.
    `ListGridRecord[]` | `getSelection()` Deprecated. use `getSelectedRecords()` instead
    `ListGridRecord[]` | `getSelection(boolean excludePartialSelections)` Deprecated. use `getSelectedRecords(boolean)` instead
    `SelectionAppearance` | `getSelectionAppearance()` How selection of rows should be presented to the user.
    `java.lang.String` | `getSelectionProperty()` If specified, the selection object for this list will use this property to mark records as selected.
    `SelectionStyle` | `getSelectionType()` Defines a listGrid's clickable-selection behavior.
    `java.lang.Boolean` | `getSelectOnEdit()` When the user starts editing a row, should the row also be selected?
    `java.lang.Boolean` | `getShowAllColumns()` Whether all columns should be drawn all at once, or only columns visible in the viewport.
    `java.lang.Boolean` | `getShowAllRecords()` Whether all rows should be drawn all at once, or only rows visible in the viewport.
    `java.lang.Boolean` | `getShowAsynchGroupingPrompt()` If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
    `java.lang.Boolean` | `getShowBackgroundComponents()` If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
    `java.lang.Boolean` | `getShowCellContextMenus()` Whether to show a context menu with standard items for all context clicks on rows in the body.
    `boolean` | `getShowClippedHeaderTitlesOnHover()` If true and a header button's title is clipped, then a hover containing the full field title is enabled.
    `java.lang.Boolean` | `getShowClippedValuesOnHover()` If true and a cell's value is clipped, then a hover containing the full cell value is enabled.
    `java.lang.Boolean` | `getShowCollapsedGroupSummary()` Should group summaries be visible when the group is collapsed?
    `java.lang.Boolean` | `getShowComplexFields()` Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.
    `java.lang.Boolean` | `getShowDetailFields()` Whether to include fields marked `detail:true` from this component's `DataSource`.
    `java.lang.Boolean` | `getShowEmptyMessage()` Indicates whether the text of the emptyMessage property should be displayed if no data is available.
    `java.lang.Boolean` | `getShowExpansionEditorSaveButton()` When `ExpansionMode` is editor, should a Save button be shown below the the expanded editor?
    `boolean` | `getShowFilterEditor()` Should this listGrid display a filter row.
    `java.lang.Boolean` | `getShowGridSummary()` Should this ListGrid show a summary row beneath the last record of the grid.
    `java.lang.Boolean` | `getShowGroupSummary()` If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields.
    `java.lang.Boolean` | `getShowGroupSummaryInHeader()` If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.
    `java.lang.Boolean` | `getShowGroupTitleColumn()` If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.
    `java.lang.Boolean` | `getShowHeader()` Should we show the header for this ListGrid?
    `java.lang.Boolean` | `getShowHeaderContextMenu()` Whether to show a context menu on the header with standard items for showing and hiding fields.
    `java.lang.Boolean` | `getShowHeaderMenuButton()` If set to true and `showHeaderContextMenu` is true, the `headerMenuButton` will be displayed when the user rolls over the header buttons in this grid.
    `java.lang.Boolean` | `getShowHeaderSpanTitlesInFormulaBuilder()` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
    `java.lang.Boolean` | `getShowHeaderSpanTitlesInHiliteEditor()` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
    `java.lang.Boolean` | `getShowHeaderSpanTitlesInSortEditor()` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
    `java.lang.Boolean` | `getShowHiddenFields()` Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.
    `boolean` | `getShowHilitesInGroupSummary()` Determines whether hiliting for any field in this grid is shown in a group summary.
    `java.lang.Boolean` | `getShowHover()` If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse.
    `java.lang.Boolean` | `getShowHoverComponents()` When set to true and canHover is also true, shows a widget hovering at the mouse point.
    `java.lang.Boolean` | `getShowRecordComponents()` If set to true, this listGrid should create and show an embedded component in every row of the grid.
    `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? If true, the cell style will have the suffix "Over" appended.
    `java.lang.Boolean` | `getShowRollOverCanvas()` If `showRollOver` is true, this property provides an option to show roll over styling with the `rollOverCanvas` and `rollUnderCanvas` rather than using css styling.
    `java.lang.Boolean` | `getShowRowNumbers()` When set to true, shows an additional field at the beginning of the field-list (respecting RTL) that displays the current rowNum for each record.
    `java.lang.Boolean` | `getShowSelectedStyle()` Should the "Selected" style be applied to selected records?
    `java.lang.Boolean` | `getShowSelectionCanvas()` If `selectionType` is set to `"single"`, setting this property to true means selection will be displayed to the user with the `selectionCanvas` and `selectionUnderCanvas` rather than using 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()` Return the grids current sort specification.
    `ImgProperties` | `getSortAscendingImage()` Image to show when sorting ascending.
    `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()` The field by which this grid should be initially sorted.
    `java.lang.String` | `getSortFieldAscendingText()` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in ascending order.
    `int` | `getSortFieldCount()` Returns the number of fields involved in this grid's current sort configuration.
    `java.lang.String` | `getSortFieldDescendingText()` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in descending order.
    `java.lang.String` | `getSortNumeralHTML(java.lang.String fieldName, int sortIndex)` When multiple fields are sorted, this method returns the HTML for the sort-numeral that appears after the sort-arrows in the header-buttons of sorted fields.
    `java.lang.String` | `getSortNumeralStyle()` When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.
    `SortSpecifier` | `getSortSpecifier(java.lang.String fieldName)` Returns the ${isc.DocUtils.linkForRef('object:SortSpecifier')} for the passed fieldName, or null if the field is not sorted.
    `java.lang.String` | `getSortState()` Returns a snapshot of the current sort state within this listGrid as a ListGridSortState object. This object can be passed to `ListGrid.setSortState` to reset this grid's sort to the current state (assuming the same fields are present in the grid).
    `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
    `java.lang.String` | `getSummaryFieldValue(ListGridField field, Record record)` Get the computed value of a `canAddSummaryFields`.
    `ListGrid` | `getSummaryRow()` Automatically generated ListGrid for displaying grid summary information (see `showGridSummary`).
    `Criteria` | `getSummaryRowCriteria()` If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row.
    `DataSource` | `getSummaryRowDataSource()` If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary` and `ListGrid.getGridSummaryFunction`).
    `DSRequest` | `getSummaryRowFetchRequestProperties()` If `setShowGridSummary(Boolean)` is true, and a ${isc.DocUtils.linkForRef('listGrid.summaryDataSource')} is specified this property may be used to customize the fetch request used when retrieving summary data to show in the summary row.
    `int` | `getSummaryRowHeight()` Default height for the `summary row autoChild`.
    `java.lang.String` | `getSummaryRowStyle()` `baseStyle` for the `summaryRow`
    `java.lang.String` | `getTallBaseStyle()` "Tall" baseStyle for this listGrid.
    `protected ListGrid` | `getTestInstance()`
    `java.lang.String` | `getTitleField()` Method to return the fieldName which represents the "title" for records in this Component. If this.titleField is explicitly specified it will always be used. Otherwise, default implementation will check `titleField` for databound components. For non databound components returns the first defined field name of `"title"`, `"name"`, or `"id"`.
    `java.lang.String` | `getTitleFieldValue(Record record)` Get the value of the titleField for the passed record
    `java.lang.String` | `getToggleFreezeText(ListGridField field)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to toggle whether a field is frozen or unfrozen.
    `int` | `getTotalRows()` Return the total number of rows in the grid.
    `ImgProperties` | `getTrackerImage()` Default image to use for the dragTracker when things are dragged within or out of this list.
    `java.lang.String` | `getUnfreezeFieldText()` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.
    `java.lang.String` | `getUngroupText()` If we're showing a `headerContextMenu` for this grid, and `this.isGrouped` is true, this attribute will be shown as the title for the menu item to ungroup the grid.
    `java.lang.String` | `getUnremoveIcon()` When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved`.
    `java.lang.String` | `getUpdateOperation()` Operation ID this component should use when performing update operations.
    `java.lang.Boolean` | `getUseAdvancedFieldPicker()` If set to true, an advanced field picker based on the FieldPicker will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.
    `java.lang.Boolean` | `getUseAllDataSourceFields()` If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.
    `java.lang.Boolean` | `getUseCellRollOvers()` Are rollovers cell-level or row-level?
    `java.lang.Boolean` | `getUseCopyPasteShortcuts()` Enables copy/paste shortcuts, provided `canSelectCells` is true
    `java.lang.Boolean` | `getUseFlatFields()` The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.
    `java.lang.Boolean` | `getUseRemoteValidators()` If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed. Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode.
    `java.lang.Boolean` | `getUseRowSpanStyling()` Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right.
    `java.lang.Boolean` | `getValidateByCell()` Whether client-side validation checks should be performed when the user moves between cells in the current edit row.
    `java.lang.Boolean` | `getValidateOnChange()` If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
    `java.lang.String` | `getValueIcon(ListGridField field, java.lang.Object value, ListGridRecord record)` Returns the appropriate valueIcon for a cell based on the field and the data value for the cell.
    `java.lang.Integer` | `getValueIconHeight()` Height for value icons for this listGrid.
    `int` | `getValueIconLeftPadding()` How much padding should there be on the left of valueIcons by default Can be overridden at the field level
    `int` | `getValueIconRightPadding()` How much padding should there be on the right of valueIcons by default
    `int` | `getValueIconSize()` Default width and height of value icons for this ListGrid.
    `java.lang.Integer` | `getValueIconWidth()` Width for value icons for this listGrid.
    `java.lang.String` | `getViewState()` Returns a snapshot of the current view state of this ListGrid. This includes the field, sort, hilite, group, and selected state state of the grid, returned as a ListGridViewState object. This object can be passed to `ListGrid.setViewState` to reset this grid's vew state to the current state (assuming the same data / fields are present in 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 unrendered rows to make the scrollbar and viewport appear correctly.
    `java.lang.Integer[]` | `getVisibleRows()` Get the rows that are currently visible in the viewport, as an array of [firstRowNum, lastRowNum].
    `java.lang.Boolean` | `getWaitForSave()` If this is an editable listGrid, this property determines whether the user will be able to dismiss the edit form, or navigate to another cell while the save is in process (before the asynchronous server response returns).
    `java.lang.Boolean` | `getWarnOnRemoval()` If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
    `java.lang.String` | `getWarnOnRemovalMessage()` Warning message to show the user on a click on the 'remove' icon if `canRemoveRecords` is true and `warnOnRemoval` is true.
    `java.lang.Boolean` | `getWarnOnUnmappedValueFieldChange()` If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).
    `java.lang.Boolean` | `getWrapCells()` Should content within cells be allowed to wrap?
    `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 fieldName)` Force a field to be hidden.
    `void` | `hideField(java.lang.String fieldName, boolean suppressRelayout)` Force a field to be hidden.
    `void` | `hideFields(ListGridField... fields)` Force an array of fields to be hidden.
    `void` | `hideFields(ListGridField[] fields, boolean suppressRelayout)` Force an array of fields to be hidden.
    `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 `this.data.invalidateCache()`.
    `void` | `invalidateRecordComponents()` Invalidates the currently visible set of `recordComponents` and gets fresh ones for the visible rows in the grid according to the `recordComponentPoolingMode`
    `java.lang.Boolean` | `isCheckboxField(ListGridField field)` Identifies whether the passed-in field is the specially generated `checkboxField` used when `SelectionAppearance` is "checkbox".
    `java.lang.Boolean` | `isExpanded(ListGridRecord record)` Whether a given `record` is expanded or collapsed.
    `java.lang.Boolean` | `isExpansionField(ListGridField field)` Identifies whether the passed-in field is the specially generated `expansionField` used when `canExpandRecords` is true.
    `boolean` | `isGrouped()` Return true if the ListGrid is grouped on a field.
    `boolean` | `isGroupNode(ListGridRecord record)` If this listGrid is `grouped`, is the record passed in a group header node.
    `java.lang.Boolean` | `isPartiallySelected(ListGridRecord record)` When using tree-oriented selection modes like `cascadeSelection`, returns true if the record is considered partially selected because only some of it's children are selected.
    `java.lang.Boolean` | `isRowNumberField(ListGridField field)` Identifies whether the passed-in field is the specially generated `rowNumberField` used when `showRowNumbers` is true.
    `java.lang.Boolean` | `isSelected(ListGridRecord record)` Returns true if the record is selected.
    `java.lang.Boolean` | `isSortField(java.lang.String fieldName)` Returns true if the passed fieldName is in the current sort-specification.
    `void` | `markForRedraw()` Marks the widget as "dirty" so that it will be added to a queue for redraw.
    `void` | `markForRedraw(java.lang.String reason)` Marks the widget as "dirty" so that it will be added to a queue for redraw.
    `void` | `markRecordRemoved(int rowNum)` Marks a record deleted such that a later call to `ListGrid.saveEdits` or `ListGrid.saveAllEdits` will cause a "remove" `DSRequest` to be submitted.
    `void` | `markSelectionRemoved()` Marks the currently selected records as removed, as though `ListGrid.markRecordRemoved` had been called.
    `protected void` | `onInit_ListGrid()`
    `protected void` | `onInit()`
    `void` | `openRecordDetailGrid(ListGridRecord record, DataSource detailDataSource)` Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
    `void` | `openRecordEditor(ListGridRecord record)` Deprecated. use `setCanExpandRecords(Boolean)` with `setExpansionMode(com.smartgwt.client.types.ExpansionMode)`, or override `getExpansionComponent(ListGridRecord)`
    `static void` | `preloadImages()` Preload primary ListGrid skin images.
    `void` | `recalculateGridSummary()` Refresh the `grid summary`, by either re-calculating from already-loaded data or doing a new fetch from the `summaryRowDataSource`.
    `void` | `recalculateSummaries()` Recalculates values for fields with `summary-functions` defined and for values displayed in the `grid summary` and `group summary rows`.
    `void` | `recalculateSummaries(Record[] records)` Recalculates values for fields with `summary-functions` defined and for values displayed in the `grid summary` and `group summary rows`.
    `boolean` | `recordClick(ListGrid viewer, ListGridRecord record, int recordNum, ListGridField field, int fieldNum, java.lang.Object value, java.lang.Object rawValue)` Executed when the listGrid receives a 'click' event on an enabled, non-separator record.
    `java.lang.Boolean` | `recordMarkedAsRemoved(int rowNum)` Returns true if the specified record is marked as removed via a call to `ListGrid.markRecordRemoved`
    `void` | `refreshCell(int rowNum, int colNum)` Refresh an individual cell without redrawing the grid.
    `void` | `refreshCell(int rowNum, int colNum, boolean refreshingRow, boolean allowEditCellRefresh)` Refresh an individual cell without redrawing the grid.
    `void` | `refreshCellStyle(int rowNum, int colNum)` Refresh the styling of an individual cell without redrawing the grid.
    `void` | `refreshFields()` Re-evaluates `ListGridField.showIf` for each field, dynamically showing and hiding the appropriate set of fields
    `void` | `refreshRecordComponent(int rowNum)` Discards any currently visible set of `recordComponent` and gets a fresh one for the specified record (or cell) according to the `recordComponentPoolingMode`
    `void` | `refreshRecordComponent(int rowNum, java.lang.Integer colNum)` Discards any currently visible set of `recordComponent` and gets a fresh one for the specified record (or cell) according to the `recordComponentPoolingMode`
    `void` | `refreshRow(int rowNum)` Refresh an entire row of cells without redrawing the grid.
    `void` | `removeData(Record data)` Remove a record from this ListGrid.
    `void` | `removeData(Record data, DSCallback callback)`
    `void` | `removeData(Record data, DSCallback callback, DSRequest requestProperties)` Remove a record from this ListGrid.
    `void` | `removeEmbeddedComponent(Canvas component)` Removes an embedded component from a grid.
    `void` | `removeEmbeddedComponent(ListGridRecord record)` Removes an embedded component previously associated with the provided record.
    `void` | `removeEmbeddedComponent(ListGridRecord record, java.lang.Integer colNum)` Removes an embedded component previously associated with the provided record and colNum.
    `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, DSRequest requestProperties)` Remove the currently selected records from this component.
    `void` | `reorderField(int fieldNum, int moveToPosition)` Reorder a particular field
    `void` | `reorderFields(int start, int end, int moveDelta)` Reorder a set of adjacent fields, from start to end exclusive at the end, by distance moveDelta. NOTE: start and end coordinates are in terms of the currently visible fields, not the full set of fields.
    `void` | `resizeField(int fieldNum, int newWidth)` Resize a particular field to a new width.
    `void` | `resort()` If a list has become unsorted due to data modification or a call to `ListGrid.unsort`, this method will resort the list by the previous `sort-specifier` array, if there is one, or by the previous sort-field and -direction.
    `void` | `rowClick(ListGridRecord record, int recordNum, int fieldNum)` Programmatically simulate clicking of a row.
    `void` | `rowDoubleClick(ListGridRecord record, int recordNum, int fieldNum)` Programmatically simulate clicking of a row.
    `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` | `scrollBodyTo(java.lang.Integer left, java.lang.Integer top)` Scroll the body of the grid to the specified coordinates.
    `void` | `scrollToCell(int rowNum, int colNum)` Will scroll the listGrid body such that the specified cell is visible close to the centre of the viewport.
    `void` | `scrollToColumn(int colNum)` 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` | `selectAllRecords()` Select all records
    `void` | `selectRecord(int record)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecord(int record, boolean newState)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecord(Record record)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecord(Record record, boolean newState)` Select/deselect a `Record` passed in explicitly, or by index.
    `void` | `selectRecords(int[] records)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectRecords(int[] records, boolean newState)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectRecords(Record[] records)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectRecords(Record[] records, boolean newState)` Select/deselect a list of `Record`s passed in explicitly, or by index.
    `void` | `selectSingleRecord(int rowNum)` Select a single `Record` passed in explicitly, or by index, and deselect everything else.
    `void` | `selectSingleRecord(Record record)` Select a single `Record` passed in explicitly, or by index, and deselect everything else.
    `void` | `setAddDropValues(java.lang.Boolean addDropValues)` Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key.
    `void` | `setAddFormulaFieldText(java.lang.String addFormulaFieldText)` Text for a menu item allowing users to add a formula field
    `void` | `setAddOperation(java.lang.String addOperation)` Operation ID this component should use when performing add operations.
    `void` | `setAddSummaryFieldText(java.lang.String addSummaryFieldText)` Text for a menu item allowing users to add a formula field
    `void` | `setAdvancedFieldPickerThreshold(int advancedFieldPickerThreshold)` When `useAdvancedFieldPicker` is set, total number of available fields that must be present in the grid before the advanced field picker interface is used instead of the normal columns submenu.
    `void` | `setAllowFilterExpressions(java.lang.Boolean allowFilterExpressions)` For use with `showFilterEditor`:true, allows simple search expressions to be entered into filter fields, as though `allowExpressions` were true.
    `void` | `setAllowRowSpanning(java.lang.Boolean allowRowSpanning)` Should cells in this grid be allowed to span multiple rows? If set to `true`, the `ListGrid.getRowSpan` method will be called for every cell when rendering out the listGrid to determine how many rows the cell should span.
    `void` | `setAlternateBodyStyleName(java.lang.String alternateBodyStyleName)` Optional css style to apply to the body if `alternateRecordStyles` is true for this grid.
    `void` | `setAlternateRecordFrequency(int alternateRecordFrequency)` The number of consecutive rows to draw in the same style before alternating, when alternateRowStyles is true.
    `void` | `setAlternateRecordStyles(java.lang.Boolean alternateRecordStyles)` Whether alternating rows should be drawn in alternating styles, in order to create a "ledger" effect for easier reading.
    `void` | `setAlwaysShowEditors(java.lang.Boolean alwaysShowEditors)` When this attribute is set, editors will be rendered into every row of the grid rather than showing up in a single record at a time.
    `void` | `setAnimateFolderEffect(AnimationAcceleration animateFolderEffect)` When animating folder opening / closing, this property can be set to apply an animated acceleration effect.
    `void` | `setAnimateFolderMaxRows(java.lang.Integer animateFolderMaxRows)` If `animateFolders` is true for this grid, this number can be set to designate the maximum number of rows to animate at a time when opening / closing a folder.
    `void` | `setAnimateFolders(java.lang.Boolean animateFolders)` If true, when folders are opened / closed children will be animated into view.
    `void` | `setAnimateFolderSpeed(int animateFolderSpeed)` When animating folder opening / closing, this property designates the speed of the animation in pixels shown (or hidden) per second.
    `void` | `setAnimateFolderTime(int animateFolderTime)` When animating folder opening / closing, if `animateFolderSpeed` is not set, this property designates the duration of the animation in ms.
    `void` | `setAnimateRemoveRecord(java.lang.Boolean animateRemoveRecord)` When `canRemoveRecords` is enabled, should records be animated out of view when they are removed by the user?
    `void` | `setAnimateRemoveSpeed(int animateRemoveSpeed)` When `animating record removal`, this property designates the speed of the animation in pixels per second.
    `void` | `setAnimateRemoveTime(int animateRemoveTime)` When animating record removal `(see animateRemoveRecord)`, if `animateRemoveSpeed` is not set, this property designates the duration of the animation in ms.
    `void` | `setAnimateRollOver(java.lang.Boolean animateRollOver)` If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollOver canvas is displayed it animates into view via an `Canvas.animateShow`.
    `void` | `setAnimateRollUnder(java.lang.Boolean animateRollUnder)` If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollUnder canvas is displayed it animates into view via an `Canvas.animateShow`.
    `void` | `setAnimateSelection(java.lang.Boolean animateSelection)` If `showSelectionCanvas` is `true` setting this property to true ensures that when the selection canvas is displayed it animates into view via an `Canvas.animateShow`.
    `void` | `setAnimateSelectionUnder(java.lang.Boolean animateSelectionUnder)` If `showSelectionCanvas` is `true` setting this property to true ensures that when the selectionUnder canvas is displayed it animates into view via an `Canvas.animateShow`.
    `void` | `setApplyFormulaAfterSummary(java.lang.Boolean applyFormulaAfterSummary)` If `field.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` | `setAutoFetchAsFilter(java.lang.Boolean autoFetchAsFilter)` If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
    `void` | `setAutoFetchData(java.lang.Boolean autoFetchData)` If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` .
    `void` | `setAutoFetchDisplayMap(java.lang.Boolean autoFetchDisplayMap)` If true, for fields where `optionDataSource` is specified, a valueMap will be automatically created by making a `DataSource.fetchData` call against the specified dataSource and extracting a valueMap from the returned records based on the displayField and valueField.
    `void` | `setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)` If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
    `void` | `setAutoFitAllText(java.lang.String autoFitAllText)` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of all visible fields via the `ListGrid.autoFitField` method.
    `void` | `setAutoFitClipFields(java.lang.String... autoFitClipFields)` If `autoFitFieldWidths` is enabled and the calculated field sizes are wide enough that horizontal scrolling would be introduced, this attribute may be set to an array of fieldNames, causing those fields to be clipped rather than forcing horizontal scrollbars to appear.
    `void` | `setAutoFitData(Autofit autoFitData)` Should this ListGrid automatically expand to accommodate the size of records and fields?
    `void` | `setAutoFitExpandField(java.lang.String autoFitExpandField)` The field to expand if `autoFitFieldWidths` and `autoFitFieldsFillViewport` are enabled and auto-fitting will not fill all available horizontal space.
    `void` | `setAutoFitExtraRecords(java.lang.Integer autoFitExtraRecords)` If `autoFitData` is set to `"vertical"` or `"both"` this property specifies the number of additional records for which the grid will expand.
    `void` | `setAutoFitFieldsFillViewport(java.lang.Boolean autoFitFieldsFillViewport)` If `autoFitFieldWidths` is enabled, and extra space is available after autofitting all fields, should the grid automatically expand one field to fill the extra space.
    `void` | `setAutoFitFieldText(java.lang.String autoFitFieldText)` If we're showing a `headerContextMenu` for this grid, and `canAutoFitFields` is true, this attribute will be shown as the menu item title for an item to perform a one-time autoFit of the field to its title or content via a call to `ListGrid.autoFitField`.
    `void` | `setAutoFitFieldWidths(java.lang.Boolean autoFitFieldWidths)` Enables autofitting of fields to values or titles.
    `void` | `setAutoFitHeaderHeights(java.lang.Boolean autoFitHeaderHeights)` If this property is set to true, header buttons for either `fields` or `header spans` will automatically expand to accomodate their titles vertically.
    `void` | `setAutoFitIconFields(AutoFitIconFieldType autoFitIconFields)` Smart GWT listGrids have special logic to automatically size fields that are displayed as an icon - that is fields with `type:"icon"`, fields displaying only `value icons`, and boolean fields (which are rendered as a checkmark type icon by default.
    `void` | `setAutoFitMaxColumns(int autoFitMaxColumns)` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides the maximum number of columns for which the ListGrid will expand.
    `void` | `setAutoFitMaxHeight(java.lang.Integer autoFitMaxHeight)` If `autoFitData` is set to `"vertical"` or `"both"` this property provides an upper limit on how far the ListGrid will expand vertically to accommodate its content.
    `void` | `setAutoFitMaxRecords(int autoFitMaxRecords)` If `autoFitData` is set to `"vertical"` or `"both"` this property provides the maximum number of records for which the ListGrid will expand.
    `void` | `setAutoFitMaxWidth(java.lang.Integer autoFitMaxWidth)` If `autoFitData` is set to `"horizontal"` or `"both"` this property provides an upper limit on how far the ListGrid will expand horizontally to accommodate its content.
    `void` | `setAutoFitWidth(java.lang.String fieldName, boolean autoFit)` Setter for autoFitWidth.
    `void` | `setAutoFitWidthApproach(AutoFitWidthApproach autoFitWidthApproach)` When a user requests column autofitting via the `header contextmenu` 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 accomodate long titles if necessary.
    `void` | `setBadFormulaResultValue(java.lang.String badFormulaResultValue)` If the result of a formula evaluation is invalid (specifically, if isNaN(result)==true), badFormulaResultValue is displayed instead.
    `void` | `setBaseStyle(java.lang.String baseStyle)` `base cell style` for this listGrid.
    `void` | `setBodyBackgroundColor(java.lang.String bodyBackgroundColor)` Background color applied to the ListGrid body (that is, the area of the grid where data values are rendered). Note that this will typically not be visible to the user unless there are few enough rows that there is visible space in the body below the last row.
    `void` | `setBodyOverflow(Overflow bodyOverflow)` Overflow setting for the "body", that is, the area of the grid where data values are rendered.
    `void` | `setBodyStyleName(java.lang.String bodyStyleName)` CSS style used for the body of this grid.
    `void` | `setBooleanBaseStyle(java.lang.String booleanBaseStyle)` An optional CSS style to apply to the checkbox image.
    `void` | `setBooleanFalseImage(java.lang.String booleanFalseImage)` Image to display for a false value in a boolean field.
    `void` | `setBooleanImageHeight(int booleanImageHeight)` Height for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `void` | `setBooleanImageWidth(int booleanImageWidth)` Width for the `booleanTrueImage`, `booleanFalseImage` and `booleanPartialImage`.
    `void` | `setBooleanPartialImage(java.lang.String booleanPartialImage)` Image to display for a partially true value in a boolean field (typically selection).
    `void` | `setBooleanTrueImage(java.lang.String booleanTrueImage)` Image to display for a true value in a boolean field.
    `void` | `setCanAcceptDroppedRecords(java.lang.Boolean canAcceptDroppedRecords)` Indicates whether records can be dropped into this listGrid.
    `void` | `setCanAddFormulaFields(java.lang.Boolean canAddFormulaFields)` Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.
    `void` | `setCanAddSummaryFields(java.lang.Boolean canAddSummaryFields)` Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.
    `void` | `setCanAutoFitFields(java.lang.Boolean canAutoFitFields)` Whether the user able to autofit specific columns to their data and/or title via a context menu item or `headerAutoFitEvent`.
    `void` | `setCancelEditingConfirmationMessage(java.lang.String cancelEditingConfirmationMessage)` If this is an editable listGrid, and `this.confirmCancelEditing` is true this property is used as the message to display in the confirmation dismissal prompt.
    `void` | `setCanCollapseGroup(java.lang.Boolean canCollapseGroup)` Can a group be collapsed/expanded? When true a collapse/expand icon is shown (`groupIcon`) and clicking the icon or double-clicking the group title will collapse or expand the group.
    `void` | `setCanDragRecordsOut(java.lang.Boolean canDragRecordsOut)` Indicates whether records can be dragged from this listGrid and dropped elsewhere.
    `void` | `setCanDragSelect(java.lang.Boolean canDragSelect)` If this property is true, users can drag the mouse to select several rows or cells.
    `void` | `setCanDragSelectText(java.lang.Boolean canDragSelectText)` If this property is true, users can drag the mouse to select text within grid rows.
    `void` | `setCanDropInEmptyArea(java.lang.Boolean canDropInEmptyArea)` If set to false, dropping over an empty part of the grid body is disallowed and the no-drop indicator is displayed.
    `void` | `setCanEdit(java.lang.Boolean canEdit)` Can the user edit cells in this listGrid? Can be set for the listGrid, and overridden for individual fields. If 'canEdit' is false at the listGrid level, fields can never be edited - in this case the canEdit property on individual fields will be ignored. If 'canEdit' is set to true at the listGrid level, setting the 'canEdit' property to false at the field level will prevent the field from being edited inline. If 'canEdit' is not set at the listGrid level, setting 'canEdit' to true at the field level enables the field to be edited inline.
    `void` | `setCanEditFieldAttribute(java.lang.String canEditFieldAttribute)` If this component is bound to a dataSource, this attribute may be specified to customize what fields from the dataSource may be edited by default.
    `void` | `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` | `setCanFreezeFields(java.lang.Boolean canFreezeFields)` Whether an interface should be shown to allow user is allowed to dynamically "freeze" or "unfreeze" columns with respect to horizontally scrolling.
    `void` | `setCanGroupBy(java.lang.Boolean canGroupBy)` If false, grouping via context menu will be disabled.
    `void` | `setCanHover(java.lang.Boolean canHover)` If true, cellHover and rowHover events will fire and then a hover will be shown (if not canceled) when the user leaves the mouse over a row / cell unless the corresponding field has `showHover` set to false.
    `void` | `setCanMultiGroup(boolean canMultiGroup)` When true, indicates that this ListGrid supports grouping on multiple fields.
    `void` | `setCanMultiSort(java.lang.Boolean canMultiSort)` When true, indicates that this ListGrid supports sorting on multiple fields.
    `void` | `setCanPickFields(java.lang.Boolean canPickFields)` Indicates whether the field picker item and submenu should be present in the header context menu.
    `void` | `setCanPickOmittedFields(java.lang.Boolean canPickOmittedFields)` If this grid has a specified `dataSource`, and `useAllDataSourceFields` is false, setting this property to true will cause all dataSource fields not included in the specified set of fields to show up in the `field picker menu item`.
    `void` | `setCanRemoveRecords(java.lang.Boolean canRemoveRecords)` If set, provide UI for the user to remove records from the grid as an additional field showing the `removeIcon`, which, when clicked, will call `ListGrid.removeRecordClick` which removes the row from the data set (or if `deferRemoval` is true changes the `ListGrid.markRecordRemoved` status for the record).
    `void` | `setCanReorderFields(java.lang.Boolean canReorderFields)` Indicates whether fields in this listGrid can be reordered by dragging and dropping header fields.
    `void` | `setCanReorderRecords(java.lang.Boolean canReorderRecords)` Indicates whether records can be reordered by dragging within this listGrid.
    `void` | `setCanResizeFields(java.lang.Boolean canResizeFields)` Indicates whether fields in this listGrid can be resized by dragging header fields.
    `void` | `setCanSelectAll(java.lang.Boolean canSelectAll)` Controls whether a checkbox for selecting all records appears in the header with `selectionAppearance` set to "checkbox"
    `void` | `setCanSelectCells(java.lang.Boolean canSelectCells)` Enables cell-level selection behavior as well as `cell-level rollover`.
    `void` | `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 setScreenReaderMode is called.
    `void` | `setCellFormatter(CellFormatter formatter)` Formatter to apply to values displayed within cells.
    `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.
    `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[] records)` A List of ListGridRecord objects, specifying the data to be used to populate the ListGrid.
    `void` | `setData(Record[] data)` An array of Record objects, specifying the data to be used to populate the DataBoundComponent.
    `void` | `setData(RecordList data)` An List of Record objects, specifying the data to be used to populate the DataBoundComponent.
    `void` | `setDataFetchMode(FetchMode dataFetchMode)` How to fetch and manage records retrieve from the server.
    `void` | `setDataPageSize(int dataPageSize)` When using data paging, how many records to fetch at a time.
    `void` | `setDataProperties(ResultSet resultSetProperties)` For databound ListGrids, this attribute can be used to customize the `ResultSet` object created for this grid when data is fetched
    `void` | `setDataSource(DataSource dataSource)` Bind to a DataSource.
    `void` | `setDataSource(DataSource dataSource, ListGridField... fields)` Bind to a DataSource.
    `void` | `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" 3 character string containing the "M", "D" and "Y" characters to indicate the format of strings being parsed into Date instances via Date.parseInput().
    `void` | `setDatetimeFormatter(DateDisplayFormat datetimeFormatter)` Display format to use for fields specified as type 'datetime'.
    `void` | `setDefaultFields(ListGridField[] defaultFields)` An array of listGrid field configuration objects.
    `static void` | `setDefaultProperties(ListGrid listGridProperties)` Class level method to set the default properties of this class.
    `void` | `setDeferRemoval(java.lang.Boolean deferRemoval)` When enabled, the field shown by `canRemoveRecords` causes records to be marked for future removal via `ListGrid.markRecordRemoved` instead of immediately being removed.
    `void` | `setDetailDS(DataSource detailDS)` If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.
    `void` | `setDetailDS(java.lang.String detailDS)` If `canExpandRecords` is true and `listGrid.expansionMode` is `"related"`, this property specifies the dataSource for the related records grid to be shown embedded in expanded records.
    `void` | `setDetailField(java.lang.String detailField)` The field whose contents to show in the expanded portion of a record when `canExpandRecords` is `true` and `listGrid.expansionMode` is `detailField`.
    `void` | `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 in the ListGrid as a whole is destroyed).
    `void` | `setDragDataAction(DragDataAction dragDataAction)` Indicates what to do with data dragged into another DataBoundComponent.
    `void` | `setDragTrackerIconCustomizer(DragTrackerIconCustomizer dragTrackerIconCustomizer)` HTML to be shown in hovers over cells in the column described by this field.
    `void` | `setDragTrackerMode(DragTrackerMode dragTrackerMode)` When records are being dragged from within a ListGrid, what sort of drag-tracker should be displayed? Note that if multiple records are being dragged the displayed tracker will be based on the first selected record.
    `void` | `setDragTrackerStyle(java.lang.String dragTrackerStyle)` CSS Style to apply to the drag tracker when dragging occurs on this component.
    `void` | `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` | `setEditSummaryFieldText(java.lang.String editSummaryFieldText)` Text for a menu item allowing users to edit the formatter for a field
    `void` | `setEditValue(int rowNum, int colNum, boolean value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, java.util.Date value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, double value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, float value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, int value)` Modifies a field value being tracked as an unsaved user edit.
    `void` | `setEditValue(int rowNum, int colNum, 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.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, 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, 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 formatCellValue 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` | `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` | `setExpansionEditorSaveDialogPrompt(java.lang.String expansionEditorSaveDialogPrompt)` When `canExpandRecords` is true and `expansionMode` is editor, the prompt to display in a dialog when an expanded row is collapsed while it's nested editor has changed values.
    `void` | `setExpansionEditorShowSaveDialog(java.lang.Boolean expansionEditorShowSaveDialog)` When `canExpandRecords` is true and `expansionMode` is editor, whether a dialog should be displayed when an expanded row is collapsed while it's nested editor has changed values.
    `void` | `setExpansionFieldFalseImage(java.lang.String expansionFieldFalseImage)` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for collapsed rows.
    `void` | `setExpansionFieldImageHeight(java.lang.Integer expansionFieldImageHeight)` If `canExpandRecords` is set to `true`, this property may be set to govern the height of the expansion image displayed to indicate whether a row is expanded.
    `void` | `setExpansionFieldImageWidth(java.lang.Integer expansionFieldImageWidth)` If `canExpandRecords` is set to `true`, this property may be set to govern the width of the expansion image displayed to indicate whether a row is expanded.
    `void` | `setExpansionFieldTrueImage(java.lang.String expansionFieldTrueImage)` If `canExpandRecords` is set to `true`, this property determines the image to display in the expansion field for expanded rows.
    `void` | `setExpansionMode(ExpansionMode expansionMode)` The `ExpansionMode` for records in this grid.
    `void` | `setExportAll(java.lang.Boolean exportAll)` Setting exportAll to true prevents the component from passing its list of fields to the export call.
    `void` | `setExportFields(java.lang.String[] exportFields)` The list of field-names to export.
    `void` | `setExportRawValues(java.lang.Boolean exportRawValues)` Dictates whether the data in this grid should be exported raw by `exportClientData()`.
    `void` | `setFastCellUpdates(java.lang.Boolean fastCellUpdates)` Note: This property only has an effect in Internet Explorer
    `void` | `setFetchDelay(int fetchDelay)` If we're showing the filterEditor (`showFilterEditor` is true), and we're re-filtering on every keypress (`filterOnKeypress` is true), this property is the delay in milliseconds between the user changing the filter and the filter request being kicked off.
    `void` | `setFetchOperation(java.lang.String fetchOperation)` Operation ID this component should use when performing fetch operations.
    `void` | `setFieldButtonProperties(java.lang.String name, Canvas properties)` Method to update properties on a field's header button at runtime.
    `void` | `setFieldCellIcon(java.lang.String fieldName, java.lang.String cellIcon)` Change the `cellIcon` for a field after the grid is created
    `void` | `setFieldError(int rowNum, java.lang.String fieldName, java.lang.String errorMessage)` Set a validation error for some cell.
    `void` | `setFieldError(int rowNum, java.lang.String fieldName, java.lang.String[] errorMessages)` Set a validation error for some cell.
    `void` | `setFieldHeaderBaseStyle(java.lang.String name, java.lang.String newStyle)` Update the headerBaseStyle for a field within the grid at runtime.
    `void` | `setFieldHeaderTitleStyle(java.lang.String name, java.lang.String newStyle)` Update the headerTitleStyle for a field within the grid at runtime.
    `void` | `setFieldIcon(java.lang.String fieldName, java.lang.String icon)` Change the `icon` for a field after the grid is created
    `void` | `setFieldPickerFieldProperties(java.lang.String... fieldPickerFieldProperties)` Names of properties on `ListGridField` for which the FieldPicker should show an editing interface, for convenience.
    `void` | `setFieldPickerShowSampleValues(java.lang.Boolean fieldPickerShowSampleValues)` When set to false, sample values of the FieldPicker are never shown.
    `void` | `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)` Sets some presentation properties (visibility, width, userFormula and userSummary) of the listGrid fields based on the ListGridFieldState object passed in. Used to restore previous state retrieved from the grid by a call to `ListGrid.getFieldState`.
    `void` | `setFieldTitle(int fieldNum, java.lang.String title)` Change the title of a field after the grid is created.
    `void` | `setFieldTitle(java.lang.String fieldName, java.lang.String title)` 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` | `setFilterLocalData(java.lang.Boolean filterLocalData)` If this grid has its `data property` set to a static array of records, should `ListGrid.filterData` filter this array? If this property is set to true, the local data array will be filtered according to the specified criteria, and the results displayed.
    `void` | `setFilterOnKeypress(java.lang.Boolean filterOnKeypress)` If we're showing the filterEditor (this.showFilterEditor is true), this property determines whether this list should be filtered every time the user modifies the value in a field of the filter-editor.
    `void` | `setFixedFieldWidths(java.lang.Boolean fixedFieldWidths)` Should we horizontally clip cell contents, or allow columns to expand horizontally to show all contents?
    `void` | `setFixedRecordHeights(java.lang.Boolean fixedRecordHeights)` Should we vertically clip cell contents, or allow rows to expand vertically to show all contents?
    `void` | `setFormulaBuilderSpanTitleSeparator(java.lang.String formulaBuilderSpanTitleSeparator)` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInFormulaBuilder` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid in the FormulaBuilder and SummaryBuilder.
    `void` | `setFreezeFieldText(java.lang.String freezeFieldText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.
    `void` | `setFreezeOnLeftText(java.lang.String freezeOnLeftText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the left of the scrollable body.
    `void` | `setFreezeOnRightText(java.lang.String freezeOnRightText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the right of the scrollable body.
    `void` | `setFrozenBaseStyle(java.lang.String frozenBaseStyle)` If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields.
    `void` | `setFrozenHeaderBaseStyle(java.lang.String frozenHeaderBaseStyle)` If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields.
    `void` | `setFrozenHeaderTitleStyle(java.lang.String frozenHeaderTitleStyle)` If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields.
    `void` | `setGenerateClickOnEnter(java.lang.Boolean generateClickOnEnter)` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.
    `void` | `setGenerateClickOnSpace(java.lang.Boolean generateClickOnSpace)` If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.
    `void` | `setGenerateDoubleClickOnEnter(java.lang.Boolean generateDoubleClickOnEnter)` If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.
    `void` | `setGenerateDoubleClickOnSpace(java.lang.Boolean generateDoubleClickOnSpace)` If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.
    `void` | `setGridComponents(ListGridComponent... gridComponents)` Array of components that make up this grid.
    `void` | `setGridComponents(java.lang.Object... gridComponents)` Array of components that make up this grid.
    `void` | `setGridSummaryRecordProperty(java.lang.String gridSummaryRecordProperty)` If `showGridSummary` is true, this attribute will be set to true on the record object representing the grid summary row.
    `void` | `setGroupByAsyncThreshold(int groupByAsyncThreshold)` When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.
    `void` | `setGroupByField(java.lang.String... field)` List of fields to group grid records.
    `void` | `setGroupByField(java.lang.String field)` Field to group grid records by.
    `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 treegrid.
    `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` | `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 selectedState)` Reset this grid's grouping to match the ListGridGroupState object passed in. Used to restore previous state retrieved from the grid by a call to `ListGrid.getGroupState`.
    `void` | `setGroupSummaryRecordProperty(java.lang.String groupSummaryRecordProperty)` If `showGroupSummary` is true, this attribute will be set to true on each record object representing a group-level summary row.
    `void` | `setGroupSummaryStyle(java.lang.String groupSummaryStyle)` `customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
    `void` | `setGroupTitleColumnProperties(ListGridField groupTitleColumnProperties)` Custom properties for the automatically generated `groupTitleColumn`.
    `void` | `setGroupTitleField(java.lang.String groupTitleField)` When a list grid is `grouped`, each group shows under an auto generated header node.
    `void` | `setHeaderAutoFitEvent(AutoFitEvent headerAutoFitEvent)` Event on a ListGrid header that triggers auto fitting to data and/or title.
    `void` | `setHeaderBackgroundColor(java.lang.String headerBackgroundColor)` BackgroundColor for the header toolbar.
    `void` | `setHeaderBarStyle(java.lang.String headerBarStyle)` Set the CSS style used for the header as a whole.
    `void` | `setHeaderBaseStyle(java.lang.String headerBaseStyle)` `baseStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `void` | `setHeaderButtonProperties(Button headerButtonProperties)` Properties to apply to all header buttons.
    `void` | `setHeaderHeight(int headerHeight)` The height of this listGrid's header, in pixels.
    `void` | `setHeaderHoverAlign(Alignment headerHoverAlign)` This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover`.
    `void` | `setHeaderHoverFormatter(HeaderHoverFormatter formatter)` Provide a custom implementation of `headerHoverHTML(int,java.lang.String)`.
    `void` | `setHeaderHoverHeight(java.lang.Integer headerHoverHeight)` Optional default height for the hover shown on `ListGrid.headerHover`.
    `void` | `setHeaderHoverOpacity(java.lang.Integer headerHoverOpacity)` This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover`.
    `void` | `setHeaderHoverStyle(java.lang.String headerHoverStyle)` This property may be set to customize the css style for the hover shown on `ListGrid.headerHover`.
    `void` | `setHeaderHoverVAlign(VerticalAlignment headerHoverVAlign)` This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover`.
    `void` | `setHeaderHoverWidth(java.lang.Integer headerHoverWidth)` Optional default width for the hover shown on `ListGrid.headerHover`.
    `void` | `setHeaderHoverWrap(java.lang.Boolean headerHoverWrap)` This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover`.
    `void` | `setHeaderMenuButtonHeight(int headerMenuButtonHeight)` If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonIcon(java.lang.String headerMenuButtonIcon)` If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonIconHeight(int headerMenuButtonIconHeight)` If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonIconWidth(int headerMenuButtonIconWidth)` If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`
    `void` | `setHeaderMenuButtonWidth(int headerMenuButtonWidth)` If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`
    `void` | `setHeaderSpanBaseStyle(java.lang.String name, java.lang.String newStyle)` Update the `headerBaseStyle` for a span within the grid at runtime.
    `void` | `setHeaderSpanButtonProperties(java.lang.String name, Canvas properties)` Method to update properties on a headerSpan's header button at runtime.
    `void` | `setHeaderSpanHeaderTitle(java.lang.String name, java.lang.String newTitle)` Update the headerTitle of a `headerSpan` dynamically.
    `void` | `setHeaderSpanHeight(java.lang.Integer headerSpanHeight)` Default height for a `headerSpan` with no height specified.
    `void` | `setHeaderSpans(HeaderSpan... headerSpans)` Header spans are a second level of headers that appear above the normal ListGrid headers, spanning one or more listGrid fields in a manner similar to a column-spanning cell in an HTML table.
    `void` | `setHeaderSpanTitle(java.lang.String name, java.lang.String newTitle)` Update the title of a `headerSpan` dynamically.
    `void` | `setHeaderSpanTitleStyle(java.lang.String name, java.lang.String newTitle)` Update the `headerTitleStyle` for a span within the grid at runtime.
    `void` | `setHeaderTitleStyle(java.lang.String headerTitleStyle)` `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid.
    `void` | `setHiliteCanReplaceValue(java.lang.Boolean hiliteCanReplaceValue)` If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value.
    `void` | `setHiliteEditorSpanTitleSeparator(java.lang.String hiliteEditorSpanTitleSeparator)` If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInHiliteEditor` is true, this string will be inserted between the headerSpan title and the field title in the hiliteEditor field chooser grid.
    `void` | `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` | `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` | `setImageSize(int imageSize)` Default size of thumbnails shown for fieldTypes image and imageFile.
    `void` | `setIncludeHilitesInSummaryFields(boolean includeHilitesInSummaryFields)` When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?
    `void` | `setIncludeInSummaryProperty(java.lang.String includeInSummaryProperty)` Property name on a record that will be checked to determine whether a record should be included when calculating totals for the `grid summary`.
    `void` | `setInitialCriteria(Criteria initialCriteria)` Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
    `void` | `setInitialSort(SortSpecifier[] initialSort)` An array of SortSpecifier objects used to set up the initial sort configuration for this grid.
    `void` | `setInstantScrollTrackRedraw(java.lang.Boolean instantScrollTrackRedraw)` If true, if the user clicks on the scroll buttons at the end of the track or clicks once on the scroll track, there will be an instant redraw of the grid content so that the user doesn't see any blank space.
    `void` | `setInvalidSummaryValue(java.lang.String invalidSummaryValue)` Value to display to the user if showing summary values (through `showGridSummary`, `showGroupSummary` or `listGridFieldType:"summary"`), and the summary function returns `"null"` (implying it was unable to calculate a valid summary value).
    `void` | `setIsSeparatorProperty(java.lang.String isSeparatorProperty)` If `record[this.isSeparatorProperty]` is set for some record, the record will be displayed as a simple separator row.
    `void` | `setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `void` | `setLeaveHeaderMenuButtonSpace(java.lang.Boolean leaveHeaderMenuButtonSpace)` If `showHeaderMenuButton` is true, when auto-fitting fields to the title width via `autoFitFieldWidths` or `autoFitWidth`, should the button be sized such that there is enough space for the heeader 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)`
    `void` | `setLongTextEditorThreshold(int longTextEditorThreshold)` When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
    `void` | `setLongTextEditorType(java.lang.String longTextEditorType)` When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
    `void` | `setMaxExpandedRecords(java.lang.Integer maxExpandedRecords)` When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously.
    `void` | `setMaxExpandedRecordsPrompt(java.lang.String maxExpandedRecordsPrompt)` This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed.
    `void` | `setMinFieldWidth(int minFieldWidth)` Minimum size, in pixels, for ListGrid headers.
    `void` | `setMissingSummaryFieldValue(java.lang.String missingSummaryFieldValue)` If a summary format string contains an invalid field reference, replace the reference with the missingSummaryFieldValue.
    `void` | `setModalEditing(java.lang.Boolean modalEditing)` If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.
    `void` | `setNeverValidate(java.lang.Boolean neverValidate)` If true, validation will not occur as a result of cell editing for this grid.
    `void` | `setNormalBaseStyle(java.lang.String normalBaseStyle)` "Normal" baseStyle for this listGrid.
    `void` | `setNormalCellHeight(int normalCellHeight)` If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value.
    `void` | `setNullGroupTitle(java.lang.String nullGroupTitle)` Default alias to use for groups with no value
    `void` | `setOfflineMessageStyle(java.lang.String offlineMessageStyle)` The CSS style name applied to the `offlineMessage` if displayed.
    `void` | `setOriginBaseStyle(java.lang.String originBaseStyle)` Name of a CSS Style to use as the `baseStyle` for a cell that is currently a selection origin for shifted incremental cell selection.
    `void` | `setPoolComponentsPerColumn(java.lang.Boolean poolComponentsPerColumn)` Should recycled `record components`, be pooled per column or per record.
    `void` | `setPreventDuplicates(java.lang.Boolean preventDuplicates)` If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`.
    `void` | `setPrintAutoFit(java.lang.Boolean printAutoFit)` Whether cell contents should wrap during printing.
    `void` | `setPrintBaseStyle(java.lang.String printBaseStyle)` Style for non-header cells in printed output.
    `void` | `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` | `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` | `setRecordEditProperty(java.lang.String recordEditProperty)` Property name on a record that should be checked to determine whether the record may be edited.
    `void` | `setRecordEnabledProperty(java.lang.String recordEnabledProperty)` Property name on a record that will be checked to determine whether a record is enabled.
    `void` | `setRecords(ListGridRecord[] records)` Synonym for `setData(ListGridRecord[])`
    `void` | `setRecordSummaryBaseStyle(java.lang.String recordSummaryBaseStyle)` If showing any record summary fields (IE: fields of `type:"summary"`), this attribute specifies a custom base style to apply to cells in the summary field
    `void` | `setRemovedCSSText(java.lang.String removedCSSText)` Custom CSS text to be applied to records that have been `marked for removal`.
    `void` | `setRemoveFieldProperties(ListGridField removeFieldProperties)` Configuration properties for the "remove field" displayed when `canRemoveRecords` is enabled.
    `void` | `setRemoveFieldTitle(java.lang.String removeFieldTitle)` The title to use for the `remove field`.
    `void` | `setRemoveIcon(java.lang.String removeIcon)` When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
    `void` | `setRemoveIconSize(int removeIconSize)` Default width and height of `remove icons` for this ListGrid.
    `void` | `setRemoveOperation(java.lang.String removeOperation)` Operation ID this component should use when performing remove operations.
    `void` | `setReselectOnUpdate(boolean reselectOnUpdate)` If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes.
    `void` | `setReselectOnUpdateNotifications(SelectionNotificationType reselectOnUpdateNotifications)` if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.
    `void` | `setResizeFieldsInRealTime(java.lang.Boolean resizeFieldsInRealTime)` True == we redraw the list viewer in real time as fields are being resized.
    `void` | `setReverseRTLAlign(java.lang.Boolean reverseRTLAlign)` If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?
    `void` | `setRollUnderCanvasProperties(Canvas rollUnderCanvasProperties)` The RollUnder Canvas properties when `showRollover` is true and `showRollOverCanvas` is true.
    `void` | `setRowEndEditAction(RowEndEditAction rowEndEditAction)` If the user is editing a record in this listGrid, and attempts to navigate to a field beyond the end of the row, via tab (or shift-tab off the first editable field), this property determines what action to take: "next": start editing the next (or previous) record in the list "same": put focus back into the first editable field of the same record.
    `void` | `setRowErrors(int rowNum, java.util.Map errors)` Set the validation errors for some row (replacing any pre-existent validation errors)
    `void` | `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` | `setRowSpanSelectionMode(RowSpanSelectionMode rowSpanSelectionMode)` Chooses the selection mode when `useRowSpanStyling` is enabled.
    `void` | `setSaveByCell(java.lang.Boolean saveByCell)` Whether edits should be saved whenever the user moves between cells in the current edit row.
    `void` | `setSaveLocally(java.lang.Boolean saveLocally)` For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server.
    `void` | `setSaveRequestProperties(DSRequest saveRequestProperties)` For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).
    `void` | `setScreenReaderCellSeparator(java.lang.String screenReaderCellSeparator)` When screen reader mode is enabled, this invisible separator string is written out between each cell value.
    `void` | `setScreenReaderRowSeparator(java.lang.String screenReaderRowSeparator)` When screen reader mode is enabled, this invisible string will be written out after the last cell in a row.
    `void` | `setScrollRedrawDelay(int scrollRedrawDelay)` While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user.
    `void` | `setSelectedState(java.lang.String selectedState)` Reset this grid's selection to match the ListGridSelectedState object passed in. Used to restore previous state retrieved from the grid by a call to `ListGrid.getSelectedState`.
    `void` | `setSelectHeaderOnSort(java.lang.Boolean selectHeaderOnSort)` If true, show the field-header for the sorted field (or the first field in a `multi-sort` grid) in the selected state.
    `void` | `setSelectionAppearance(SelectionAppearance selectionAppearance)` How selection of rows should be presented to the user.
    `void` | `setSelectionCanvasProperties(Canvas selectionCanvasProperties)` Canvas with properties to apply to the auto-generated Selection Canvas properties when `showSelectionCanvas` is true.
    `void` | `setSelectionProperty(java.lang.String selectionProperty)` If specified, the selection object for this list will use this property to mark records as selected.
    `void` | `setSelectionType(SelectionStyle selectionType)` Defines a listGrid's clickable-selection behavior.
    `void` | `setSelectionUnderCanvasProperties(Canvas selectionUnderCanvasProperties)` Canvas with properties to apply to the auto-generated Selection Under Canvas properties when `showSelectionCanvas` is true.
    `void` | `setSelectOnEdit(java.lang.Boolean selectOnEdit)` When the user starts editing a row, should the row also be selected?
    `void` | `setShowAllColumns(java.lang.Boolean showAllColumns)` Whether all columns should be drawn all at once, or only columns visible in the viewport.
    `void` | `setShowAllRecords(java.lang.Boolean showAllRecords)` Whether all rows should be drawn all at once, or only rows visible in the viewport.
    `void` | `setShowAsynchGroupingPrompt(java.lang.Boolean showAsynchGroupingPrompt)` If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
    `void` | `setShowBackgroundComponents(java.lang.Boolean showBackgroundComponents)` If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
    `void` | `setShowCellContextMenus(java.lang.Boolean showCellContextMenus)` Whether to show a context menu with standard items for all context clicks on rows in the body.
    `void` | `setShowClippedHeaderTitlesOnHover(boolean showClippedHeaderTitlesOnHover)` If true and a header button's title is clipped, then a hover containing the full field title is enabled.
    `void` | `setShowClippedValuesOnHover(java.lang.Boolean showClippedValuesOnHover)` If true and a cell's value is clipped, then a hover containing the full cell value is enabled.
    `void` | `setShowCollapsedGroupSummary(java.lang.Boolean showCollapsedGroupSummary)` Should group summaries be visible when the group is collapsed?
    `void` | `setShowComplexFields(java.lang.Boolean showComplexFields)` Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.
    `void` | `setShowDetailFields(java.lang.Boolean showDetailFields)` Whether to include fields marked `detail:true` from this component's `DataSource`.
    `void` | `setShowEmptyMessage(java.lang.Boolean showEmptyMessage)` Indicates whether the text of the emptyMessage property should be displayed if no data is available.
    `void` | `setShowFilterEditor(boolean showFilterEditor)` Should this listGrid display a filter row.
    `void` | `setShowGridSummary(java.lang.Boolean showGridSummary)` Should this ListGrid show a summary row beneath the last record of the grid.
    `void` | `setShowGroupSummary(java.lang.Boolean showGroupSummary)` If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields.
    `void` | `setShowGroupSummaryInHeader(java.lang.Boolean showGroupSummaryInHeader)` If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.
    `void` | `setShowGroupTitleColumn(java.lang.Boolean showGroupTitleColumn)` If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.
    `void` | `setShowHeader(java.lang.Boolean showHeader)` Should we show the header for this ListGrid? If this method is called after the component has been drawn/initialized: Show or hide the ListGrid header.
    `void` | `setShowHeaderContextMenu(java.lang.Boolean showHeaderContextMenu)` Whether to show a context menu on the header with standard items for showing and hiding fields.
    `void` | `setShowHeaderMenuButton(java.lang.Boolean showHeaderMenuButton)` If set to true and `showHeaderContextMenu` is true, the `headerMenuButton` will be displayed when the user rolls over the header buttons in this grid.
    `void` | `setShowHeaderSpanTitlesInFormulaBuilder(java.lang.Boolean showHeaderSpanTitlesInFormulaBuilder)` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
    `void` | `setShowHeaderSpanTitlesInHiliteEditor(java.lang.Boolean showHeaderSpanTitlesInHiliteEditor)` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
    `void` | `setShowHeaderSpanTitlesInSortEditor(java.lang.Boolean showHeaderSpanTitlesInSortEditor)` If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
    `void` | `setShowHiddenFields(java.lang.Boolean showHiddenFields)` Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.
    `void` | `setShowHilitesInGroupSummary(boolean showHilitesInGroupSummary)` Determines whether hiliting for any field in this grid is shown in a group summary.
    `void` | `setShowHover(java.lang.Boolean showHover)` If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse.
    `void` | `setShowHoverComponents(java.lang.Boolean showHoverComponents)` When set to true and canHover is also true, shows a widget hovering at the mouse point.
    `void` | `setShowRecordComponents(java.lang.Boolean showRecordComponents)` If set to true, this listGrid should create and show an embedded component in every row of the grid.
    `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? If true, the cell style will have the suffix "Over" appended.
    `void` | `setShowRollOverCanvas(java.lang.Boolean showRollOverCanvas)` If `showRollOver` is true, this property provides an option to show roll over styling with the `rollOverCanvas` and `rollUnderCanvas` rather than using css styling.
    `void` | `setShowRowNumbers(java.lang.Boolean showRowNumbers)` When set to true, shows an additional field at the beginning of the field-list (respecting RTL) that displays the current rowNum for each record.
    `void` | `setShowSelectedStyle(java.lang.Boolean showSelectedStyle)` Should the "Selected" style be applied to selected records?
    `void` | `setShowSelectionCanvas(java.lang.Boolean showSelectionCanvas)` If `selectionType` is set to `"single"`, setting this property to true means selection will be displayed to the user with the `selectionCanvas` and `selectionUnderCanvas` rather than using 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)` This method sorts the grid on one or more fields, or configures it to be so sorted upon the underlying JS object's creation.
    `void` | `setSortAscendingImage(ImgProperties sortAscendingImage)` Image to show when sorting ascending.
    `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.String fieldName)` Specifies the field by which this grid should be initially sorted.
    `void` | `setSortFieldAscendingText(java.lang.String sortFieldAscendingText)` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in ascending order.
    `void` | `setSortFieldDescendingText(java.lang.String sortFieldDescendingText)` If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in descending order.
    `void` | `setSortNumeralStyle(java.lang.String sortNumeralStyle)` When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.
    `void` | `setSortState(java.lang.String sortState)` Reset this grid's sort state (sort field and direction or list of `SortSpecifier`s) to match the ListGridSortState object passed in. Used to restore previous state retrieved from the grid by a call to `ListGrid.getSortState`.
    `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
    `void` | `setSummaryRowCriteria(Criteria summaryRowCriteria)` If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row.
    `void` | `setSummaryRowDataSource(DataSource summaryRowDataSource)` If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary` and `ListGrid.getGridSummaryFunction`).
    `void` | `setSummaryRowFetchRequestProperties(DSRequest summaryRowFetchRequestProperties)` If `setShowGridSummary(Boolean)` is true, and a ${isc.DocUtils.linkForRef('listGrid.summaryDataSource')} is specified this property may be used to customize the fetch request used when retrieving summary data to show in the summary row.
    `void` | `setSummaryRowHeight(int summaryRowHeight)` Default height for the `summary row autoChild`.
    `void` | `setSummaryRowStyle(java.lang.String summaryRowStyle)` `baseStyle` for the `summaryRow`
    `void` | `setTallBaseStyle(java.lang.String tallBaseStyle)` "Tall" baseStyle for this listGrid.
    `void` | `setTitleField(java.lang.String titleField)` Sets the best field to use for a user-visible title for an individual record from this component.
    `void` | `setTrackerImage(ImgProperties trackerImage)` Default image to use for the dragTracker when things are dragged within or out of this list.
    `void` | `setUnfreezeFieldText(java.lang.String unfreezeFieldText)` If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.
    `void` | `setUngroupText(java.lang.String ungroupText)` If we're showing a `headerContextMenu` for this grid, and `this.isGrouped` is true, this attribute will be shown as the title for the menu item to ungroup the grid.
    `void` | `setUnremoveIcon(java.lang.String unremoveIcon)` When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved`.
    `void` | `setUpdateOperation(java.lang.String updateOperation)` Operation ID this component should use when performing update operations.
    `void` | `setUseAdvancedFieldPicker(java.lang.Boolean useAdvancedFieldPicker)` If set to true, an advanced field picker based on the FieldPicker will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.
    `void` | `setUseAllDataSourceFields(java.lang.Boolean useAllDataSourceFields)` If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.
    `void` | `setUseCellRollOvers(java.lang.Boolean useCellRollOvers)` Are rollovers cell-level or row-level?
    `void` | `setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts)` Enables copy/paste shortcuts, provided `canSelectCells` is true
    `void` | `setUseFlatFields(java.lang.Boolean useFlatFields)` The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.
    `void` | `setUseRemoteValidators(java.lang.Boolean useRemoteValidators)` If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed. Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode.
    `void` | `setUseRowSpanStyling(java.lang.Boolean useRowSpanStyling)` Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right.
    `void` | `setValidateByCell(java.lang.Boolean validateByCell)` Whether client-side validation checks should be performed when the user moves between cells in the current edit row.
    `void` | `setValidateOnChange(java.lang.Boolean validateOnChange)` If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
    `void` | `setValueIconHeight(java.lang.Integer valueIconHeight)` Height for value icons for this listGrid.
    `void` | `setValueIconLeftPadding(int valueIconLeftPadding)` How much padding should there be on the left of valueIcons by default Can be overridden at the field level
    `void` | `setValueIconRightPadding(int valueIconRightPadding)` How much padding should there be on the right of valueIcons by default
    `void` | `setValueIconSize(int valueIconSize)` Default width and height of value icons for this ListGrid.
    `void` | `setValueIconWidth(java.lang.Integer valueIconWidth)` Width for value icons for this listGrid.
    `void` | `setValueMap(java.lang.String fieldName, java.util.LinkedHashMap valueMap)` Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
    `void` | `setValueMap(java.lang.String fieldName, java.lang.String... valueMap)` Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
    `void` | `setViewState(java.lang.String viewState)` Reset this grid's view state to match the ListGridViewState object passed in. Used to restore previous state retrieved from the grid by a call to `ListGrid.getViewState`.
    `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 unrendered rows to make the scrollbar and viewport appear correctly.
    `void` | `setWaitForSave(java.lang.Boolean waitForSave)` If this is an editable listGrid, this property determines whether the user will be able to dismiss the edit form, or navigate to another cell while the save is in process (before the asynchronous server response returns).
    `void` | `setWarnOnRemoval(java.lang.Boolean warnOnRemoval)` If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
    `void` | `setWarnOnRemovalMessage(java.lang.String warnOnRemovalMessage)` Warning message to show the user on a click on the 'remove' icon if `canRemoveRecords` is true and `warnOnRemoval` is true.
    `void` | `setWarnOnUnmappedValueFieldChange(java.lang.Boolean warnOnUnmappedValueFieldChange)` If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).
    `void` | `setWrapCells(java.lang.Boolean wrapCells)` Should content within cells be allowed to wrap?
    `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 fieldName)` Force a field to be shown.
    `void` | `showField(java.lang.String fieldName, boolean suppressRelayout)` Force a field to be shown.
    `void` | `showFields(ListGridField... fields)` Force an array of fields to be shown.
    `void` | `showFields(ListGridField[] fields, boolean suppressRelayout)` Force an array of fields to be shown.
    `void` | `showFields(java.lang.String... fields)` Force an array of fields to be shown.
    `void` | `showFields(java.lang.String[] fields, 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 the the data by the first sortable column.
    `java.lang.Boolean` | `sort(int sortCol, SortDirection sortDirection)` Sorts a listGrid explicitly by the column given by sortFieldNum, if provided, in ascending or descending order if specified by sortDirection.
    `java.lang.Boolean` | `sort(java.lang.String sortField, SortDirection sortDirection)` Sorts a listGrid explicitly by the column given by sortFieldNum, if provided, in ascending or descending order if specified by sortDirection.
    `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 defaultValues)` 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(int colNum)` Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `unfreezeField(java.lang.String fieldName)` Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `unfreezeFields(int[] colNums)` Unfreeze the indicated fields, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `unfreezeFields(java.lang.String[] fieldNames)` Unfreeze the indicated fields, so that it will now scroll along with other fields when horizontal scrolling occurs.
    `void` | `ungroup()` Removes the grouping from the listgrid, restoring its original data
    `void` | `unmarkRecordRemoved(int rowNum)` Reverses a previous call to `ListGrid.markRecordRemoved`.
    `void` | `unsort()` Turn sorting off, typically because data has changed and is no longer sorted.
    `void` | `updateData(Record updatedRecord)` Perform a DataSource "update" operation to update existing records in this component's DataSource.
    `void` | `updateData(Record updatedRecord, DSCallback callback)`
    `void` | `updateData(Record updatedRecord, DSCallback callback, DSRequest requestProperties)` Perform a DataSource "update" operation to update existing records in this component's DataSource.
    `Canvas` | `updateRecordComponent(ListGridRecord record, java.lang.Integer colNum, Canvas component, boolean recordChanged)` When `showRecordComponents` is true, this method is called for a row/cell that has already been rendered.
    `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, getAnimateMembers, getAnimateMemberTime, getCanDropComponents, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutTopMargin, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOffset, getMemberOverlap, getMembers, getMembersMargin, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, membersChanged, onInit_Layout, reflow, reflow, reflowNow, removeMember, removeMembers, reorderMember, reorderMembers, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutTopMargin, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinMemberSize, setOverflow, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember`

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

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

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

      `addDrawHandler, 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, getElement, getElement, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setElement, setHtmlElement, setID, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

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

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

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

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

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

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

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

      `getOrCreateJsObj`

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

      `fireEvent`

- - ### Constructor Detail

    - #### ListGrid

          public ListGrid()

    - #### ListGrid

          public ListGrid(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`

    - #### setJavaScriptObject

          public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)

      Overrides:
        `setJavaScriptObject` in class `VLayout`

    - #### changeAutoChildDefaults

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

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

    - #### changeAutoChildDefaults

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

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

    - #### create

          protected 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` - advancedFieldPickerThreshold Default value is 25
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAdvancedFieldPickerThreshold

          public int getAdvancedFieldPickerThreshold()

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

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

      Returns:
        int

    - #### setAllowFilterExpressions

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

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

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

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

    - #### getAllowFilterExpressions

          public java.lang.Boolean getAllowFilterExpressions()

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

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

      Returns:
        Boolean

    - #### setAllowRowSpanning

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

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

      See `ListGrid.getRowSpan` for more details

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

    - #### getAllowRowSpanning

          public java.lang.Boolean getAllowRowSpanning()

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

      See `ListGrid.getRowSpan` for more details

      Returns:
        Boolean

    - #### setAlternateBodyStyleName

          public void setAlternateBodyStyleName(java.lang.String alternateBodyStyleName)

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

      Note : This is an advanced setting

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

    - #### getAlternateBodyStyleName

          public java.lang.String getAlternateBodyStyleName()

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

    - #### 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` - alternateRecordFrequency Default value is 1

    - #### getAlternateRecordFrequency

          public int getAlternateRecordFrequency()

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

    - #### setAlternateRecordStyles

          public void setAlternateRecordStyles(java.lang.Boolean alternateRecordStyles)

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

    - #### getAlternateRecordStyles

          public java.lang.Boolean getAlternateRecordStyles()

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

    - #### setAlwaysShowEditors

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

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

    - #### getAlwaysShowEditors

          public java.lang.Boolean getAlwaysShowEditors()

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

    - #### setAnimateFolderEffect

          public void setAnimateFolderEffect(AnimationAcceleration animateFolderEffect)

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

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

      Parameters:
        `animateFolderEffect` - animateFolderEffect Default value is null

    - #### getAnimateFolderEffect

          public AnimationAcceleration getAnimateFolderEffect()

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

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

      Returns:
        AnimationAcceleration

    - #### setAnimateFolderMaxRows

          public void setAnimateFolderMaxRows(java.lang.Integer animateFolderMaxRows)

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

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

      Parameters:
        `animateFolderMaxRows` - animateFolderMaxRows Default value is null

    - #### getAnimateFolderMaxRows

          public java.lang.Integer getAnimateFolderMaxRows()

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

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

      Returns:
        Integer

    - #### 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` - animateFolders Default value is true

    - #### getAnimateFolders

          public java.lang.Boolean getAnimateFolders()

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

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

      Returns:
        Boolean

    - #### setAnimateFolderSpeed

          public void setAnimateFolderSpeed(int animateFolderSpeed)

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

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

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

    - #### getAnimateFolderSpeed

          public int getAnimateFolderSpeed()

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

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

      Returns:
        int
      See Also:
        `getAnimateFolderTime()`

    - #### setAnimateFolderTime

          public void setAnimateFolderTime(int animateFolderTime)

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

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

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

    - #### getAnimateFolderTime

          public int getAnimateFolderTime()

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

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

      Returns:
        int
      See Also:
        `getAnimateFolderSpeed()`

    - #### setAnimateRemoveRecord

          public void setAnimateRemoveRecord(java.lang.Boolean animateRemoveRecord)

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

    - #### getAnimateRemoveRecord

          public java.lang.Boolean getAnimateRemoveRecord()

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

    - #### setAnimateRemoveSpeed

          public void setAnimateRemoveSpeed(int animateRemoveSpeed)

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

    - #### getAnimateRemoveSpeed

          public int getAnimateRemoveSpeed()

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

    - #### setAnimateRemoveTime

          public void setAnimateRemoveTime(int animateRemoveTime)

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

    - #### getAnimateRemoveTime

          public int getAnimateRemoveTime()

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

    - #### setAnimateRollOver

          public void setAnimateRollOver(java.lang.Boolean animateRollOver)

      If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollOver canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.

      Note : This is an advanced setting

      Parameters:
        `animateRollOver` - animateRollOver Default value is false

    - #### getAnimateRollOver

          public java.lang.Boolean getAnimateRollOver()

      If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollOver canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.
      Returns:
        Boolean

    - #### setAnimateRollUnder

          public void setAnimateRollUnder(java.lang.Boolean animateRollUnder)

      If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollUnder canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.

      Note : This is an advanced setting

      Parameters:
        `animateRollUnder` - animateRollUnder Default value is false

    - #### getAnimateRollUnder

          public java.lang.Boolean getAnimateRollUnder()

      If `showRollOverCanvas` is `true` setting this property to true ensures that when the rollUnder canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.
      Returns:
        Boolean

    - #### setAnimateSelection

          public void setAnimateSelection(java.lang.Boolean animateSelection)

      If `showSelectionCanvas` is `true` setting this property to true ensures that when the selection canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.

      Note : This is an advanced setting

      Parameters:
        `animateSelection` - animateSelection Default value is false

    - #### getAnimateSelection

          public java.lang.Boolean getAnimateSelection()

      If `showSelectionCanvas` is `true` setting this property to true ensures that when the selection canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.
      Returns:
        Boolean

    - #### setAnimateSelectionUnder

          public void setAnimateSelectionUnder(java.lang.Boolean animateSelectionUnder)

      If `showSelectionCanvas` is `true` setting this property to true ensures that when the selectionUnder canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.

      Note : This is an advanced setting

      Parameters:
        `animateSelectionUnder` - animateSelectionUnder Default value is false

    - #### getAnimateSelectionUnder

          public java.lang.Boolean getAnimateSelectionUnder()

      If `showSelectionCanvas` is `true` setting this property to true ensures that when the selectionUnder canvas is displayed it animates into view via an `Canvas.animateShow`. Note that the animation effect may be customized via the standard `animateShowEffect`, `animateShowTime` and `animateShowAcceleration`.
      Returns:
        Boolean

    - #### setApplyFormulaAfterSummary

          public void setApplyFormulaAfterSummary(java.lang.Boolean applyFormulaAfterSummary)

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

      May be overridden at the field level via `applyAfterSummary`

      Parameters:
        `applyFormulaAfterSummary` - applyFormulaAfterSummary Default value is false

    - #### getApplyFormulaAfterSummary

          public java.lang.Boolean getApplyFormulaAfterSummary()

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

      May be overridden at the field level via `applyAfterSummary`

      Returns:
        Boolean

    - #### setApplyRowNumberStyle

          public void setApplyRowNumberStyle(boolean applyRowNumberStyle)

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

      Note : This is an advanced setting

      Parameters:
        `applyRowNumberStyle` - applyRowNumberStyle Default value is true

    - #### getApplyRowNumberStyle

          public boolean getApplyRowNumberStyle()

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

    - #### setArrowKeyAction

          public void setArrowKeyAction(java.lang.String arrowKeyAction)

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

      Note : This is an advanced setting

      Parameters:
        `arrowKeyAction` - . See `String`. 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:
        . See `String`

    - #### setAsynchGroupingPrompt

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

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

    - #### getAsynchGroupingPrompt

          public java.lang.String getAsynchGroupingPrompt()

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

    - #### setAutoFetchDisplayMap

          public void setAutoFetchDisplayMap(java.lang.Boolean autoFetchDisplayMap)

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

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

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

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

    - #### getAutoFetchDisplayMap

          public java.lang.Boolean getAutoFetchDisplayMap()

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

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

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

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

    - #### setAutoFitAllText

          public void setAutoFitAllText(java.lang.String autoFitAllText)

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

    - #### getAutoFitAllText

          public java.lang.String getAutoFitAllText()

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

    - #### setAutoFitClipFields

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

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

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

      Parameters:
        `autoFitClipFields` - . See `String`. 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:
        . See `String`

    - #### setAutoFitData

          public void setAutoFitData(Autofit autoFitData)

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

      Valid settings are

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

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

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

    - #### getAutoFitData

          public Autofit getAutoFitData()

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

      Valid settings are

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

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

      Returns:
        Autofit

    - #### setAutoFitExpandField

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

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

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

      Note that expanding `frozen columns` is not supported.

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

    - #### getAutoFitExpandField

          public java.lang.String getAutoFitExpandField()

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

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

      Note that expanding `frozen columns` is not supported.

      Returns:
        . See `String`

    - #### setAutoFitExtraRecords

          public void setAutoFitExtraRecords(java.lang.Integer autoFitExtraRecords)

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

    - #### getAutoFitExtraRecords

          public java.lang.Integer getAutoFitExtraRecords()

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

    - #### setAutoFitFieldsFillViewport

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

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

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

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

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

    - #### getAutoFitFieldsFillViewport

          public java.lang.Boolean getAutoFitFieldsFillViewport()

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

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

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

      Returns:
        Boolean

    - #### setAutoFitFieldText

          public void setAutoFitFieldText(java.lang.String autoFitFieldText)

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

    - #### getAutoFitFieldText

          public java.lang.String getAutoFitFieldText()

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

    - #### setAutoFitFieldWidths

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

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

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

      If width is also set on the field, it will be taken as a minimum width. `minFieldWith` will also be respected. Developers may also use the `autoFitFieldsFillViewport` setting to ensure that all available space is used even if the field content isn't wide enough to fill the listGrid viewport.

      Autofitting will be performed:

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

      When autofitting to column values, `ListGrid.getDefaultFieldWidth` will be called to determine the space required for a field's values. This method uses values from the rendered set of rows to calculate the required column width. The values used not match the complete set of data for the grid when rendering rows incrementally. See `showAllRecords` and `drawAheadRatio`) to control incremental rendering of rows.

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

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

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

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

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

    - #### getAutoFitFieldWidths

          public java.lang.Boolean getAutoFitFieldWidths()

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

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

      If width is also set on the field, it will be taken as a minimum width. `minFieldWith` will also be respected. Developers may also use the `autoFitFieldsFillViewport` setting to ensure that all available space is used even if the field content isn't wide enough to fill the listGrid viewport.

      Autofitting will be performed:

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

      When autofitting to column values, `ListGrid.getDefaultFieldWidth` will be called to determine the space required for a field's values. This method uses values from the rendered set of rows to calculate the required column width. The values used not match the complete set of data for the grid when rendering rows incrementally. See `showAllRecords` and `drawAheadRatio`) to control incremental rendering of rows.

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

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

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

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

      Returns:
        Boolean

    - #### setAutoFitHeaderHeights

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

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

    - #### getAutoFitHeaderHeights

          public java.lang.Boolean getAutoFitHeaderHeights()

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

    - #### setAutoFitIconFields

          public void setAutoFitIconFields(AutoFitIconFieldType autoFitIconFields)

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

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

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

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

    - #### getAutoFitIconFields

          public AutoFitIconFieldType getAutoFitIconFields()

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

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

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

      Returns:
        AutoFitIconFieldType
      See Also:
        `getAutoFitFieldWidths()`

    - #### setAutoFitMaxColumns

          public void setAutoFitMaxColumns(int autoFitMaxColumns)

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

    - #### getAutoFitMaxColumns

          public int getAutoFitMaxColumns()

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

    - #### setAutoFitMaxHeight

          public void setAutoFitMaxHeight(java.lang.Integer autoFitMaxHeight)

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

    - #### getAutoFitMaxHeight

          public java.lang.Integer getAutoFitMaxHeight()

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

    - #### setAutoFitMaxRecords

          public void setAutoFitMaxRecords(int autoFitMaxRecords)

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

    - #### getAutoFitMaxRecords

          public int getAutoFitMaxRecords()

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

    - #### setAutoFitMaxWidth

          public void setAutoFitMaxWidth(java.lang.Integer autoFitMaxWidth)

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

    - #### getAutoFitMaxWidth

          public java.lang.Integer getAutoFitMaxWidth()

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

    - #### setAutoFitWidthApproach

          public void setAutoFitWidthApproach(AutoFitWidthApproach autoFitWidthApproach)

      When a user requests column autofitting via the `header contextmenu` 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 contextmenu` or via a `mouse gesture`, what autofit approach is used.
      Returns:
        AutoFitWidthApproach

    - #### setAutoSaveEdits

          public void setAutoSaveEdits(java.lang.Boolean autoSaveEdits)

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

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

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

      Note : This is an advanced setting

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

    - #### getAutoSaveEdits

          public java.lang.Boolean getAutoSaveEdits()

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

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

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

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

    - #### setAutoSizeHeaderSpans

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

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

    - #### getAutoSizeHeaderSpans

          public java.lang.Boolean getAutoSizeHeaderSpans()

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

    - #### getBackgroundComponent

          public Canvas getBackgroundComponent()

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

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

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

      Returns:
        null

    - #### setBadFormulaResultValue

          public void setBadFormulaResultValue(java.lang.String badFormulaResultValue)

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

    - #### setBaseStyle

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

      `base cell style` for this listGrid. If this property is unset, base style may be derived from `normalBaseStyle` or `tallBaseStyle` as described in `ListGrid.getBaseStyle`.
      Parameters:
        `baseStyle` - . See `CSSStyleName`. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Appearance overview and related methods`

    - #### getBaseStyle

          public java.lang.String getBaseStyle()

      `base cell style` for this listGrid. If this property is unset, base style may be derived from `normalBaseStyle` or `tallBaseStyle` as described in `ListGrid.getBaseStyle`.
      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`.. See `CSSStyleName`

      See Also:
        `Appearance overview and related methods`

    - #### setBodyBackgroundColor

          public void setBodyBackgroundColor(java.lang.String bodyBackgroundColor)

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

    - #### setBodyOverflow

          public void setBodyOverflow(Overflow bodyOverflow)

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

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

      Note : This is an advanced setting

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

    - #### getBodyOverflow

          public Overflow getBodyOverflow()

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

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

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

    - #### setBodyStyleName

          public void setBodyStyleName(java.lang.String bodyStyleName)

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

    - #### getBodyStyleName

          public java.lang.String getBodyStyleName()

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

    - #### setBooleanBaseStyle

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

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

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

      Note : This is an advanced setting

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

    - #### getBooleanBaseStyle

          public java.lang.String getBooleanBaseStyle()

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

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

      Returns:
        . See `CSSStyleName`
      See Also:
        `ImageColumns overview and related methods`

    - #### setBooleanFalseImage

          public void setBooleanFalseImage(java.lang.String booleanFalseImage)

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

      To turn this off explicitly set `suppressValueIcon` to true

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

      Note : This is an advanced setting

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

    - #### getBooleanFalseImage

          public java.lang.String getBooleanFalseImage()

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

      To turn this off explicitly set `suppressValueIcon` to true

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

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

    - #### setBooleanImageHeight

          public void setBooleanImageHeight(int booleanImageHeight)

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

      Note : This is an advanced setting

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

    - #### getBooleanImageHeight

          public int getBooleanImageHeight()

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

    - #### setBooleanImageWidth

          public void setBooleanImageWidth(int booleanImageWidth)

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

      Note : This is an advanced setting

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

    - #### getBooleanImageWidth

          public int getBooleanImageWidth()

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

    - #### setBooleanPartialImage

          public void setBooleanPartialImage(java.lang.String booleanPartialImage)

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

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

      If this, `booleanTrueImage` and `booleanFalseImage` are undefined, this will be set to `partialSelectedImage`.

      Note : This is an advanced setting

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

    - #### getBooleanPartialImage

          public java.lang.String getBooleanPartialImage()

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

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

      If this, `booleanTrueImage` and `booleanFalseImage` are undefined, this will be set to `partialSelectedImage`.

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

    - #### setBooleanTrueImage

          public void setBooleanTrueImage(java.lang.String booleanTrueImage)

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

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

      If this, `booleanFalseImage` and `booleanPartialImage` are undefined, this will be set to `checkedImage`.

      Note : This is an advanced setting

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

    - #### getBooleanTrueImage

          public java.lang.String getBooleanTrueImage()

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

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

      If this, `booleanFalseImage` and `booleanPartialImage` are undefined, this will be set to `checkedImage`.

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

    - #### setCanAcceptDroppedRecords

          public void setCanAcceptDroppedRecords(java.lang.Boolean canAcceptDroppedRecords)

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

    - #### getCanAcceptDroppedRecords

          public java.lang.Boolean getCanAcceptDroppedRecords()

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

    - #### setCanAutoFitFields

          public void setCanAutoFitFields(java.lang.Boolean canAutoFitFields)

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

      Autofitting can also be programmatically enabled by setting autoFitWidth.

      Parameters:
        `canAutoFitFields` - canAutoFitFields Default value is true

    - #### getCanAutoFitFields

          public java.lang.Boolean getCanAutoFitFields()

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

      Autofitting can also be programmatically enabled by setting autoFitWidth.

      Returns:
        Boolean

    - #### setCancelEditingConfirmationMessage

          public void setCancelEditingConfirmationMessage(java.lang.String cancelEditingConfirmationMessage)

      If this is an editable listGrid, and `this.confirmCancelEditing` is true this property is used as the message to display in the confirmation dismissal prompt.
      Parameters:
        `cancelEditingConfirmationMessage` - . See `String`. 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:
        . See `String`
      See Also:
        `Editing overview and related methods`

    - #### setCanCollapseGroup

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

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

    - #### getCanCollapseGroup

          public java.lang.Boolean getCanCollapseGroup()

      Can a group be collapsed/expanded? When true a collapse/expand icon is shown (`groupIcon`) and clicking the icon or double-clicking the group title will collapse or expand the group. When false the group icon is not shown and double-clicking on the title does not change group state. Additionally `groupStartOpen` is initialized to "all".
      Returns:
        Boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setCanDragRecordsOut

          public void setCanDragRecordsOut(java.lang.Boolean canDragRecordsOut)

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

    - #### getCanDragRecordsOut

          public java.lang.Boolean getCanDragRecordsOut()

      Indicates whether records can be dragged from this listGrid and dropped elsewhere.
      Returns:
        Boolean
      See Also:
        `ListGridRecord.getCanDrag()`, `ListGridRecord.getCanAcceptDrop()`, Drag list (move) 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.
      Parameters:
        `canDragSelect` - canDragSelect Default value is false
      See Also:
        `Selection overview and related methods`, Drag list (select) Example

    - #### getCanDragSelect

          public java.lang.Boolean getCanDragSelect()

      If this property is true, users can drag the mouse to select several rows or cells. This is mutually exclusive with rearranging rows or cells by dragging.
      Returns:
        Boolean
      See Also:
        `Selection overview and related methods`, Drag list (select) Example

    - #### setCanDragSelectText

          public void setCanDragSelectText(java.lang.Boolean canDragSelectText)

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

    - #### getCanDragSelectText

          public java.lang.Boolean getCanDragSelectText()

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

    - #### setCanDropInEmptyArea

          public void setCanDropInEmptyArea(java.lang.Boolean canDropInEmptyArea)

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

    - #### getCanDropInEmptyArea

          public java.lang.Boolean getCanDropInEmptyArea()

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

    - #### setCanEdit

          public void setCanEdit(java.lang.Boolean canEdit)

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

    - #### getCanEdit

          public java.lang.Boolean getCanEdit()

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

    - #### setCanEditFieldAttribute

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

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

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

      Note : This is an advanced setting

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

    - #### getCanEditFieldAttribute

          public java.lang.String getCanEditFieldAttribute()

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

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

      Returns:
        . See `String`

    - #### 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` - canEditTitles Default value is false

    - #### getCanEditTitles

          public boolean getCanEditTitles()

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

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

      Returns:
        boolean

    - #### setCanExpandMultipleRecords

          public void setCanExpandMultipleRecords(java.lang.Boolean canExpandMultipleRecords)

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

      Note : This is an advanced setting

      Parameters:
        `canExpandMultipleRecords` - canExpandMultipleRecords Default value is true

    - #### getCanExpandMultipleRecords

          public java.lang.Boolean getCanExpandMultipleRecords()

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

    - #### setCanExpandRecordProperty

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

      Property name on a record that will be checked to determine whether a record can be expanded.
      Parameters:
        `canExpandRecordProperty` - . See `String`. 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:
        . See `String`
      See Also:
        `ListGridRecord.getCanExpand()`

    - #### setCanExpandRecords

          public void setCanExpandRecords(java.lang.Boolean canExpandRecords)

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

      If expanded records will be variable height, you should switch on `virtualScrolling`.

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

      Note : This is an advanced setting

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

    - #### getCanExpandRecords

          public java.lang.Boolean getCanExpandRecords()

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

      If expanded records will be variable height, you should switch on `virtualScrolling`.

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

      Returns:
        Boolean

    - #### setCanFreezeFields

          public void setCanFreezeFields(java.lang.Boolean canFreezeFields)

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

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

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

    - #### getCanFreezeFields

          public java.lang.Boolean getCanFreezeFields()

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

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

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

    - #### setCanGroupBy

          public void setCanGroupBy(java.lang.Boolean canGroupBy)

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

    - #### getCanGroupBy

          public java.lang.Boolean getCanGroupBy()

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

    - #### setCanHover

          public void setCanHover(java.lang.Boolean canHover)

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

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

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

    - #### getCanHover

          public java.lang.Boolean getCanHover()

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

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

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

    - #### setCanMultiGroup

          public void setCanMultiGroup(boolean canMultiGroup)

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

    - #### getCanMultiGroup

          public boolean getCanMultiGroup()

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

    - #### setCanMultiSort

          public void setCanMultiSort(java.lang.Boolean canMultiSort)

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

    - #### getCanMultiSort

          public java.lang.Boolean getCanMultiSort()

      When true, indicates that this ListGrid supports sorting on multiple fields. Note that even when set to true, multi-field sorting may not be available if the grid is databound and the `DataSource` doesn't support it, or if sorting for a field is `client-only` but not all data is available.
      Returns:
        Boolean

    - #### setCanPickFields

          public void setCanPickFields(java.lang.Boolean canPickFields)

      Indicates whether the field picker item and submenu should be present in the header context menu. This menu allows the user to hide visible fields and show hidden fields. By default only fields explicitly included in the `fields` array will be available in this menu, unless `canPickOmittedFields` is set to true for a databound grid.
      Parameters:
        `canPickFields` - canPickFields Default value is true

    - #### getCanPickFields

          public java.lang.Boolean getCanPickFields()

      Indicates whether the field picker item and submenu should be present in the header context menu. This menu allows the user to hide visible fields and show hidden fields. By default only fields explicitly included in the `fields` array will be available in this menu, unless `canPickOmittedFields` is set to true for a databound grid.
      Returns:
        Boolean

    - #### setCanPickOmittedFields

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

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

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

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

    - #### getCanPickOmittedFields

          public java.lang.Boolean getCanPickOmittedFields()

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

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

      Returns:
        Boolean

    - #### setCanRemoveRecords

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

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

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

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

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

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

    - #### getCanRemoveRecords

          public java.lang.Boolean getCanRemoveRecords()

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

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

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

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

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

    - #### setCanReorderFields

          public void setCanReorderFields(java.lang.Boolean canReorderFields)

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

    - #### getCanReorderFields

          public java.lang.Boolean getCanReorderFields()

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

    - #### setCanReorderRecords

          public void setCanReorderRecords(java.lang.Boolean canReorderRecords)

      Indicates whether records can be reordered by dragging within this listGrid.
      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.
      Returns:
        Boolean
      See Also:
        `ListGridRecord.getCanDrag()`, `ListGridRecord.getCanAcceptDrop()`, Drag list (move) Example, Drag reorder Example

    - #### setCanResizeFields

          public void setCanResizeFields(java.lang.Boolean canResizeFields)

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

    - #### getCanResizeFields

          public java.lang.Boolean getCanResizeFields()

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

    - #### setCanSelectAll

          public void setCanSelectAll(java.lang.Boolean canSelectAll)

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

    - #### getCanSelectAll

          public java.lang.Boolean getCanSelectAll()

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

    - #### setCanSelectCells

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

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

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

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

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

      The following keyboard selection behaviors are enabled with this property:

      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.

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

    - #### getCanSelectCells

          public java.lang.Boolean getCanSelectCells()

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

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

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

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

      The following keyboard selection behaviors are enabled with this property:

      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.

      Returns:
        Boolean

    - #### 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` - canSort Default value is true

    - #### getCanSort

          public java.lang.Boolean getCanSort()

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

    - #### setCanTabToHeader

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

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

    - #### getCanTabToHeader

          public java.lang.Boolean getCanTabToHeader()

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

    - #### setCellHeight

          public void setCellHeight(int cellHeight)

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

    - #### getCellHeight

          public int getCellHeight()

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

    - #### setCellPadding

          public void setCellPadding(int cellPadding)

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

    - #### getCellPadding

          public int getCellPadding()

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

    - #### setChartConstructor

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

      Name of the Smart GWT Class to be used when creating charts. Must support the Chart interface.
      Parameters:
        `chartConstructor` - . See `Classname`. 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:
        . See `Classname`

    - #### setChartType

          public void setChartType(ChartType chartType)

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

    - #### getChartType

          public ChartType getChartType()

      Default type of chart to plot.
      Returns:
        ChartType

    - #### setCheckboxFieldFalseImage

          public void setCheckboxFieldFalseImage(java.lang.String checkboxFieldFalseImage)

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

      Note : This is an advanced setting

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

    - #### getCheckboxFieldFalseImage

          public java.lang.String getCheckboxFieldFalseImage()

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

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

    - #### getCheckboxFieldImageHeight

          public java.lang.Integer getCheckboxFieldImageHeight()

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

    - #### setCheckboxFieldImageWidth

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

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

    - #### getCheckboxFieldImageWidth

          public java.lang.Integer getCheckboxFieldImageWidth()

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

    - #### setCheckboxFieldPartialImage

          public void setCheckboxFieldPartialImage(java.lang.String checkboxFieldPartialImage)

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

      Note : This is an advanced setting

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

    - #### getCheckboxFieldPartialImage

          public java.lang.String getCheckboxFieldPartialImage()

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

    - #### setCheckboxFieldTrueImage

          public void setCheckboxFieldTrueImage(java.lang.String checkboxFieldTrueImage)

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

      Note : This is an advanced setting

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

    - #### getCheckboxFieldTrueImage

          public java.lang.String getCheckboxFieldTrueImage()

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

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

    - #### getChildExpansionMode

          public ExpansionMode getChildExpansionMode()

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

      Default value `null` means no further expansion.

      Returns:
        ExpansionMode

    - #### setClearAllSortingText

          public void setClearAllSortingText(java.lang.String clearAllSortingText)

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear any existing sort on all fields. This menu-item is displayed only in the context menu for the sorter button.
      Parameters:
        `clearAllSortingText` - . See `String`. 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:
        . See `String`

    - #### setClearFilterText

          public void setClearFilterText(java.lang.String clearFilterText)

      If we're showing a `headerContextMenu` for this grid, and a `filter-editor` is visible, this attribute will be shown as the menu item title to clear any existing filter. This menu-item is displayed only in the context menu for the sorter button.
      Parameters:
        `clearFilterText` - . See `String`. 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:
        . See `String`

    - #### setClearSortFieldText

          public void setClearSortFieldText(java.lang.String clearSortFieldText)

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to clear an existing sort on this field.
      Parameters:
        `clearSortFieldText` - . See `String`. 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:
        . See `String`

    - #### setClipHeaderTitles

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

      Whether the ListGrid should manage the clipping of titles of header buttons.

      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 : This is an advanced setting

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

    - #### getClipHeaderTitles

          public java.lang.Boolean getClipHeaderTitles()

      Whether the ListGrid should manage the clipping of titles of header buttons.

      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.

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

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setConfigureSortText

          public void setConfigureSortText(java.lang.String configureSortText)

      If we're showing a `headerContextMenu` for this grid, and multi-sorting is enabled, this attribute is used as the title for a menu item that opens a MultiSortDialog to configure the sort-specification for this grid. This menu-item is displayed only in the context menu for the sorter button.
      Parameters:
        `configureSortText` - . See `String`. 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:
        . See `String`

    - #### setConfirmCancelEditing

          public void setConfirmCancelEditing(java.lang.Boolean confirmCancelEditing)

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

    - #### getConfirmCancelEditing

          public java.lang.Boolean getConfirmCancelEditing()

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

    - #### setConfirmDiscardEdits

          public void setConfirmDiscardEdits(java.lang.Boolean confirmDiscardEdits)

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

    - #### getConfirmDiscardEdits

          public java.lang.Boolean getConfirmDiscardEdits()

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

    - #### setConfirmDiscardEditsMessage

          public void setConfirmDiscardEditsMessage(java.lang.String confirmDiscardEditsMessage)

      If `this.confirmDiscardEdits` is true, this property can be used to customize the error message string displayed to the user in a dialog with options to cancel the action, or save or discard pending edits in response to sort/filter actions that would otherwise drop unsaved edit values.
      Parameters:
        `confirmDiscardEditsMessage` - . See `String`. 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:
        . See `String`
      See Also:
        `Editing 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 `ListGrid.fetchData`. If a pre-existing ResultSet is passed to setData() instead, it's existing setting for `fetchMode` applies.

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

    - #### getDataFetchMode

          public FetchMode getDataFetchMode()

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

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

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

    - #### setDateFormatter

          public void setDateFormatter(DateDisplayFormat dateFormatter)

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

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

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

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

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

      Parameters:
        `dateFormatter` - dateFormatter Default value is null

    - #### getDateFormatter

          public DateDisplayFormat getDateFormatter()

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

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

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

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

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

      Returns:
        DateDisplayFormat

    - #### setDatetimeFormatter

          public void setDatetimeFormatter(DateDisplayFormat datetimeFormatter)

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

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

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

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

    - #### getDatetimeFormatter

          public DateDisplayFormat getDatetimeFormatter()

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

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

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

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

    - #### setDeferRemoval

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

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

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

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

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

    - #### getDeferRemoval

          public java.lang.Boolean getDeferRemoval()

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

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

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

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

    - #### setDetailDS

          public void setDetailDS(java.lang.String detailDS)

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

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

      Note : This is an advanced setting

      Parameters:
        `detailDS` - . See `String`. 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:
        . See `String`

    - #### setDetailField

          public void setDetailField(java.lang.String detailField)

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

      Note : This is an advanced setting

      Parameters:
        `detailField` - . See `String`. 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:
        . See `String`

    - #### 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` - . See `String`. 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:
        . See `String`
      See Also:
        `Editing overview and related methods`

    - #### setDragTrackerMode

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

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

      Note : This is an advanced setting

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

    - #### getDragTrackerMode

          public DragTrackerMode getDragTrackerMode()

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

    - #### setDrawAheadRatio

          public void setDrawAheadRatio(float drawAheadRatio)

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

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

      NOTE: Only applies when showAllRows is false.

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

    - #### getDrawAheadRatio

          public float getDrawAheadRatio()

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

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

      NOTE: Only applies when showAllRows is false.

      Returns:
        float
      See Also:
        Databound fetch Example

    - #### setDrawAllMaxCells

          public void setDrawAllMaxCells(int drawAllMaxCells)

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

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

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

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

      Note : This is an advanced setting

      Parameters:
        `drawAllMaxCells` - drawAllMaxCells Default value is 250

    - #### getDrawAllMaxCells

          public int getDrawAllMaxCells()

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

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

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

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

    - #### 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` - editByCell Default value is null
      See Also:
        `setCanEdit(java.lang.Boolean)`, `Editing overview and related methods`, Edit by cell Example

    - #### getEditByCell

          public java.lang.Boolean getEditByCell()

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

      No effect if this.canEdit is false or null.

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

    - #### setEditEvent

          public void setEditEvent(ListGridEditEvent editEvent)

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

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

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

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

    - #### getEditEvent

          public ListGridEditEvent getEditEvent()

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

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

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

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

    - #### setEditFailedBaseStyle

          public void setEditFailedBaseStyle(java.lang.String editFailedBaseStyle)

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

      Note : This is an advanced setting

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

    - #### getEditFailedBaseStyle

          public java.lang.String getEditFailedBaseStyle()

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

    - #### setEditFailedCSSText

          public void setEditFailedCSSText(java.lang.String editFailedCSSText)

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

      Note : This is an advanced setting

      Parameters:
        `editFailedCSSText` - . See `String`. 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:
        . See `String`
      See Also:
        `getEditFailedBaseStyle()`, `Appearance overview and related methods`

    - #### setEditOnF2Keypress

          public void setEditOnF2Keypress(java.lang.Boolean editOnF2Keypress)

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

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

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

      Note : This is an advanced setting

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

    - #### getEditOnF2Keypress

          public java.lang.Boolean getEditOnF2Keypress()

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

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

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

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

    - #### setEditOnFocus

          public void setEditOnFocus(java.lang.Boolean editOnFocus)

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

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

      Note : This is an advanced setting

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

    - #### getEditOnFocus

          public java.lang.Boolean getEditOnFocus()

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

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

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

    - #### setEditPendingBaseStyle

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

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

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

      Note : This is an advanced setting

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

    - #### getEditPendingBaseStyle

          public java.lang.String getEditPendingBaseStyle()

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

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

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

    - #### setEditPendingCSSText

          public void setEditPendingCSSText(java.lang.String editPendingCSSText)

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

      Note : This is an advanced setting

      Parameters:
        `editPendingCSSText` - . See `String`. 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:
        . See `String`
      See Also:
        `getEditFailedBaseStyle()`, `Appearance overview and related methods`

    - #### setEmptyCellValue

          public void setEmptyCellValue(java.lang.String emptyCellValue)

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

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

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

    - #### getEmptyCellValue

          public java.lang.String getEmptyCellValue()

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

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

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

    - #### setEmptyMessage

          public void setEmptyMessage(java.lang.String emptyMessage)

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

    - #### getEmptyMessage

          public java.lang.String getEmptyMessage()

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

    - #### setEmptyMessageStyle

          public void setEmptyMessageStyle(java.lang.String emptyMessageStyle)

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

    - #### getEmptyMessageStyle

          public java.lang.String getEmptyMessageStyle()

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

    - #### setEnforceVClipping

          public void setEnforceVClipping(java.lang.Boolean enforceVClipping)

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

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

      Parameters:
        `enforceVClipping` - enforceVClipping Default value is false

    - #### getEnforceVClipping

          public java.lang.Boolean getEnforceVClipping()

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

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

      Returns:
        Boolean

    - #### setEnterKeyEditAction

          public void setEnterKeyEditAction(EnterKeyEditAction enterKeyEditAction)

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

    - #### getEnterKeyEditAction

          public EnterKeyEditAction getEnterKeyEditAction()

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

    - #### setEnumCriteriaAsInitialValues

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

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

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

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

    - #### getEnumCriteriaAsInitialValues

          public java.lang.Boolean getEnumCriteriaAsInitialValues()

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

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

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

    - #### 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` - escapeKeyEditAction Default value is "cancel"
      See Also:
        `Editing overview and related methods`

    - #### getEscapeKeyEditAction

          public EscapeKeyEditAction getEscapeKeyEditAction()

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

    - #### setExpansionCanEdit

          public void setExpansionCanEdit(java.lang.Boolean expansionCanEdit)

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

      The default value for this property is `false`.

      Note : This is an advanced setting

      Parameters:
        `expansionCanEdit` - expansionCanEdit Default value is null

    - #### getExpansionCanEdit

          public java.lang.Boolean getExpansionCanEdit()

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

      The default value for this property is `false`.

      Returns:
        Boolean

    - #### 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 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 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 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 `expansionEditorShowSaveButton`, a save button is shown beneath the editor. You can save the values in the editor by clicking this button

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

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

      Returns:
        null

    - #### getExpansionEditorCollapseOnSave

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

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

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

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

    - #### getExpansionEditorSaveButton

          public IButton getExpansionEditorSaveButton()

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

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

      This component is an 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:
        . See `String`
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setExpansionEditorSaveDialogPrompt

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

      When `canExpandRecords` is true and `expansionMode` is editor, the prompt to display in a dialog when an expanded row is collapsed while it's nested editor has changed values.
      Parameters:
        `expansionEditorSaveDialogPrompt` - . See `String`. 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:
        . See `String`

    - #### setExpansionEditorShowSaveDialog

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

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

    - #### getExpansionEditorShowSaveDialog

          public java.lang.Boolean getExpansionEditorShowSaveDialog()

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

    - #### getExpansionField

          public ListGridField getExpansionField()
                                          throws java.lang.IllegalStateException

      The field providing the facility to expand and collapse rows.

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

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

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

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

    - #### setExpansionFieldFalseImage

          public void setExpansionFieldFalseImage(java.lang.String expansionFieldFalseImage)

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

      Note : This is an advanced setting

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

    - #### getExpansionFieldFalseImage

          public java.lang.String getExpansionFieldFalseImage()

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

    - #### setExpansionFieldImageHeight

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

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

    - #### getExpansionFieldImageHeight

          public java.lang.Integer getExpansionFieldImageHeight()

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

    - #### setExpansionFieldImageWidth

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

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

    - #### getExpansionFieldImageWidth

          public java.lang.Integer getExpansionFieldImageWidth()

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

    - #### setExpansionFieldTrueImage

          public void setExpansionFieldTrueImage(java.lang.String expansionFieldTrueImage)

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

      Note : This is an advanced setting

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

    - #### getExpansionFieldTrueImage

          public java.lang.String getExpansionFieldTrueImage()

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

    - #### getExpansionLayout

          public VLayout getExpansionLayout()

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

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

      This component is an 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` - expansionMode Default value is null

    - #### getExpansionMode

          public ExpansionMode getExpansionMode()

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

    - #### getExpansionRelated

          public ListGrid getExpansionRelated()

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

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

      This component is an 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

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

    - #### getExportRawValues

          public java.lang.Boolean getExportRawValues()

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

    - #### setFastCellUpdates

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

      Note: This property only has an effect in Internet Explorer

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

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

      Notes:

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

    - #### setFetchDelay

          public void setFetchDelay(int fetchDelay)

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

      Note : This is an advanced setting

      Parameters:
        `fetchDelay` - fetchDelay Default value is 300

    - #### getFetchDelay

          public int getFetchDelay()

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

    - #### setFieldPickerFieldProperties

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

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

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

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

    - #### getFieldPickerFieldProperties

          public java.lang.String[] getFieldPickerFieldProperties()

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

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

      Returns:
        . See `String`

    - #### setFieldPickerShowSampleValues

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

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

    - #### getFieldPickerShowSampleValues

          public java.lang.Boolean getFieldPickerShowSampleValues()

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

    - #### getFieldPickerWindow

          public FieldPickerWindow getFieldPickerWindow()
                                                 throws java.lang.IllegalStateException

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

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

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

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setFilterButtonPrompt

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

      The prompt to show when the mouse hovers over the Filter button in the FilterEditor.
      Parameters:
        `filterButtonPrompt` - . See `String`. 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:
        . See `String`

    - #### setFilterButtonProperties

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

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

    - #### getFilterButtonProperties

          public Button getFilterButtonProperties()

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

    - #### setFilterByCell

          public void setFilterByCell(java.lang.Boolean filterByCell)

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

      Note : This is an advanced setting

      Parameters:
        `filterByCell` - filterByCell Default value is null

    - #### getFilterByCell

          public java.lang.Boolean getFilterByCell()

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

    - #### getFilterEditor

          public ListGrid getFilterEditor()
                                   throws java.lang.IllegalStateException

      If `showFilterEditor` is set to true, the `filterEditor` is automatically created as an AutoChild. It's implemented as a specialized ListGrid in edit mode.

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

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

    - #### setFilterEditorHeight

          public void setFilterEditorHeight(int filterEditorHeight)

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

    - #### getFilterEditorHeight

          public int getFilterEditorHeight()

      Height for the filterEditor, if shown.
      Returns:
        int

    - #### setFilterLocalData

          public void setFilterLocalData(java.lang.Boolean filterLocalData)

      If this grid has its `data property` set to a static array of records, should `ListGrid.filterData` filter this array? If this property is set to true, the local data array will be filtered according to the specified criteria, and the results displayed. If false, a normal databound fetch will occur, retriving records that match the specified criteria from this component's `dataSource`.

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

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

      Parameters:
        `filterLocalData` - filterLocalData Default value is null

    - #### getFilterLocalData

          public java.lang.Boolean getFilterLocalData()

      If this grid has its `data property` set to a static array of records, should `ListGrid.filterData` filter this array? If this property is set to true, the local data array will be filtered according to the specified criteria, and the results displayed. If false, a normal databound fetch will occur, retriving records that match the specified criteria from this component's `dataSource`.

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

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

      Returns:
        Boolean

    - #### setFilterOnKeypress

          public void setFilterOnKeypress(java.lang.Boolean filterOnKeypress)

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

      Note : This is an advanced setting

      Parameters:
        `filterOnKeypress` - filterOnKeypress Default value is null

    - #### getFilterOnKeypress

          public java.lang.Boolean getFilterOnKeypress()

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

    - #### setFixedFieldWidths

          public void setFixedFieldWidths(java.lang.Boolean fixedFieldWidths)

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

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

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

      Note : This is an advanced setting

      Parameters:
        `fixedFieldWidths` - fixedFieldWidths Default value is true

    - #### getFixedFieldWidths

          public java.lang.Boolean getFixedFieldWidths()

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

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

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

      Returns:
        Boolean

    - #### setFixedRecordHeights

          public void setFixedRecordHeights(java.lang.Boolean fixedRecordHeights)

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

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

      NOTE:

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

      Note : This is an advanced setting

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

    - #### getFixedRecordHeights

          public java.lang.Boolean getFixedRecordHeights()

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

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

      NOTE:

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

    - #### setFormulaBuilderSpanTitleSeparator

          public void setFormulaBuilderSpanTitleSeparator(java.lang.String formulaBuilderSpanTitleSeparator)

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInFormulaBuilder` is true, this string will be inserted between the headerSpan title(s) and the field title in the field chooser grid in the FormulaBuilder and SummaryBuilder.
      Parameters:
        `formulaBuilderSpanTitleSeparator` - . See `String`. 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:
        . See `String`

    - #### setFreezeFieldText

          public void setFreezeFieldText(java.lang.String freezeFieldText)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Freeze " + the field's summary title.

      Note : This is an advanced setting

      Parameters:
        `freezeFieldText` - . See `String`. Default value is "Freeze \${title}"

    - #### getFreezeFieldText

          public java.lang.String getFreezeFieldText()

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze a currently unfrozen field.

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Freeze " + the field's summary title.

      Returns:
        . See `String`

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setFreezeOnRightText

          public void setFreezeOnRightText(java.lang.String freezeOnRightText)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to freeze fields on the right of the scrollable body.
      Parameters:
        `freezeOnRightText` - . See `String`. 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:
        . See `String`

    - #### setFrozenBaseStyle

          public void setFrozenBaseStyle(java.lang.String frozenBaseStyle)

      If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields. If unset, the standard base style will be used for both frozen and unfrozen cells.
      Parameters:
        `frozenBaseStyle` - . See `String`. Default value is null
      See Also:
        `setBaseStyle(java.lang.String)`, `ListGridField.setFrozen(java.lang.Boolean)`, `Appearance overview and related methods`

    - #### getFrozenBaseStyle

          public java.lang.String getFrozenBaseStyle()

      If this listGrid contains any frozen fields, this property can be used to apply a custom baseStyle to all cells in those frozen fields. If unset, the standard base style will be used for both frozen and unfrozen cells.
      Returns:
        . See `String`
      See Also:
        `getBaseStyle()`, `ListGridField.getFrozen()`, `Appearance overview and related methods`

    - #### setFrozenHeaderBaseStyle

          public void setFrozenHeaderBaseStyle(java.lang.String frozenHeaderBaseStyle)
                                        throws java.lang.IllegalStateException

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields. If unset, the standard headerBaseStyle will be used for both frozen and unfrozen cells.
      Parameters:
        `frozenHeaderBaseStyle` - . See `CSSStyleName`. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setHeaderBaseStyle(java.lang.String)`, `ListGridField.setFrozen(java.lang.Boolean)`, `GridHeader overview and related methods`

    - #### getFrozenHeaderBaseStyle

          public java.lang.String getFrozenHeaderBaseStyle()

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerBaseStyle to the frozen set of fields. If unset, the standard headerBaseStyle will be used for both frozen and unfrozen cells.
      Returns:
        . See `CSSStyleName`
      See Also:
        `getHeaderBaseStyle()`, `ListGridField.getFrozen()`, `GridHeader overview and related methods`

    - #### setFrozenHeaderTitleStyle

          public void setFrozenHeaderTitleStyle(java.lang.String frozenHeaderTitleStyle)
                                         throws java.lang.IllegalStateException

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields. If unset, the standard headerTitleStyle will be used for both frozen and unfrozen cells.
      Parameters:
        `frozenHeaderTitleStyle` - . See `CSSStyleName`. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setHeaderTitleStyle(java.lang.String)`, `ListGridField.setFrozen(java.lang.Boolean)`, `GridHeader overview and related methods`

    - #### getFrozenHeaderTitleStyle

          public java.lang.String getFrozenHeaderTitleStyle()

      If this listGrid contains any frozen fields, this property can be used to apply a custom headerTitleStyle to the frozen set of fields. If unset, the standard headerTitleStyle will be used for both frozen and unfrozen cells.
      Returns:
        . See `CSSStyleName`
      See Also:
        `getHeaderTitleStyle()`, `ListGridField.getFrozen()`, `GridHeader overview and related methods`

    - #### setGenerateClickOnEnter

          public void setGenerateClickOnEnter(java.lang.Boolean generateClickOnEnter)

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.

      Note : This is an advanced setting

      Parameters:
        `generateClickOnEnter` - generateClickOnEnter Default value is false

    - #### getGenerateClickOnEnter

          public java.lang.Boolean getGenerateClickOnEnter()

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a click event.
      Returns:
        Boolean

    - #### setGenerateClickOnSpace

          public void setGenerateClickOnSpace(java.lang.Boolean generateClickOnSpace)

      If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.

      Note : This is an advanced setting

      Parameters:
        `generateClickOnSpace` - generateClickOnSpace Default value is true

    - #### getGenerateClickOnSpace

          public java.lang.Boolean getGenerateClickOnSpace()

      If true, when the user navigates to a cell using arrow keys and hits space, the cell will respond to a click event.
      Returns:
        Boolean

    - #### setGenerateDoubleClickOnEnter

          public void setGenerateDoubleClickOnEnter(java.lang.Boolean generateDoubleClickOnEnter)

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.

      Note : This is an advanced setting

      Parameters:
        `generateDoubleClickOnEnter` - generateDoubleClickOnEnter Default value is true

    - #### getGenerateDoubleClickOnEnter

          public java.lang.Boolean getGenerateDoubleClickOnEnter()

      If true, when the user navigates to a cell using arrow keys and hits Enter, the cell will respond to a double click event.
      Returns:
        Boolean

    - #### setGenerateDoubleClickOnSpace

          public void setGenerateDoubleClickOnSpace(java.lang.Boolean generateDoubleClickOnSpace)

      If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.

      Note : This is an advanced setting

      Parameters:
        `generateDoubleClickOnSpace` - generateDoubleClickOnSpace Default value is false

    - #### getGenerateDoubleClickOnSpace

          public java.lang.Boolean getGenerateDoubleClickOnSpace()

      If true, when the user navigates to a cell using arrow keys and hits Space, the cell will respond to a double click event.
      Returns:
        Boolean

    - #### setGridComponents

          public void setGridComponents(ListGridComponent... gridComponents)
                                 throws java.lang.IllegalStateException

      Array of components that make up this grid. This array controls which standard and/or custom parts will be displayed within this ListGrid.

      ListGrid is a subclass of `VLayout` and consists of a number of member components. The standard set of members are automatically generated by the grid, and include (for example) the header (a Toolbar of buttons for each field) and the body (a GridRenderer displaying the actual data contained in the grid).
      The default value of `gridComponents` is an Array of `ListGridComponent`s listing the standard components in their default order:

               [ListGridComponent.FILTER_EDITOR, ListGridComponent.HEADER, ListGridComponent.BODY,
                ListGridComponent.SUMMARY_ROW]

      You can override `gridComponents` to change the order of standard components. You can also omit standard components this way, although it more efficient to use the related "show" property if available (eg `showFilterEditor`). Note that this array must contain an entry for the `"body"` - listGrids with no body showing are unsupported.
      Advanced note: The live components generated for each of these standard `ListGridComponent` types may differ across different listGrids. For example if this grid has any `frozen fields`, the "body" entry will actually be created as an HLayout containing two GridRenderers (one for frozen fields, and one for unfrozen fields). This is really an implementation detail - the "body" entry in the gridComponents array simply specifies where the UI for the body should render within the ListGrid layout.

      By embedding a Canvas directly in this list you can add arbitrary additional components to the listGrid as members, and have them be displayed alongside the standard automatically generated parts of the ListGrid.

      Note that having added controls to gridComponents, you can still call APIs directly on those controls to change their appearance, and you can also show() and hide() them if they should not be shown in some circumstances.

      Tip: custom controls need to set layoutAlign:"center" to appear vertically centered.

      Parameters:
        `gridComponents` - gridComponents Default value is (see below)
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getGridComponents

          public ListGridComponent[] getGridComponents()

      Array of components that make up this grid. This array controls which standard and/or custom parts will be displayed within this ListGrid.

      ListGrid is a subclass of `VLayout` and consists of a number of member components. The standard set of members are automatically generated by the grid, and include (for example) the header (a Toolbar of buttons for each field) and the body (a GridRenderer displaying the actual data contained in the grid).
      The default value of `gridComponents` is an Array of `ListGridComponent`s listing the standard components in their default order:

               [ListGridComponent.FILTER_EDITOR, ListGridComponent.HEADER, ListGridComponent.BODY,
                ListGridComponent.SUMMARY_ROW]

      You can override `gridComponents` to change the order of standard components. You can also omit standard components this way, although it more efficient to use the related "show" property if available (eg `showFilterEditor`). Note that this array must contain an entry for the `"body"` - listGrids with no body showing are unsupported.
      Advanced note: The live components generated for each of these standard `ListGridComponent` types may differ across different listGrids. For example if this grid has any `frozen fields`, the "body" entry will actually be created as an HLayout containing two GridRenderers (one for frozen fields, and one for unfrozen fields). This is really an implementation detail - the "body" entry in the gridComponents array simply specifies where the UI for the body should render within the ListGrid layout.

      By embedding a Canvas directly in this list you can add arbitrary additional components to the listGrid as members, and have them be displayed alongside the standard automatically generated parts of the ListGrid.

      Note that having added controls to gridComponents, you can still call APIs directly on those controls to change their appearance, and you can also show() and hide() them if they should not be shown in some circumstances.

      Tip: custom controls need to set layoutAlign:"center" to appear vertically centered.

      Returns:
        ListGridComponent

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setGroupByAsyncThreshold

          public void setGroupByAsyncThreshold(int groupByAsyncThreshold)

      When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.

      Note that `groupByMaxRecords` must be set at least as high as `groupByAsyncThreshold` or asynchronous grouping will never be used.

      During asynch grouping, interactivity is blocked and the `asynchGroupingPrompt` is shown to the user, then hidden when grouping completes.

      Note that this async processing covers grouping only - it does not cover whole grid or per-group summaries, client-side sort or filter, or other operations that may cause the browser to show the "script is running slowly" prompt when working with very large sets of records in a grid.

      At this time, there is no generally effective way to avoid this warning dialog appearing with very large datasets in Microsoft's Internet Explorer (IE). IE's severely flawed detection algorithm for runaway scripts has been shown to interrupt computations after only 0.2 seconds elapsed time even if the computation would have finished in 0.3 seconds. Optimizations that reduce execution time can sometimes trigger the "script running slowly" dialog sooner. Since not every operation can reasonably be made asychronous, the current recommendation is to avoid working with overly large datasets until the affected versions of IE are obsoleted.

      Parameters:
        `groupByAsyncThreshold` - groupByAsyncThreshold Default value is 50

    - #### getGroupByAsyncThreshold

          public int getGroupByAsyncThreshold()

      When grouping is requested with this number of records or more, an asynchronous approach is used to avoid the browser showing a "script is running slowly.." message prompting the user to stop execution of JavaScript.

      Note that `groupByMaxRecords` must be set at least as high as `groupByAsyncThreshold` or asynchronous grouping will never be used.

      During asynch grouping, interactivity is blocked and the `asynchGroupingPrompt` is shown to the user, then hidden when grouping completes.

      Note that this async processing covers grouping only - it does not cover whole grid or per-group summaries, client-side sort or filter, or other operations that may cause the browser to show the "script is running slowly" prompt when working with very large sets of records in a grid.

      At this time, there is no generally effective way to avoid this warning dialog appearing with very large datasets in Microsoft's Internet Explorer (IE). IE's severely flawed detection algorithm for runaway scripts has been shown to interrupt computations after only 0.2 seconds elapsed time even if the computation would have finished in 0.3 seconds. Optimizations that reduce execution time can sometimes trigger the "script running slowly" dialog sooner. Since not every operation can reasonably be made asychronous, the current recommendation is to avoid working with overly large datasets until the affected versions of IE are obsoleted.

      Returns:
        int

    - #### 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. See `String`. 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:
        . See `String`
      See Also:
        `getShowGroupSummary()`

    - #### setGroupByMaxRecords

          public void setGroupByMaxRecords(int groupByMaxRecords)

      Maximum number of records to which a groupBy can be applied. If there are more records, grouping will not be available via the default header context menu, and calls to `ListGrid.groupBy` will be ignored.

      The maximum exists because ListGrid grouping is performed in-browser, hence requires loading of all records that match the current filter criteria before records can be grouped. The default maximum represents a number of records which are safe to load in legacy browsers such as Internet Explorer 8 (modern browsers can handle far more), and is also a good upper limit from the perspective of loading data from a database.

      Going beyond this limit can cause "script running slowly" errors from legacy browsers (as well as high database load). To build an interface for grouping that handles arbitrary data volume, use a TreeGrid with `loadDataOnDemand` with server-side grouping code.

      Parameters:
        `groupByMaxRecords` - groupByMaxRecords Default value is 1000
      See Also:
        `groupBy(java.lang.String...)`

    - #### getGroupByMaxRecords

          public int getGroupByMaxRecords()

      Maximum number of records to which a groupBy can be applied. If there are more records, grouping will not be available via the default header context menu, and calls to `ListGrid.groupBy` will be ignored.

      The maximum exists because ListGrid grouping is performed in-browser, hence requires loading of all records that match the current filter criteria before records can be grouped. The default maximum represents a number of records which are safe to load in legacy browsers such as Internet Explorer 8 (modern browsers can handle far more), and is also a good upper limit from the perspective of loading data from a database.

      Going beyond this limit can cause "script running slowly" errors from legacy browsers (as well as high database load). To build an interface for grouping that handles arbitrary data volume, use a TreeGrid with `loadDataOnDemand` with server-side grouping code.

      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`

    - #### setGroupByText

          public void setGroupByText(java.lang.String groupByText)

      If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Group by " + the field's summary title.

      Note : This is an advanced setting

      Parameters:
        `groupByText` - . See `String`. Default value is "Group by \${title}"

    - #### getGroupByText

          public java.lang.String getGroupByText()

      If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Group by " + the field's summary title.

      Returns:
        If we're showing a `headerContextMenu` for this grid and `this.canGroupBy` is true, this string will be shown as the title for the menu item to toggle the group by setting for a field.
        Default implementation evaluates and returns the dynamic `groupByText` string.. See `String`

    - #### setGroupIcon

          public void setGroupIcon(java.lang.String groupIcon)

      The URL of the base icon for the group icons in this treegrid.
      Parameters:
        `groupIcon` - . See `SCImgURL`. Default value is "[SKINIMG]/TreeGrid/opener.gif"

    - #### getGroupIcon

          public java.lang.String getGroupIcon()

      The URL of the base icon for the group icons in this treegrid.
      Returns:
        . See `SCImgURL`

    - #### setGroupIconSize

          public void setGroupIconSize(int groupIconSize)

      Default width and height of group icons for this ListGrid.
      Parameters:
        `groupIconSize` - groupIconSize Default value is 16
      See Also:
        `groupBy(java.lang.String...)`

    - #### getGroupIconSize

          public int getGroupIconSize()

      Default width and height of group icons for this ListGrid.
      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`

    - #### setGroupIndentSize

          public void setGroupIndentSize(int groupIndentSize)

      Default number of pixels by which to indent subgroups relative to parent group.
      Parameters:
        `groupIndentSize` - groupIndentSize Default value is 20
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### getGroupIndentSize

          public int getGroupIndentSize()

      Default number of pixels by which to indent subgroups relative to parent group.
      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### setGroupLeadingIndent

          public void setGroupLeadingIndent(int groupLeadingIndent)

      Default number of pixels by which to indent all groups.
      Parameters:
        `groupLeadingIndent` - groupLeadingIndent Default value is 10
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### getGroupLeadingIndent

          public int getGroupLeadingIndent()

      Default number of pixels by which to indent all groups.
      Returns:
        int
      See Also:
        `groupBy(java.lang.String...)`, `com.smartgwt.client.widgets.grid.ListGrid#getGroupNodeHTML`

    - #### setGroupNodeBaseStyle

          public void setGroupNodeBaseStyle(java.lang.String groupNodeBaseStyle)

      `Base style` for `group` rows.

      Note that this property has no effect if `groupNodeStyle` is non null.

      Parameters:
        `groupNodeBaseStyle` - . See `String`. 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:
        . See `String`

    - #### setGroupNodeStyle

          public void setGroupNodeStyle(java.lang.String groupNodeStyle)

      The CSS style that `group` rows will have.

      Note that this is not a `base style`, so, if this property is set, group nodes will not show stateful styling (different styles for `showRollOver`, `alternateRecordStyles`, etc). To enable stateful styling for groupNodes, set this property to `null` and specify a `groupNodeBaseStyle`

      Parameters:
        `groupNodeStyle` - . See `String`. 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:
        . See `String`

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setGroupSummaryStyle

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

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

    - #### getGroupSummaryStyle

          public java.lang.String getGroupSummaryStyle()

      `customStyle` for the group-level summary row displayed when `showGroupSummary` is true.
      Returns:
        . See `CSSStyleName`

    - #### setGroupTitleColumnProperties

          public void setGroupTitleColumnProperties(ListGridField groupTitleColumnProperties)
                                             throws java.lang.IllegalStateException

      Custom properties for the automatically generated `groupTitleColumn`.

      See `showGroupTitleColumn` for an overview of the groupTitleColumn.

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

    - #### getGroupTitleColumnProperties

          public ListGridField getGroupTitleColumnProperties()

      Custom properties for the automatically generated `groupTitleColumn`.

      See `showGroupTitleColumn` for an overview of the groupTitleColumn.

      Returns:
        ListGridField

    - #### setGroupTitleField

          public void setGroupTitleField(java.lang.String groupTitleField)
                                  throws java.lang.IllegalStateException

      When a list grid is `grouped`, each group shows under an auto generated header node. By default the title of the group will be shown, with a hanging indent in this node, and will span all columns in the grid. Setting this property causes the titles of auto-generated group nodes to appear as though they were values of the designated field instead of spanning all columns and record values in the designated groupTitleField will appear indented under the group title in a manner similar to how a TreeGrid shows a Tree.

      Note if `showGroupSummaryInHeader` is true, the header nodes will not show a single spanning title value by default - instead they will show the summary values for each field. In this case, if groupTitleField is unset, a `groupTitleColumn` can be automatically generated to show the title for each group.

      Parameters:
        `groupTitleField` - . See `String`. 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:
        . See `String`
      See Also:
        `groupBy(java.lang.String...)`

    - #### getHeader

          public Layout getHeader()
                           throws java.lang.IllegalStateException

      A Toolbar used to manager the headers shown for each column of the grid.

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

      Returns:
        Layout
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderAutoFitEvent

          public void setHeaderAutoFitEvent(AutoFitEvent headerAutoFitEvent)
                                     throws java.lang.IllegalStateException

      Event on a ListGrid header that triggers auto fitting to data and/or title.

      Note that if sorting is enabled for the field and the headerAutoFitEvent is "click", both sorting and autofit occur on a click.

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

    - #### getHeaderAutoFitEvent

          public AutoFitEvent getHeaderAutoFitEvent()

      Event on a ListGrid header that triggers auto fitting to data and/or title.

      Note that if sorting is enabled for the field and the headerAutoFitEvent is "click", both sorting and autofit occur on a click.

      Returns:
        AutoFitEvent

    - #### setHeaderBackgroundColor

          public void setHeaderBackgroundColor(java.lang.String headerBackgroundColor)

      BackgroundColor for the header toolbar. Typically this is set to match the color of the header buttons.
      Parameters:
        `headerBackgroundColor` - . See `Color`. Default value is "#CCCCCC"
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderBackgroundColor

          public java.lang.String getHeaderBackgroundColor()

      BackgroundColor for the header toolbar. Typically this is set to match the color of the header buttons.
      Returns:
        . See `Color`
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderBarStyle

          public void setHeaderBarStyle(java.lang.String headerBarStyle)
                                 throws java.lang.IllegalStateException

      Set the CSS style used for the header as a whole.
      Parameters:
        `headerBarStyle` - . See `CSSStyleName`. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderBarStyle

          public java.lang.String getHeaderBarStyle()

      Set the CSS style used for the header as a whole.
      Returns:
        . See `CSSStyleName`
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderBaseStyle

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

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

    - #### getHeaderBaseStyle

          public java.lang.String getHeaderBaseStyle()

      `baseStyle` to apply to the buttons in the header, and the sorter, for this ListGrid. Note that, depending on the `Class` of the header buttons, you may also need to set `headerTitleStyle`.
      Returns:
        . See `CSSStyleName`
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderButtonProperties

          public void setHeaderButtonProperties(Button headerButtonProperties)
                                         throws java.lang.IllegalStateException

      Properties to apply to all header buttons. Overrides defaults applied via `headerButtonDefaults`.

      Note : This is an advanced setting

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

    - #### getHeaderButtonProperties

          public Button getHeaderButtonProperties()

      Properties to apply to all header buttons. Overrides defaults applied via `headerButtonDefaults`.
      Returns:
        Button
      See Also:
        `GridHeader overview and related methods`

    - #### setHeaderHeight

          public void setHeaderHeight(int headerHeight)

      The height of this listGrid's header, in pixels.
      If this method is called after the component has been drawn/initialized: Modify the height of a listGrid. To hide the header set height to zero.
      Parameters:
        `headerHeight` - new height for the header. Default value is 22
      See Also:
        `Sizing overview and related methods`

    - #### getHeaderHeight

          public int getHeaderHeight()

      The height of this listGrid's header, in pixels.
      Returns:
        int
      See Also:
        `Sizing overview and related methods`

    - #### setHeaderHoverAlign

          public void setHeaderHoverAlign(Alignment headerHoverAlign)

      This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover`.
      Parameters:
        `headerHoverAlign` - headerHoverAlign Default value is null

    - #### getHeaderHoverAlign

          public Alignment getHeaderHoverAlign()

      This property may be set to customize the alignment for the hover shown on `ListGrid.headerHover`.
      Returns:
        Alignment

    - #### setHeaderHoverHeight

          public void setHeaderHoverHeight(java.lang.Integer headerHoverHeight)

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

    - #### getHeaderHoverHeight

          public java.lang.Integer getHeaderHoverHeight()

      Optional default height for the hover shown on `ListGrid.headerHover`.
      Returns:
        Integer

    - #### setHeaderHoverOpacity

          public void setHeaderHoverOpacity(java.lang.Integer headerHoverOpacity)

      This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover`.
      Parameters:
        `headerHoverOpacity` - headerHoverOpacity Default value is null

    - #### getHeaderHoverOpacity

          public java.lang.Integer getHeaderHoverOpacity()

      This property may be set to customize the opacity for the hover shown on `ListGrid.headerHover`.
      Returns:
        Integer

    - #### setHeaderHoverStyle

          public void setHeaderHoverStyle(java.lang.String headerHoverStyle)

      This property may be set to customize the css style for the hover shown on `ListGrid.headerHover`.
      Parameters:
        `headerHoverStyle` - . See `CSSStyleName`. Default value is null

    - #### getHeaderHoverStyle

          public java.lang.String getHeaderHoverStyle()

      This property may be set to customize the css style for the hover shown on `ListGrid.headerHover`.
      Returns:
        . See `CSSStyleName`

    - #### setHeaderHoverVAlign

          public void setHeaderHoverVAlign(VerticalAlignment headerHoverVAlign)

      This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover`.
      Parameters:
        `headerHoverVAlign` - headerHoverVAlign Default value is null

    - #### getHeaderHoverVAlign

          public VerticalAlignment getHeaderHoverVAlign()

      This property may be set to customize the vertical alignment for the hover shown on `ListGrid.headerHover`.
      Returns:
        VerticalAlignment

    - #### setHeaderHoverWidth

          public void setHeaderHoverWidth(java.lang.Integer headerHoverWidth)

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

    - #### getHeaderHoverWidth

          public java.lang.Integer getHeaderHoverWidth()

      Optional default width for the hover shown on `ListGrid.headerHover`.
      Returns:
        Integer

    - #### setHeaderHoverWrap

          public void setHeaderHoverWrap(java.lang.Boolean headerHoverWrap)

      This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover`.
      Parameters:
        `headerHoverWrap` - headerHoverWrap Default value is null

    - #### getHeaderHoverWrap

          public java.lang.Boolean getHeaderHoverWrap()

      This property may be set to customize the `wrap` attribute for the hover shown on `ListGrid.headerHover`.
      Returns:
        Boolean

    - #### getHeaderMenuButton

          public StatefulCanvas getHeaderMenuButton()
                                             throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, when the user rolls over the header buttons in this grid the headerMenuButton will be shown over the header button in question. When clicked this button will display the standard header context menu (see `ListGrid.displayHeaderContextMenu`).

      `Several properties` exist to customize the appearance of the headerMenuButton. Also see the AutoChild documentation for information on how to make freeform modifications to autoChild widgets

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

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

    - #### setHeaderMenuButtonHeight

          public void setHeaderMenuButtonHeight(int headerMenuButtonHeight)
                                         throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`

      Note : This is an advanced setting

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

    - #### getHeaderMenuButtonHeight

          public int getHeaderMenuButtonHeight()

      If `showHeaderMenuButton` is true, this property governs the height of the auto-generated `headerMenuButton`
      Returns:
        int

    - #### setHeaderMenuButtonIcon

          public void setHeaderMenuButtonIcon(java.lang.String headerMenuButtonIcon)
                                       throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`

      Note : This is an advanced setting

      Parameters:
        `headerMenuButtonIcon` - . See `String`. Default value is "[SKIN]/ListGrid/headerMenuButton_icon.gif"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderMenuButtonIcon

          public java.lang.String getHeaderMenuButtonIcon()

      If `showHeaderMenuButton` is true, this property governs the icon shown on the auto-generated `headerMenuButton`
      Returns:
        . See `String`

    - #### setHeaderMenuButtonIconHeight

          public void setHeaderMenuButtonIconHeight(int headerMenuButtonIconHeight)
                                             throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`

      Note : This is an advanced setting

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

    - #### getHeaderMenuButtonIconHeight

          public int getHeaderMenuButtonIconHeight()

      If `showHeaderMenuButton` is true, this property governs the height of the icon shown on the auto-generated `headerMenuButton`
      Returns:
        int

    - #### setHeaderMenuButtonIconWidth

          public void setHeaderMenuButtonIconWidth(int headerMenuButtonIconWidth)
                                            throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`

      Note : This is an advanced setting

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

    - #### getHeaderMenuButtonIconWidth

          public int getHeaderMenuButtonIconWidth()

      If `showHeaderMenuButton` is true, this property governs the width of the icon shown on the auto-generated `headerMenuButton`
      Returns:
        int

    - #### setHeaderMenuButtonWidth

          public void setHeaderMenuButtonWidth(int headerMenuButtonWidth)
                                        throws java.lang.IllegalStateException

      If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`

      Note : This is an advanced setting

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

    - #### getHeaderMenuButtonWidth

          public int getHeaderMenuButtonWidth()

      If `showHeaderMenuButton` is true, this property governs the width of the auto-generated `headerMenuButton`
      Returns:
        int

    - #### getHeaderSpan

          public StatefulCanvas getHeaderSpan()

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

      `headerSpans` are created via the 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` - headerSpanHeight Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getHeaderSpanHeight

          public java.lang.Integer getHeaderSpanHeight()

      Default height for a `headerSpan` with no height specified.

      If `headerSpanHeight` is not specified (the default), headerSpans will be 1/2 of `headerHeight`.

      Returns:
        Integer

    - #### setHeaderTitleStyle

          public void setHeaderTitleStyle(java.lang.String headerTitleStyle)
                                   throws java.lang.IllegalStateException

      `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid. Note that this will typically only have an effect if `headerButtonConstructor` is set to `StretchImgButton` or a subclass thereof.
      Parameters:
        `headerTitleStyle` - . See `CSSStyleName`. Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getHeaderTitleStyle

          public java.lang.String getHeaderTitleStyle()

      `titleStyle` to apply to the buttons in the header, and the sorter, for this ListGrid. Note that this will typically only have an effect if `headerButtonConstructor` is set to `StretchImgButton` or a subclass thereof.
      Returns:
        . See `CSSStyleName`
      See Also:
        `GridHeader overview and related methods`

    - #### setHiliteCanReplaceValue

          public void setHiliteCanReplaceValue(java.lang.Boolean hiliteCanReplaceValue)
                                        throws java.lang.IllegalStateException

      If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value. For example, a user could create a hilite rule that replaces numeric values ranging from 0.5 to 1.0 with the text "LOW".

      Specifically, when the "Add Advanced Rule" button is pressed and `hiliteCanReplaceValue` is true, the user will see a text entry field titled "Replace value with" (`hiliteReplaceValueFieldTitle`) and if they enter a value, that value will appear in the grid cell in lieue of the cell's original value.

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

    - #### getHiliteCanReplaceValue

          public java.lang.Boolean getHiliteCanReplaceValue()

      If set, end users can create advanced hiliting rules that will use the `replacementValue` feature to cause values in hilited cells to be replaced with a user-entered value. For example, a user could create a hilite rule that replaces numeric values ranging from 0.5 to 1.0 with the text "LOW".

      Specifically, when the "Add Advanced Rule" button is pressed and `hiliteCanReplaceValue` is true, the user will see a text entry field titled "Replace value with" (`hiliteReplaceValueFieldTitle`) and if they enter a value, that value will appear in the grid cell in lieue of the cell's original value.

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

    - #### setHiliteEditorSpanTitleSeparator

          public void setHiliteEditorSpanTitleSeparator(java.lang.String hiliteEditorSpanTitleSeparator)

      If this grid has specified `headerSpans`, and `showHeaderSpanTitlesInHiliteEditor` is true, this string will be inserted between the headerSpan title and the field title in the hiliteEditor field chooser grid.
      Parameters:
        `hiliteEditorSpanTitleSeparator` - . See `String`. 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:
        . See `String`

    - #### 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` - hiliteIconHeight Default value is null
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconHeight

          public java.lang.Integer getHiliteIconHeight()

      Height for hilite icons for this listGrid. Overrides `hiliteIconSize`. Can be overridden at the field level
      Returns:
        Integer
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconLeftPadding

          public void setHiliteIconLeftPadding(int hiliteIconLeftPadding)

      How much padding should there be on the left of `hilite icons` by default? Can be overridden at the field level
      Parameters:
        `hiliteIconLeftPadding` - hiliteIconLeftPadding Default value is 2
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconLeftPadding

          public int getHiliteIconLeftPadding()

      How much padding should there be on the left of `hilite icons` by default? Can be overridden at the field level
      Returns:
        int
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconPosition

          public void setHiliteIconPosition(HiliteIconPosition hiliteIconPosition)
                                     throws java.lang.IllegalStateException

      When `hiliteIcons` are present, where the hilite icon will be placed relative to the field value. See `HiliteIconPosition`. Can be overriden at the field level.
      Parameters:
        `hiliteIconPosition` - hiliteIconPosition Default value is "before"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconPosition

          public HiliteIconPosition getHiliteIconPosition()

      When `hiliteIcons` are present, where the hilite icon will be placed relative to the field value. See `HiliteIconPosition`. Can be overriden at the field level.
      Returns:
        HiliteIconPosition
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconRightPadding

          public void setHiliteIconRightPadding(int hiliteIconRightPadding)

      How much padding should there be on the right of `hilite icons` by default? Can be overridden at the field level
      Parameters:
        `hiliteIconRightPadding` - hiliteIconRightPadding Default value is 2
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconRightPadding

          public int getHiliteIconRightPadding()

      How much padding should there be on the right of `hilite icons` by default? Can be overridden at the field level
      Returns:
        int
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIcons

          public void setHiliteIcons(java.lang.String... hiliteIcons)
                              throws java.lang.IllegalStateException

      Specifies a list of icons that can be used in `hilites`.

      `hiliteIcons` should be specified as an Array of SCImgURL. When present, the hilite editing interface shown when `DataBoundComponent.editHilites` is called will offer the user a drop down for picking one of these icons when defining either a simple or advanced hilite rule.

      If the user picks an icon, the created hiliting rule will have `icon` set to the chosen icon. `hiliteIconPosition` controls where the icon will appear for that field -- the default is that it appears in front of the normal cell content. This can also be overriden at the field level.

      Parameters:
        `hiliteIcons` - . See `String`. Default value is ["[SKINIMG]/Dialog/notify.png", "[SKINIMG]/Dialog/warn.png", "[SKINIMG]/actions/approve.png"]
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIcons

          public java.lang.String[] getHiliteIcons()

      Specifies a list of icons that can be used in `hilites`.

      `hiliteIcons` should be specified as an Array of SCImgURL. When present, the hilite editing interface shown when `DataBoundComponent.editHilites` is called will offer the user a drop down for picking one of these icons when defining either a simple or advanced hilite rule.

      If the user picks an icon, the created hiliting rule will have `icon` set to the chosen icon. `hiliteIconPosition` controls where the icon will appear for that field -- the default is that it appears in front of the normal cell content. This can also be overriden at the field level.

      Returns:
        . See `String`
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteIconSize

          public void setHiliteIconSize(int hiliteIconSize)

      Default width and height of `hilite icons` for this component. Can be overridden at the component level via explicit `hiliteIconWidth` and `hiliteIconHeight`, or at the field level via `hiliteIconSize`, `hiliteIconWidth` and `hiliteIconHeight`
      Parameters:
        `hiliteIconSize` - hiliteIconSize Default value is 12
      See Also:
        `setHiliteIconWidth(java.lang.Integer)`, `setHiliteIconHeight(java.lang.Integer)`, `ListGridField.setHiliteIconSize(java.lang.Integer)`, `Hiliting overview and related methods`

    - #### getHiliteIconSize

          public int getHiliteIconSize()

      Default width and height of `hilite icons` for this component. Can be overridden at the component level via explicit `hiliteIconWidth` and `hiliteIconHeight`, or at the field level via `hiliteIconSize`, `hiliteIconWidth` and `hiliteIconHeight`
      Returns:
        int
      See Also:
        `getHiliteIconWidth()`, `getHiliteIconHeight()`, `ListGridField.getHiliteIconSize()`, `Hiliting overview and related methods`

    - #### setHiliteIconWidth

          public void setHiliteIconWidth(java.lang.Integer hiliteIconWidth)

      Width for hilite icons for this component. Overrides `hiliteIconSize`. Can be overridden at the field level.
      Parameters:
        `hiliteIconWidth` - hiliteIconWidth Default value is null
      See Also:
        `Hiliting overview and related methods`

    - #### getHiliteIconWidth

          public java.lang.Integer getHiliteIconWidth()

      Width for hilite icons for this component. Overrides `hiliteIconSize`. Can be overridden at the field level.
      Returns:
        Integer
      See Also:
        `Hiliting overview and related methods`

    - #### setHiliteReplaceValueFieldTitle

          public void setHiliteReplaceValueFieldTitle(java.lang.String hiliteReplaceValueFieldTitle)
                                               throws java.lang.IllegalStateException

      Title used for the text box shown when `hiliteCanReplaceValue` is set.
      Parameters:
        `hiliteReplaceValueFieldTitle` - . See `String`. 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:
        . See `String`

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

    - #### getHoverMode

          public HoverMode getHoverMode()

      When `showHoverComponents` is true, the builtin mode to use when automatically creating a hover component for rows in this grid.

      A number of builtin modes are provided - see `HoverMode`. You can also override `getCellHoverComponent()` to provide a custom hover widget - in that case, this attribute is ignored.

      Returns:
        HoverMode

    - #### setHoverStyle

          public void setHoverStyle(java.lang.String hoverStyle)

      Style to apply to hovers shown over this grid.

      Note : This is an advanced setting

      Overrides:
        `setHoverStyle` in class `Canvas`
      Parameters:
        `hoverStyle` - . See `CSSStyleName`. Default value is "gridHover"
      See Also:
        `setShowHover(java.lang.Boolean)`

    - #### getHoverStyle

          public java.lang.String getHoverStyle()

      Style to apply to hovers shown over this grid.
      Overrides:
        `getHoverStyle` in class `Canvas`
      Returns:
        . See `CSSStyleName`
      See Also:
        `getShowHover()`

    - #### setImageSize

          public void setImageSize(int imageSize)

      Default size of thumbnails shown for fieldTypes image and imageFile. Overrideable on a per-field basis via `imageSize` or `imageWidth`/`imageHeight`
      Parameters:
        `imageSize` - imageSize Default value is 16
      See Also:
        `ImageColumns overview and related methods`

    - #### getImageSize

          public int getImageSize()

      Default size of thumbnails shown for fieldTypes image and imageFile. Overrideable on a per-field basis via `imageSize` or `imageWidth`/`imageHeight`
      Returns:
        int
      See Also:
        `ImageColumns overview and related methods`

    - #### setIncludeHilitesInSummaryFields

          public void setIncludeHilitesInSummaryFields(boolean includeHilitesInSummaryFields)

      When assembling a value for a `summary field`, if a referenced field is hilited, should the hilite HTML be included in the summary field value?

      To control hilites showing in group summaries, see `showHilitesInGroupSummary`.

      Note : This is an advanced setting

      Parameters:
        `includeHilitesInSummaryFields` - includeHilitesInSummaryFields 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:
        boolean
      See Also:
        `shouldIncludeHiliteInSummaryField(java.lang.String, java.lang.String)`

    - #### setIncludeInSummaryProperty

          public void setIncludeInSummaryProperty(java.lang.String includeInSummaryProperty)

      Property name on a record that will be checked to determine whether a record should be included when calculating totals for the `grid summary`.
      Parameters:
        `includeInSummaryProperty` - . See `String`. 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:
        . See `String`

    - #### 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 +link{scrollRedrawDelay applies}.
      Parameters:
        `instantScrollTrackRedraw` - instantScrollTrackRedraw Default value is true

    - #### getInstantScrollTrackRedraw

          public java.lang.Boolean getInstantScrollTrackRedraw()

      If true, if the user clicks on the scroll buttons at the end of the track or clicks once on the scroll track, there will be an instant redraw of the grid content so that the user doesn't see any blank space. For drag scrolling or other types of scrolling, the +link{scrollRedrawDelay applies}.
      Returns:
        Boolean

    - #### setInvalidSummaryValue

          public void setInvalidSummaryValue(java.lang.String invalidSummaryValue)

      Value to display to the user if showing summary values (through `showGridSummary`, `showGroupSummary` or `listGridFieldType:"summary"`), and the summary function returns `"null"` (implying it was unable to calculate a valid summary value). This property will only be used in the default formatting behavior. If an explicit formatter has been specified - via `ListGrid.formatCellValue` or `formatGridSummary`, for example - this property has no effect.

      Note : This is an advanced setting

      Parameters:
        `invalidSummaryValue` - . See `String`. Default value is "&amp;nbsp;"

    - #### getInvalidSummaryValue

          public java.lang.String getInvalidSummaryValue()

      Value to display to the user if showing summary values (through `showGridSummary`, `showGroupSummary` or `listGridFieldType:"summary"`), and the summary function returns `"null"` (implying it was unable to calculate a valid summary value). This property will only be used in the default formatting behavior. If an explicit formatter has been specified - via `ListGrid.formatCellValue` or `formatGridSummary`, for example - this property has no effect.
      Returns:
        . See `String`

    - #### getIsGrouped

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

      True if this ListGrid is grouped, false otherwise

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

      Returns:
        Boolean
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.
      See Also:
        `groupBy(java.lang.String...)`

    - #### setIsSeparatorProperty

          public void setIsSeparatorProperty(java.lang.String isSeparatorProperty)

      If `record[this.isSeparatorProperty]` is set for some record, the record will be displayed as a simple separator row.
      Parameters:
        `isSeparatorProperty` - . See `String`. 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:
        . See `String`

    - #### setLeaveHeaderMenuButtonSpace

          public void setLeaveHeaderMenuButtonSpace(java.lang.Boolean leaveHeaderMenuButtonSpace)

      If `showHeaderMenuButton` is true, when auto-fitting fields to the title width via `autoFitFieldWidths` or `autoFitWidth`, should the button be sized such that there is enough space for the heeader menu button to show without covering the field title?

      May be explicitly specified at the `field level` or at the `grid level`. If not explicitly specified space will be left for fields with `align` set to `"left"` or `"right"`, but not for fields with align set to `"center"`.

      Note : This is an advanced setting

      Parameters:
        `leaveHeaderMenuButtonSpace` - leaveHeaderMenuButtonSpace Default value is null

    - #### setLeaveScrollbarGap

          public void setLeaveScrollbarGap(java.lang.Boolean leaveScrollbarGap)

      Whether to leave a gap for the vertical scrollbar, even when it's not present.

      Note that if leaveScrollbarGap is false and vertical scrolling is introduced, fields will be resized to fit the smaller body area if possible, in order to avoid horizontal scrolling also being required.

      Overrides:
        `setLeaveScrollbarGap` in class `Layout`
      Parameters:
        `leaveScrollbarGap` - leaveScrollbarGap Default value is true
      See Also:
        `Appearance overview and related methods`, Rows Example

    - #### getLeaveScrollbarGap

          public java.lang.Boolean getLeaveScrollbarGap()

      Whether to leave a gap for the vertical scrollbar, even when it's not present.

      Note that if leaveScrollbarGap is false and vertical scrolling is introduced, fields will be resized to fit the smaller body area if possible, in order to avoid horizontal scrolling also being required.

      Overrides:
        `getLeaveScrollbarGap` in class `Layout`
      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`, Rows Example

    - #### setLinkTextProperty

          public void setLinkTextProperty(java.lang.String linkTextProperty)

      Property name on a record that will hold the link text for that record.

      This property is configurable to avoid possible collision with data values in the record.

      Use `linkTextProperty` if you have more than one link field and

      Parameters:
        `linkTextProperty` - . See `String`. Default value is "linkText"
      See Also:
        `ListGridFieldType`, `FieldType`, `ListGridField.setLinkText(java.lang.String)`, `ListGridField.setLinkTextProperty(java.lang.String)`

    - #### getLinkTextProperty

          public java.lang.String getLinkTextProperty()

      Property name on a record that will hold the link text for that record.

      This property is configurable to avoid possible collision with data values in the record.

      Use `linkTextProperty` if you have more than one link field and

      Returns:
        . See `String`
      See Also:
        `ListGridFieldType`, `FieldType`, `ListGridField.getLinkText()`, `ListGridField.getLinkTextProperty()`

    - #### setListEndEditAction

          public void setListEndEditAction(RowEndEditAction listEndEditAction)

      If the user is editing the last record in this listGrid, and attempts to navigate beyond the last row either by tabbing off the last editable field, or using the down arrow key, this property determines what action to take:
      - "next": start editing a new record at the end of the list.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action

      See the `Grid Editing overview` and also the `Editing Unsaved Records overview` for context about how newly added records behave.

      Parameters:
        `listEndEditAction` - listEndEditAction Default value is null
      See Also:
        `Editing overview and related methods`, Enter new rows Example

    - #### getListEndEditAction

          public RowEndEditAction getListEndEditAction()

      If the user is editing the last record in this listGrid, and attempts to navigate beyond the last row either by tabbing off the last editable field, or using the down arrow key, this property determines what action to take:
      - "next": start editing a new record at the end of the list.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action

      See the `Grid Editing overview` and also the `Editing Unsaved Records overview` for context about how newly added records behave.

      Returns:
        RowEndEditAction
      See Also:
        `Editing overview and related methods`, Enter new rows Example

    - #### setLoadingDataMessage

          public void setLoadingDataMessage(java.lang.String loadingDataMessage)

      The string to display in the body of a listGrid while data is being loaded. Use `"\${loadingImage}"` to include `a loading image`.
      Parameters:
        `loadingDataMessage` - . See `HTMLString`. Default value is "\${loadingImage}&amp;nbsp;Loading data..."
      See Also:
        `setLoadingDataMessageStyle(java.lang.String)`

    - #### getLoadingDataMessage

          public java.lang.String getLoadingDataMessage()

      The string to display in the body of a listGrid while data is being loaded. Use `"\${loadingImage}"` to include `a loading image`.
      Returns:
        . See `HTMLString`
      See Also:
        `getLoadingDataMessageStyle()`

    - #### setLoadingDataMessageStyle

          public void setLoadingDataMessageStyle(java.lang.String loadingDataMessageStyle)

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

    - #### getLoadingDataMessageStyle

          public java.lang.String getLoadingDataMessageStyle()

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

    - #### setLoadingMessage

          public void setLoadingMessage(java.lang.String loadingMessage)
                                 throws java.lang.IllegalStateException

      If you have a databound listGrid and you scroll out of the currently loaded dataset, by default you will see blank rows until the server returns the data for those rows. The loadingMessage attribute allows you to specify arbitrary html that will be shown in each such "blank" record while the data for that record is loading.
      Parameters:
        `loadingMessage` - . See `String`. Default value is "&amp;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:
        . See `String`

    - #### setLocateColumnsBy

          public void setLocateColumnsBy(java.lang.String locateColumnsBy)

      When AutoTest.getElement is used to parse locator strings generated by AutoTest.getLocator for a cell in this grid, how should the column be identified?
      Note that getLocator() will actually store all available information about the column in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"fieldName"` Attempt to identify by fieldName.
      - `"index"` Attempt to identify by colNum (index in the fields array).
      If unset, default behavior is to identify by fieldName (if available), otherwise by index.
      Parameters:
        `locateColumnsBy` - . See `String`. Default value is null

    - #### getLocateColumnsBy

          public java.lang.String getLocateColumnsBy()

      When AutoTest.getElement is used to parse locator strings generated by AutoTest.getLocator for a cell in this grid, how should the column be identified?
      Note that getLocator() will actually store all available information about the column in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"fieldName"` Attempt to identify by fieldName.
      - `"index"` Attempt to identify by colNum (index in the fields array).
      If unset, default behavior is to identify by fieldName (if available), otherwise by index.
      Returns:
        . See `String`

    - #### setLocateRowsBy

          public void setLocateRowsBy(java.lang.String locateRowsBy)

      When AutoTest.getElement is used to parse locator strings generated by AutoTest.getLocator for a cell in this grid, how should the row be identified?
      Note that getLocator() will actually store all available information about the row in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"primaryKey"` Only applies to databound grids: If the cell in question has a primary key cell value, use it to identify cells in autoTest locator strings.
      - `"titleField"` If the cell in question has a value for the `titleField`, use it to identify cells in autoTest locator strings
      - `"targetCellValue"` Identify rows by storing the cell value for the target row / field in autoTest locator strings
      - `"index"`The rowNum will be used to identify the row.
      If unset, default behavior is to identify by primary key (if available), otherwise by titleField (if available), otherwise by cell value (if available), and lastly by index.
      Parameters:
        `locateRowsBy` - . See `String`. Default value is null

    - #### getLocateRowsBy

          public java.lang.String getLocateRowsBy()

      When AutoTest.getElement is used to parse locator strings generated by AutoTest.getLocator for a cell in this grid, how should the row be identified?
      Note that getLocator() will actually store all available information about the row in the generated string -- this attribute effects how a stored string will be parsed only.

      Valid options area:

      - `"primaryKey"` Only applies to databound grids: If the cell in question has a primary key cell value, use it to identify cells in autoTest locator strings.
      - `"titleField"` If the cell in question has a value for the `titleField`, use it to identify cells in autoTest locator strings
      - `"targetCellValue"` Identify rows by storing the cell value for the target row / field in autoTest locator strings
      - `"index"`The rowNum will be used to identify the row.
      If unset, default behavior is to identify by primary key (if available), otherwise by titleField (if available), otherwise by cell value (if available), and lastly by index.
      Returns:
        . See `String`

    - #### setLongTextEditorThreshold

          public void setLongTextEditorThreshold(int longTextEditorThreshold)

      When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
      Parameters:
        `longTextEditorThreshold` - longTextEditorThreshold Default value is 255
      See Also:
        `Editing overview and related methods`

    - #### getLongTextEditorThreshold

          public int getLongTextEditorThreshold()

      When the length of the field specified by `length` exceeds this value, the ListGrid shows an edit field of type `longTextEditorType` rather than the standard text field when the field enters inline edit mode.
      Returns:
        int
      See Also:
        `Editing overview and related methods`

    - #### setLongTextEditorType

          public void setLongTextEditorType(java.lang.String longTextEditorType)

      When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
      Parameters:
        `longTextEditorType` - . See `String`. Default value is "PopUpTextAreaItem"
      See Also:
        `Editing overview and related methods`

    - #### getLongTextEditorType

          public java.lang.String getLongTextEditorType()

      When the length of the field specified by `length` exceeds `this.longTextEditorThreshold` show an edit field of this type rather than the standard text field when the field enters inline edit mode.
      Returns:
        . See `String`
      See Also:
        `Editing overview and related methods`

    - #### setMaxExpandedRecords

          public void setMaxExpandedRecords(java.lang.Integer maxExpandedRecords)

      When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously. If the expanded record count hits the value of this property, further attempts to expand records will result in a popup warning (see `maxExpandedRecordsPrompt`) and expansion will be cancelled.

      The default value is null, meaning there is no limit on the number of expanded records.

      Note : This is an advanced setting

      Parameters:
        `maxExpandedRecords` - maxExpandedRecords Default value is null

    - #### getMaxExpandedRecords

          public java.lang.Integer getMaxExpandedRecords()

      When `canExpandRecords` and `canExpandMultipleRecords` are both true, this property dictates the number of records which can be expanded simultaneously. If the expanded record count hits the value of this property, further attempts to expand records will result in a popup warning (see `maxExpandedRecordsPrompt`) and expansion will be cancelled.

      The default value is null, meaning there is no limit on the number of expanded records.

      Returns:
        Integer

    - #### setMaxExpandedRecordsPrompt

          public void setMaxExpandedRecordsPrompt(java.lang.String maxExpandedRecordsPrompt)
                                           throws java.lang.IllegalStateException

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed. Note that the local variable `count` will be available and set to this.maxExpandedRecords. The string will be executed in the scope of the ListGrid so `this` may also be used to determine other information about this grid.

      Default value returns

      `This grid is limited to `[`maxExpandedRecords`]` simultaneously expanded records. Please collapse some expanded records and retry.`

      Parameters:
        `maxExpandedRecordsPrompt` - . See `String`. Default value is "This grid is limited to \${count} simultaneously expanded records. Please collapse some expanded records and retry."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getMaxExpandedRecordsPrompt

          public java.lang.String getMaxExpandedRecordsPrompt()

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed. Note that the local variable `count` will be available and set to this.maxExpandedRecords. The string will be executed in the scope of the ListGrid so `this` may also be used to determine other information about this grid.

      Default value returns

      `This grid is limited to `[`maxExpandedRecords`]` simultaneously expanded records. Please collapse some expanded records and retry.`

      Returns:
        . See `String`

    - #### setMinFieldWidth

          public void setMinFieldWidth(int minFieldWidth)

      Minimum size, in pixels, for ListGrid headers.
      Parameters:
        `minFieldWidth` - minFieldWidth Default value is 15

    - #### getMinFieldWidth

          public int getMinFieldWidth()

      Minimum size, in pixels, for ListGrid headers.
      Returns:
        int

    - #### setMissingSummaryFieldValue

          public void setMissingSummaryFieldValue(java.lang.String missingSummaryFieldValue)

      If a summary format string contains an invalid field reference, replace the reference with the missingSummaryFieldValue. The default value is "-".
      Parameters:
        `missingSummaryFieldValue` - . See `String`. 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:
        . See `String`

    - #### setModalEditing

          public void setModalEditing(java.lang.Boolean modalEditing)

      If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.

      Note : This is an advanced setting

      Parameters:
        `modalEditing` - modalEditing Default value is null
      See Also:
        `Editing overview and related methods`, Modal editing Example

    - #### getModalEditing

          public java.lang.Boolean getModalEditing()

      If this property is true, any mouse click outside of the open cell editors will end editing mode, hiding the cell editors and saving any changes to those cell values.
      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`, Modal editing Example

    - #### 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` - neverValidate Default value is null
      See Also:
        `GridValidation overview and related methods`

    - #### getNeverValidate

          public java.lang.Boolean getNeverValidate()

      If true, validation will not occur as a result of cell editing for this grid.
      Returns:
        Boolean
      See Also:
        `GridValidation overview and related methods`

    - #### setNormalBaseStyle

          public void setNormalBaseStyle(java.lang.String normalBaseStyle)
                                  throws java.lang.IllegalStateException

      "Normal" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style if the grid is showing fixed height rows, and the specified cellHeight matches `normalCellHeight` (and in Internet Explorer, `fastCellUpdates` is false). Otherwise `tallBaseStyle` will be used.

      Having separate styles defined for fixed vs. variable height rows allows the developer to specify css which is designed to render at a specific height (typically using background images, which won't scale), without breaking support for styling rows of variable height.

      Parameters:
        `normalBaseStyle` - . See `CSSStyleName`. Default value is "cell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `getBaseStyle()`

    - #### getNormalBaseStyle

          public java.lang.String getNormalBaseStyle()

      "Normal" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style if the grid is showing fixed height rows, and the specified cellHeight matches `normalCellHeight` (and in Internet Explorer, `fastCellUpdates` is false). Otherwise `tallBaseStyle` will be used.

      Having separate styles defined for fixed vs. variable height rows allows the developer to specify css which is designed to render at a specific height (typically using background images, which won't scale), without breaking support for styling rows of variable height.

      Returns:
        . See `CSSStyleName`
      See Also:
        `getBaseStyle()`

    - #### setNormalCellHeight

          public void setNormalCellHeight(int normalCellHeight)

      If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value. Otherwise `tallBaseStyle` will be used.

      Note : This is an advanced setting

      Parameters:
        `normalCellHeight` - normalCellHeight Default value is 20

    - #### getNormalCellHeight

          public int getNormalCellHeight()

      If `baseStyle` is unset, base style will be derived from `normalBaseStyle` if this grid has fixed row heights and the specified `cellHeight` matches this value. Otherwise `tallBaseStyle` will be used.
      Returns:
        int

    - #### setNullGroupTitle

          public void setNullGroupTitle(java.lang.String nullGroupTitle)

      Default alias to use for groups with no value
      Parameters:
        `nullGroupTitle` - . See `String`. 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:
        . See `String`
      See Also:
        `groupBy(java.lang.String...)`

    - #### setOfflineMessageStyle

          public void setOfflineMessageStyle(java.lang.String offlineMessageStyle)

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

    - #### getOfflineMessageStyle

          public java.lang.String getOfflineMessageStyle()

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

    - #### setOriginBaseStyle

          public void setOriginBaseStyle(java.lang.String originBaseStyle)

      Name of a CSS Style to use as the `baseStyle` for a cell that is currently a selection origin for shifted incremental cell selection. Only has an effect if `canSelectCells` is true.

      Parameters:
        `originBaseStyle` - . See `CSSStyleName`. Default value is null

    - #### getOriginBaseStyle

          public java.lang.String getOriginBaseStyle()

      Name of a CSS Style to use as the `baseStyle` for a cell that is currently a selection origin for shifted incremental cell selection. Only has an effect if `canSelectCells` is true.

      Returns:
        . See `CSSStyleName`

    - #### setPoolComponentsPerColumn

          public void setPoolComponentsPerColumn(java.lang.Boolean poolComponentsPerColumn)

      Should recycled `record components`, be pooled per column or per record. Only applies if `showRecordComponentsByCell` is true.

      When `recordComponentPoolingMode` is "recycle" and you have components of different types in different columns, set this property to true to ensure that components intended for one column are not recycled for use in another column that should have a different component.

      If no components applicable to a particular column are available in the pool, the system calls `createRecordComponent`.

      Parameters:
        `poolComponentsPerColumn` - poolComponentsPerColumn Default value is true

    - #### getPoolComponentsPerColumn

          public java.lang.Boolean getPoolComponentsPerColumn()

      Should recycled `record components`, be pooled per column or per record. Only applies if `showRecordComponentsByCell` is true.

      When `recordComponentPoolingMode` is "recycle" and you have components of different types in different columns, set this property to true to ensure that components intended for one column are not recycled for use in another column that should have a different component.

      If no components applicable to a particular column are available in the pool, the system calls `createRecordComponent`.

      Returns:
        Boolean

    - #### setPrintAutoFit

          public void setPrintAutoFit(java.lang.Boolean printAutoFit)

      Whether cell contents should wrap during printing. Equivalent to `autoFit`, but specific to printed output.
      Parameters:
        `printAutoFit` - printAutoFit Default value is true
      See Also:
        `Printing overview and related methods`

    - #### getPrintAutoFit

          public java.lang.Boolean getPrintAutoFit()

      Whether cell contents should wrap during printing. Equivalent to `autoFit`, but specific to printed output.
      Returns:
        Boolean
      See Also:
        `Printing overview and related methods`

    - #### setPrintBaseStyle

          public void setPrintBaseStyle(java.lang.String printBaseStyle)

      Style for non-header cells in printed output. Defaults to `baseStyle` if null.
      Parameters:
        `printBaseStyle` - . See `CSSStyleName`. Default value is null
      See Also:
        `Printing overview and related methods`

    - #### getPrintBaseStyle

          public java.lang.String getPrintBaseStyle()

      Style for non-header cells in printed output. Defaults to `baseStyle` if null.
      Returns:
        . See `CSSStyleName`
      See Also:
        `Printing overview and related methods`

    - #### setPrintHeaderStyle

          public void setPrintHeaderStyle(java.lang.String printHeaderStyle)

      Style for header cells in printed output. Defaults to `headerBaseStyle` if null.
      Parameters:
        `printHeaderStyle` - . See `CSSStyleName`. Default value is "printHeader"
      See Also:
        `Printing overview and related methods`

    - #### getPrintHeaderStyle

          public java.lang.String getPrintHeaderStyle()

      Style for header cells in printed output. Defaults to `headerBaseStyle` if null.
      Returns:
        . See `CSSStyleName`
      See Also:
        `Printing overview and related methods`

    - #### setPrintMaxRows

          public void setPrintMaxRows(int printMaxRows)

      Advanced property - when generating printHTML for a large ListGrid, rows are printed in batches in order to avoid triggering a native "script is running slowly" browser dialog.

      For grids with exceptional numbers of columns or complex formatting logic, this number might need to be adjusted downward.

      Note : This is an advanced setting

      Parameters:
        `printMaxRows` - printMaxRows Default value is 100
      See Also:
        `Printing overview and related methods`

    - #### getPrintMaxRows

          public int getPrintMaxRows()

      Advanced property - when generating printHTML for a large ListGrid, rows are printed in batches in order to avoid triggering a native "script is running slowly" browser dialog.

      For grids with exceptional numbers of columns or complex formatting logic, this number might need to be adjusted downward.

      Returns:
        int
      See Also:
        `Printing overview and related methods`

    - #### setPrintWrapCells

          public void setPrintWrapCells(java.lang.Boolean printWrapCells)

      Whether cell contents should wrap during printing. Equivalent to `wrapCells`, but specific to printed output.
      Parameters:
        `printWrapCells` - printWrapCells Default value is true
      See Also:
        `Printing overview and related methods`

    - #### getPrintWrapCells

          public java.lang.Boolean getPrintWrapCells()

      Whether cell contents should wrap during printing. Equivalent to `wrapCells`, but specific to printed output.
      Returns:
        Boolean
      See Also:
        `Printing overview and related methods`

    - #### setQuickDrawAheadRatio

          public void setQuickDrawAheadRatio(float quickDrawAheadRatio)

      Alternative to `drawAheadRatio`, to be used when the user is rapidly changing the grids viewport (for example drag scrolling through the grid). If unspecified `drawAheadRatio` will be used in all cases
      Parameters:
        `quickDrawAheadRatio` - quickDrawAheadRatio Default value is 1.0

    - #### getQuickDrawAheadRatio

          public float getQuickDrawAheadRatio()

      Alternative to `drawAheadRatio`, to be used when the user is rapidly changing the grids viewport (for example drag scrolling through the grid). If unspecified `drawAheadRatio` will be used in all cases
      Returns:
        float

    - #### setRecordBaseStyleProperty

          public void setRecordBaseStyleProperty(java.lang.String recordBaseStyleProperty)

      This attribute allows custom base styles to be displayed on a per-record basis. To specify a custom base-style for some record set `record[listGrid.recordBaseStyleProperty]` to the desired base style name - for example if `recordBaseStyleProperty` is `"_baseStyle"`, set `record._baseStyle` to the custom base style name.

      Note : This is an advanced setting

      Parameters:
        `recordBaseStyleProperty` - . See `String`. 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:
        . See `String`
      See Also:
        `getBaseStyle()`, `Appearance overview and related methods`

    - #### setRecordCanRemoveProperty

          public void setRecordCanRemoveProperty(java.lang.String recordCanRemoveProperty)
                                          throws java.lang.IllegalStateException

      If set to false on a record and `canRemoveRecords` is true, removal of that record is disallowed in the UI. The icon in the remove field is not shown.

      Note : This is an advanced setting

      Parameters:
        `recordCanRemoveProperty` - . See `String`. 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:
        . See `String`
      See Also:
        `Editing overview and related methods`

    - #### setRecordCanSelectProperty

          public void setRecordCanSelectProperty(java.lang.String recordCanSelectProperty)
                                          throws java.lang.IllegalStateException

      If set to false on a record, selection of that record is disallowed.

      Note : This is an advanced setting

      Parameters:
        `recordCanSelectProperty` - . See `String`. 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:
        . See `String`

    - #### setRecordComponentHeight

          public void setRecordComponentHeight(java.lang.Integer recordComponentHeight)

      If `showRecordComponents` is true, this attribute may be used to specify a standard height for record components. If specified every row in the grid will be sized tall enough to accommodate a recordComponent of this size.

      Note that if this property is unset, the grid will not be able to know row heights in advance, and `freezing of columns` is not currently supported in this case.
      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

    - #### 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 `freezing of columns` is not currently supported in this case.

      Returns:
        Integer

    - #### 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 leaves the viewport.

      For the most efficient implementation, switch to "recycle" mode, which pools components when records leave the viewport and re-uses 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. If 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` - recordComponentPoolingMode Default value is "viewport"

    - #### getRecordComponentPoolingMode

          public RecordComponentPoolingMode getRecordComponentPoolingMode()

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

      The default mode is "viewport", which means that recordComponents are destroyed as soon their record leaves the viewport.

      For the most efficient implementation, switch to "recycle" mode, which pools components when records leave the viewport and re-uses 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. If you have components of different types in different columns and still want to take advantage of component recycling, you can set `poolComponentsPerColumn` to ensure that components intended for one column are not recycled for use in another column that should have a different component.

      Note that, if different records have distinctly different components embedded in them, or multiple columns in each record embed different components, you should leave the recordComponentPoolingMode at "viewport" if your dataset is very large or use "data" otherwise.

      Returns:
        RecordComponentPoolingMode

    - #### setRecordComponentPosition

          public void setRecordComponentPosition(EmbeddedPosition recordComponentPosition)

      if `showRecordComponents` is true, how should the component appear within the cell. Valid options are
      - `"within"`: the component will be rendered inside the record / cell. `snapTo` may be set to specify where the component should render within the row or cell, and `snapOffsetTop` / `snapOffsetLeft` may be set to indent recordComponents within their parent cells. Note that if unset, the component will show up at the top/left edge for components embedded within an entire row, or for per-cell components, cell align and valign will be respected. Note also that, when rendering components "within" cells, specified component heights will be respected and will change the height of the row. However, if you want components to completely fill a cell at it's default height, set height: "100%" or rows will render at the default height of the component.
      - `"expand"`: the component will be written into the cell below the normal cell content, causing the cell to expand vertically to accommodate it.
      - `null`: If this attribute is unset, we will default to showing recordComponents with position `"within"` if `showRecordComponentsByCell` is true, otherwise using `"expand"` logic.
      Parameters:
        `recordComponentPosition` - recordComponentPosition Default value is null
      See Also:
        `setShowRecordComponents(java.lang.Boolean)`

    - #### getRecordComponentPosition

          public EmbeddedPosition getRecordComponentPosition()

      if `showRecordComponents` is true, how should the component appear within the cell. Valid options are
      - `"within"`: the component will be rendered inside the record / cell. `snapTo` may be set to specify where the component should render within the row or cell, and `snapOffsetTop` / `snapOffsetLeft` may be set to indent recordComponents within their parent cells. Note that if unset, the component will show up at the top/left edge for components embedded within an entire row, or for per-cell components, cell align and valign will be respected. Note also that, when rendering components "within" cells, specified component heights will be respected and will change the height of the row. However, if you want components to completely fill a cell at it's default height, set height: "100%" or rows will render at the default height of the component.
      - `"expand"`: the component will be written into the cell below the normal cell content, causing the cell to expand vertically to accommodate it.
      - `null`: If this attribute is unset, we will default to showing recordComponents with position `"within"` if `showRecordComponentsByCell` is true, otherwise using `"expand"` logic.
      Returns:
        EmbeddedPosition
      See Also:
        `getShowRecordComponents()`

    - #### setRecordDetailDSProperty

          public void setRecordDetailDSProperty(java.lang.String recordDetailDSProperty)

      The name of the ListGridRecord property that specifies the DataSource to use when `listGrid.expansionMode` is "related". The default is `detailDS`. Note that you can set the `detailDS` at the grid level instead if the same dataSource is to be used for all records.

      Note : This is an advanced setting

      Parameters:
        `recordDetailDSProperty` - . See `String`. Default value is "detailDS"

    - #### getRecordDetailDSProperty

          public java.lang.String getRecordDetailDSProperty()

      The name of the ListGridRecord property that specifies the DataSource to use when `listGrid.expansionMode` is "related". The default is `detailDS`. Note that you can set the `detailDS` at the grid level instead if the same dataSource is to be used for all records.
      Returns:
        . See `String`

    - #### 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` - . See `String`. 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:
        . See `String`
      See Also:
        `getCanEdit()`, `ListGridField.getCanEdit()`, `canEditCell(int, int)`, `Editing overview and related methods`

    - #### setRecordSummaryBaseStyle

          public void setRecordSummaryBaseStyle(java.lang.String recordSummaryBaseStyle)

      If showing any record summary fields (IE: fields of `type:"summary"`), this attribute specifies a custom base style to apply to cells in the summary field

      Note : This is an advanced setting

      Parameters:
        `recordSummaryBaseStyle` - . See `CSSStyleName`. Default value is "recordSummaryCell"

    - #### getRecordSummaryBaseStyle

          public java.lang.String getRecordSummaryBaseStyle()

      If showing any record summary fields (IE: fields of `type:"summary"`), this attribute specifies a custom base style to apply to cells in the summary field
      Returns:
        . See `CSSStyleName`

    - #### setRemovedCSSText

          public void setRemovedCSSText(java.lang.String removedCSSText)

      Custom CSS text to be applied to records that have been `marked for removal`.

      This CSS text will be applied on top of standard disabled styling for the cell.

      Note : This is an advanced setting

      Parameters:
        `removedCSSText` - . See `String`. 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:
        . See `String`
      See Also:
        `Appearance overview and related methods`

    - #### setRemoveFieldProperties

          public void setRemoveFieldProperties(ListGridField removeFieldProperties)
                                        throws java.lang.IllegalStateException

      Configuration properties for the "remove field" displayed when `canRemoveRecords` is enabled.
      Parameters:
        `removeFieldProperties` - removeFieldProperties Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRemoveFieldProperties

          public ListGridField getRemoveFieldProperties()

      Configuration properties for the "remove field" displayed when `canRemoveRecords` is enabled.
      Returns:
        ListGridField

    - #### setRemoveFieldTitle

          public void setRemoveFieldTitle(java.lang.String removeFieldTitle)

      The title to use for the `remove field`.

      By default this title is not displayed in the remove column header button as the `removeFieldDefaults` sets `showTitle` to `false`.

      Note : This is an advanced setting

      Parameters:
        `removeFieldTitle` - . See `String`. Default value is "&nbsp;"

    - #### getRemoveFieldTitle

          public java.lang.String getRemoveFieldTitle()

      The title to use for the `remove field`.

      By default this title is not displayed in the remove column header button as the `removeFieldDefaults` sets `showTitle` to `false`.

      Returns:
        . See `String`

    - #### setRemoveIcon

          public void setRemoveIcon(java.lang.String removeIcon)
                             throws java.lang.IllegalStateException

      When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
      Parameters:
        `removeIcon` - . See `SCImgURL`. Default value is "[SKIN]/actions/remove.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRemoveIcon

          public java.lang.String getRemoveIcon()

      When `canRemoveRecords` is enabled, default icon to show in the auto-generated field that allows removing records.
      Returns:
        . See `SCImgURL`

    - #### setRemoveIconSize

          public void setRemoveIconSize(int removeIconSize)

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

    - #### getRemoveIconSize

          public int getRemoveIconSize()

      Default width and height of `remove icons` for this ListGrid.
      Returns:
        int

    - #### setReselectOnUpdate

          public void setReselectOnUpdate(boolean reselectOnUpdate)
                                   throws java.lang.IllegalStateException

      If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes. The `reselectOnUpdateNotifications` attributes governs whether `ListGrid.selectionUpdated` and `ListGrid.selectionChanged` will fire when this occurs.

      Note : This is an advanced setting

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

    - #### getReselectOnUpdate

          public boolean getReselectOnUpdate()

      If true, when an update operation occurs on a selected record in a `databound` listGrid, ensure the updated record is re-selected when the operation completes. The `reselectOnUpdateNotifications` attributes governs whether `ListGrid.selectionUpdated` and `ListGrid.selectionChanged` will fire when this occurs.
      Returns:
        boolean

    - #### setReselectOnUpdateNotifications

          public void setReselectOnUpdateNotifications(SelectionNotificationType reselectOnUpdateNotifications)

      if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.

      Note : This is an advanced setting

      Parameters:
        `reselectOnUpdateNotifications` - reselectOnUpdateNotifications Default value is "selectionChanged"

    - #### getReselectOnUpdateNotifications

          public SelectionNotificationType getReselectOnUpdateNotifications()

      if `reselectOnUpdate` is true, this property governs what selection changed notifications should be triggered when a selected record is edited then automatically reselected when the edited data is merged into the data set.
      Returns:
        SelectionNotificationType

    - #### setResizeFieldsInRealTime

          public void setResizeFieldsInRealTime(java.lang.Boolean resizeFieldsInRealTime)

      True == we redraw the list viewer in real time as fields are being resized. This can be slow with a large list and/or on some platforms.

      Note : This is an advanced setting

      Parameters:
        `resizeFieldsInRealTime` - resizeFieldsInRealTime Default value is Browser.isIE && isc.Browser.isWin

    - #### getResizeFieldsInRealTime

          public java.lang.Boolean getResizeFieldsInRealTime()

      True == we redraw the list viewer in real time as fields are being resized. This can be slow with a large list and/or on some platforms.
      Returns:
        Boolean

    - #### setReverseRTLAlign

          public void setReverseRTLAlign(java.lang.Boolean reverseRTLAlign)

      If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?

      This is true by default to match user expectation that text flows from start-to end and is aligned with the start of text flow (left in LTR mode, right in RTL mode) by default. May be set to false to have the specified alignments be taken literally in RTL mode.

      Parameters:
        `reverseRTLAlign` - reverseRTLAlign Default value is true

    - #### getReverseRTLAlign

          public java.lang.Boolean getReverseRTLAlign()

      If a page is rendered in `RTL mode`, should cell alignments specified `cellAlign` be reversed (so an `align:"right"` field will have content aligned on the left and vice versa)?

      This is true by default to match user expectation that text flows from start-to end and is aligned with the start of text flow (left in LTR mode, right in RTL mode) by default. May be set to false to have the specified alignments be taken literally in RTL mode.

      Returns:
        Boolean

    - #### setRowEndEditAction

          public void setRowEndEditAction(RowEndEditAction rowEndEditAction)

      If the user is editing a record in this listGrid, and attempts to navigate to a field beyond the end of the row, via tab (or shift-tab off the first editable field), this property determines what action to take:
      - "next": start editing the next (or previous) record in the list
      - "same": put focus back into the first editable field of the same record.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action
      Parameters:
        `rowEndEditAction` - rowEndEditAction Default value is null
      See Also:
        `Editing overview and related methods`

    - #### getRowEndEditAction

          public RowEndEditAction getRowEndEditAction()

      If the user is editing a record in this listGrid, and attempts to navigate to a field beyond the end of the row, via tab (or shift-tab off the first editable field), this property determines what action to take:
      - "next": start editing the next (or previous) record in the list
      - "same": put focus back into the first editable field of the same record.
      - "done": hide the editor
      - "stop": leave focus in the cell being edited
      - "none": no action
      Returns:
        RowEndEditAction
      See Also:
        `Editing overview and related methods`

    - #### getRowNumberField

          public ListGridField getRowNumberField()
                                          throws java.lang.IllegalStateException

      An automatically generated field that displays the current row number when `showRowNumbers` is true.

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

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

    - #### setRowNumberStart

          public void setRowNumberStart(int rowNumberStart)

      The number to start the row-count from - default value is 1.

      Note : This is an advanced setting

      Parameters:
        `rowNumberStart` - rowNumberStart Default value is 1

    - #### getRowNumberStart

          public int getRowNumberStart()

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

    - #### setRowNumberStyle

          public void setRowNumberStyle(java.lang.String rowNumberStyle)

      The CSS Style name for the `rowNumberField`.

      Note : This is an advanced setting

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

    - #### getRowNumberStyle

          public java.lang.String getRowNumberStyle()

      The CSS Style name for the `rowNumberField`.
      Returns:
        . See `CSSStyleName`

    - #### setRowSpanSelectionMode

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

      Chooses the selection mode when `useRowSpanStyling` is enabled. See `RowSpanSelectionMode`.
      Parameters:
        `rowSpanSelectionMode` - rowSpanSelectionMode Default value is "forward"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getRowSpanSelectionMode

          public RowSpanSelectionMode getRowSpanSelectionMode()

      Chooses the selection mode when `useRowSpanStyling` is enabled. See `RowSpanSelectionMode`.
      Returns:
        RowSpanSelectionMode

    - #### setSaveByCell

          public void setSaveByCell(java.lang.Boolean saveByCell)

      Whether edits should be saved whenever the user moves between cells in the current edit row.

      If unset, defaults to `this.editByCell`.

      To avoid automatic saving entirely, set `autoSaveEdits`:false.

      Parameters:
        `saveByCell` - saveByCell Default value is null
      See Also:
        `setEditByCell(java.lang.Boolean)`, `Editing overview and related methods`

    - #### getSaveByCell

          public java.lang.Boolean getSaveByCell()

      Whether edits should be saved whenever the user moves between cells in the current edit row.

      If unset, defaults to `this.editByCell`.

      To avoid automatic saving entirely, set `autoSaveEdits`:false.

      Returns:
        Boolean
      See Also:
        `getEditByCell()`, `Editing overview and related methods`

    - #### setSaveLocally

          public void setSaveLocally(java.lang.Boolean saveLocally)
                              throws java.lang.IllegalStateException

      For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server. In this case the grid's data should be specified as an array via the `data` attribute, and the datasource will simply act as a schema to describe the set of fields visible in the grid. `Inline edits`, or removals via the `canRemoveRecords` mechanism will update the local data array rather than attempting to perform operations against the dataSource.

      Note : This is an advanced setting

      Parameters:
        `saveLocally` - saveLocally Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setUseRemoteValidators(java.lang.Boolean)`, `Databinding overview and related methods`

    - #### getSaveLocally

          public java.lang.Boolean getSaveLocally()

      For grids with a specified `dataSource`, this property can be set to `true` to prevent the grid from attempting to save / retrieve data from the server. In this case the grid's data should be specified as an array via the `data` attribute, and the datasource will simply act as a schema to describe the set of fields visible in the grid. `Inline edits`, or removals via the `canRemoveRecords` mechanism will update the local data array rather than attempting to perform operations against the dataSource.
      Returns:
        Boolean
      See Also:
        `getUseRemoteValidators()`, `Databinding overview and related methods`

    - #### setSaveRequestProperties

          public void setSaveRequestProperties(DSRequest saveRequestProperties)

      For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).

      An example usage would be to customize the prompt displayed while saving is in progress if `waitForSave` is true.

      Note that for more advanced customization of save operations, `addOperation` and `updateOperation` are available to developers, allowing specification of an explicit `OperationBinding` for the add / update operation performed on save.

      Note : This is an advanced setting

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

    - #### getSaveRequestProperties

          public DSRequest getSaveRequestProperties()

      For editable grids with a specified `dataSource`, where `saveLocally` is false, this attribute may be used to specify standard DSRequest properties to apply to all save operations performed by this grid (whether triggered by user interaction, or explicit saveEdits or saveAllEdits call).

      An example usage would be to customize the prompt displayed while saving is in progress if `waitForSave` is true.

      Note that for more advanced customization of save operations, `addOperation` and `updateOperation` are available to developers, allowing specification of an explicit `OperationBinding` for the add / update operation performed on save.

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

    - #### setScreenReaderCellSeparator

          public void setScreenReaderCellSeparator(java.lang.String screenReaderCellSeparator)
                                            throws java.lang.IllegalStateException

      When screen reader mode is enabled, this invisible separator string is written out between each cell value. This string will be picked up by screen readers allowing them to more obviously identify to the user the different cell values as the contents of a row are read aloud. The `screenReaderRowSeparator` string if any will be written out after the last cell in a row to separate the last cell's value from the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable the feature.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all read the forward slash '/' as "slash". See Why Don’t Screen Readers Always Read What’s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Note : This is an advanced setting

      Parameters:
        `screenReaderCellSeparator` - . See `HTMLString`. Default value is "/"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `Accessibility overview and related methods`

    - #### getScreenReaderCellSeparator

          public java.lang.String getScreenReaderCellSeparator()

      When screen reader mode is enabled, this invisible separator string is written out between each cell value. This string will be picked up by screen readers allowing them to more obviously identify to the user the different cell values as the contents of a row are read aloud. The `screenReaderRowSeparator` string if any will be written out after the last cell in a row to separate the last cell's value from the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable the feature.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all read the forward slash '/' as "slash". See Why Don’t Screen Readers Always Read What’s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Returns:
        . See `HTMLString`
      See Also:
        `Accessibility overview and related methods`

    - #### setScreenReaderRowSeparator

          public void setScreenReaderRowSeparator(java.lang.String screenReaderRowSeparator)
                                           throws java.lang.IllegalStateException

      When screen reader mode is enabled, this invisible string will be written out after the last cell in a row. This string will be picked up by screen readers allowing them to more obviously identify to the user the end of the row's contents and the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable writing out an invisible string at the end of each row.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all pause briefly for a comma ',' that is within text. See Why Don’t Screen Readers Always Read What’s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Note : This is an advanced setting

      Parameters:
        `screenReaderRowSeparator` - . See `HTMLString`. Default value is ","
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setScreenReaderCellSeparator(java.lang.String)`, `Accessibility overview and related methods`

    - #### getScreenReaderRowSeparator

          public java.lang.String getScreenReaderRowSeparator()

      When screen reader mode is enabled, this invisible string will be written out after the last cell in a row. This string will be picked up by screen readers allowing them to more obviously identify to the user the end of the row's contents and the screen reader's announcement of the row's number and total number of rows in the grid (such as "3 of 20").

      This attribute may be set to null to disable writing out an invisible string at the end of each row.

      Note that screen readers vary widely on which punctuation symbols are read aloud, and sometimes it depends on the context of the punctuation. However, the widely-used JAWS, NVDA, and VoiceOver screen readers all pause briefly for a comma ',' that is within text. See Why Don’t Screen Readers Always Read What’s on the Screen? Part 1: Punctuation and Typographic Symbols for a table of findings on which punctuation symbols are read aloud by JAWS, NVDA, and VoiceOver.

      Returns:
        . See `HTMLString`
      See Also:
        `getScreenReaderCellSeparator()`, `Accessibility overview and related methods`

    - #### setScrollRedrawDelay

          public void setScrollRedrawDelay(int scrollRedrawDelay)

      While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user. See also `instantScrollTrackRedraw` for cases where this delay is skipped.
      Parameters:
        `scrollRedrawDelay` - scrollRedrawDelay Default value is 75

    - #### getScrollRedrawDelay

          public int getScrollRedrawDelay()

      While drag scrolling in an incrementally rendered grid, time in milliseconds to wait before redrawing, after the last mouse movement by the user. See also `instantScrollTrackRedraw` for cases where this delay is skipped.
      Returns:
        int

    - #### 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` - selectHeaderOnSort Default value is true

    - #### getSelectHeaderOnSort

          public java.lang.Boolean getSelectHeaderOnSort()

      If true, show the field-header for the sorted field (or the first field in a `multi-sort` grid) in the selected state.
      Returns:
        Boolean

    - #### setSelectionAppearance

          public void setSelectionAppearance(SelectionAppearance selectionAppearance)

      How selection of rows should be presented to the user.

      For `selectionAppearance:"checkbox"` with multiple selection allowed, you would typically use `selectionType`:"simple" (the default). Because `selectionType` and `selectionAppearance` are unrelated, the combination of `selectionAppearance:"checkbox"` and `selectionType:"multiple"` results in a grid where multiple selection can only be achieved via shift-click or ctrl-click.

      If using `"checkbox"` for a `ListGrid`, see also `checkboxField` for customization APIs.

      If using `"checkbox"` for a `TreeGrid`, an extra icon, `TreeGrid.getExtraIcon` is not supported. Additionally only `selectionType`:"simple" and "single" are supported. You can also toggle the display of a disabled checkbox on a treegrid, displayed when the node can't be selected, via `showDisabledSelectionCheckbox`.
      If this method is called after the component has been drawn/initialized: Changes selectionAppearance on the fly.

      Parameters:
        `selectionAppearance` - new selection appearance. Default value is "rowStyle"
      See Also:
        `Selection overview and related methods`

    - #### getSelectionAppearance

          public SelectionAppearance getSelectionAppearance()

      How selection of rows should be presented to the user.

      For `selectionAppearance:"checkbox"` with multiple selection allowed, you would typically use `selectionType`:"simple" (the default). Because `selectionType` and `selectionAppearance` are unrelated, the combination of `selectionAppearance:"checkbox"` and `selectionType:"multiple"` results in a grid where multiple selection can only be achieved via shift-click or ctrl-click.

      If using `"checkbox"` for a `ListGrid`, see also `checkboxField` for customization APIs.

      If using `"checkbox"` for a `TreeGrid`, an extra icon, `TreeGrid.getExtraIcon` is not supported. Additionally only `selectionType`:"simple" and "single" are supported. You can also toggle the display of a disabled checkbox on a treegrid, displayed when the node can't be selected, via `showDisabledSelectionCheckbox`.

      Returns:
        SelectionAppearance
      See Also:
        `Selection overview and related methods`

    - #### setSelectionProperty

          public void setSelectionProperty(java.lang.String selectionProperty)
                                    throws java.lang.IllegalStateException

      If specified, the selection object for this list will use this property to mark records as selected. In other words, if this attribute were set to `"isSelected"` any records in the listGrid data where `"isSelected"` is `true` will show up as selected in the grid. Similarly if records are selected within the grid after the grid has been created, this property will be set to true on the selected records.

      Note : This is an advanced setting

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

    - #### getSelectionProperty

          public java.lang.String getSelectionProperty()

      If specified, the selection object for this list will use this property to mark records as selected. In other words, if this attribute were set to `"isSelected"` any records in the listGrid data where `"isSelected"` is `true` will show up as selected in the grid. Similarly if records are selected within the grid after the grid has been created, this property will be set to true on the selected records.
      Returns:
        . See `String`
      See Also:
        `Appearance overview and related methods`

    - #### setSelectionType

          public void setSelectionType(SelectionStyle selectionType)

      Defines a listGrid's clickable-selection behavior.

      The default selection appearance is governed by `selectionAppearance`: if selectionAppearance is "checkbox", this will be "simple", otherwise, this will be "multiple".
      If this method is called after the component has been drawn/initialized: Changes selectionType on the fly.

      Parameters:
        `selectionType` - New selection style.. Default value is null
      See Also:
        `SelectionStyle`, `Appearance overview and related methods`, Multiple select Example

    - #### getSelectionType

          public SelectionStyle getSelectionType()

      Defines a listGrid's clickable-selection behavior.

      The default selection appearance is governed by `selectionAppearance`: if selectionAppearance is "checkbox", this will be "simple", otherwise, this will be "multiple".

      Returns:
        SelectionStyle
      See Also:
        `SelectionStyle`, `Appearance overview and related methods`, Multiple select Example

    - #### setSelectOnEdit

          public void setSelectOnEdit(java.lang.Boolean selectOnEdit)

      When the user starts editing a row, should the row also be selected?

      Note that when this attribute is set to `true`, other all other rows in the grid will be deselected when a record is selected due to editing.

      Note : This is an advanced setting

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

    - #### getSelectOnEdit

          public java.lang.Boolean getSelectOnEdit()

      When the user starts editing a row, should the row also be selected?

      Note that when this attribute is set to `true`, other all other rows in the grid will be deselected when a record is selected due to editing.

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

    - #### setShowAllColumns

          public void setShowAllColumns(java.lang.Boolean showAllColumns)
                                 throws java.lang.IllegalStateException

      Whether all columns should be drawn all at once, or only columns visible in the viewport.

      Drawing all columns causes longer initial rendering time, but allows smoother horizontal scrolling. With a very large number of columns, showAllColumns will become too slow.

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

    - #### getShowAllColumns

          public java.lang.Boolean getShowAllColumns()

      Whether all columns should be drawn all at once, or only columns visible in the viewport.

      Drawing all columns causes longer initial rendering time, but allows smoother horizontal scrolling. With a very large number of columns, showAllColumns will become too slow.

      Returns:
        Boolean

    - #### setShowAllRecords

          public void setShowAllRecords(java.lang.Boolean showAllRecords)

      Whether all rows should be drawn all at once, or only rows visible in the viewport.

      Drawing all rows causes longer initial rendering time, but allows smoother vertical scrolling. With a very large number of rows, showAllRows will become too slow.

      See also `drawAheadRatio` and `drawAllMaxCells`.

      Parameters:
        `showAllRecords` - showAllRecords Default value is false
      See Also:
        Rows Example

    - #### getShowAllRecords

          public java.lang.Boolean getShowAllRecords()

      Whether all rows should be drawn all at once, or only rows visible in the viewport.

      Drawing all rows causes longer initial rendering time, but allows smoother vertical scrolling. With a very large number of rows, showAllRows will become too slow.

      See also `drawAheadRatio` and `drawAllMaxCells`.

      Returns:
        Boolean
      See Also:
        Rows Example

    - #### setShowAsynchGroupingPrompt

          public void setShowAsynchGroupingPrompt(java.lang.Boolean showAsynchGroupingPrompt)
                                           throws java.lang.IllegalStateException

      If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
      Parameters:
        `showAsynchGroupingPrompt` - showAsynchGroupingPrompt Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowAsynchGroupingPrompt

          public java.lang.Boolean getShowAsynchGroupingPrompt()

      If set to false, do not show the `asynchGroupingPrompt` dialog during `asynchronous grouping`.
      Returns:
        Boolean

    - #### setShowBackgroundComponents

          public void setShowBackgroundComponents(java.lang.Boolean showBackgroundComponents)

      If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
      Parameters:
        `showBackgroundComponents` - showBackgroundComponents Default value is false

    - #### getShowBackgroundComponents

          public java.lang.Boolean getShowBackgroundComponents()

      If `true` this grid will create and show per-row backgroundComponents as detailed `here`.
      Returns:
        Boolean

    - #### setShowCellContextMenus

          public void setShowCellContextMenus(java.lang.Boolean showCellContextMenus)

      Whether to show a context menu with standard items for all context clicks on rows in the body.
      Parameters:
        `showCellContextMenus` - showCellContextMenus Default value is false

    - #### getShowCellContextMenus

          public java.lang.Boolean getShowCellContextMenus()

      Whether to show a context menu with standard items for all context clicks on rows in the body.
      Returns:
        Boolean

    - #### setShowClippedHeaderTitlesOnHover

          public void setShowClippedHeaderTitlesOnHover(boolean showClippedHeaderTitlesOnHover)
                                                 throws java.lang.IllegalStateException

      If true and a header button's title is clipped, then a hover containing the full field title is enabled.

      Note : This is an advanced setting

      Parameters:
        `showClippedHeaderTitlesOnHover` - showClippedHeaderTitlesOnHover Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `headerTitleClipped(int)`, `headerHoverHTML(int, java.lang.String)`

    - #### getShowClippedHeaderTitlesOnHover

          public boolean getShowClippedHeaderTitlesOnHover()

      If true and a header button's title is clipped, then a hover containing the full field title is enabled.
      Returns:
        boolean
      See Also:
        `headerTitleClipped(int)`, `headerHoverHTML(int, java.lang.String)`

    - #### setShowClippedValuesOnHover

          public void setShowClippedValuesOnHover(java.lang.Boolean showClippedValuesOnHover)
                                           throws java.lang.IllegalStateException

      If true and a cell's value is clipped, then a hover containing the full cell value is enabled.

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

      Note : This is an advanced setting

      Parameters:
        `showClippedValuesOnHover` - showClippedValuesOnHover Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `setCanHover(java.lang.Boolean)`, `cellValueHoverHTML(com.smartgwt.client.widgets.grid.ListGridRecord, int, int, java.lang.String)`

    - #### getShowClippedValuesOnHover

          public java.lang.Boolean getShowClippedValuesOnHover()

      If true and a cell's value is clipped, then a hover containing the full cell value is enabled.

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

      Returns:
        Boolean
      See Also:
        `getCanHover()`, `cellValueHoverHTML(com.smartgwt.client.widgets.grid.ListGridRecord, int, int, java.lang.String)`

    - #### setShowCollapsedGroupSummary

          public void setShowCollapsedGroupSummary(java.lang.Boolean showCollapsedGroupSummary)

      Should group summaries be visible when the group is collapsed?

      This property only applies to `grouped` grids showing `group summary rows`. When set to true, the group summary row(s) for each group will show up under the group header nodes when the group is collapsed, or at then end of the grouped set of data if the group is expanded.

      This property has no effect if `showGroupSummaryInHeader` is true.
      If this method is called after the component has been drawn/initialized: Setter for `showCollapsedGroupSummary`

      Parameters:
        `showCollapsedGroupSummary` - new showCollapsedGroupSummary value. Default value is false
      See Also:
        `groupBy(java.lang.String...)`

    - #### getShowCollapsedGroupSummary

          public java.lang.Boolean getShowCollapsedGroupSummary()

      Should group summaries be visible when the group is collapsed?

      This property only applies to `grouped` grids showing `group summary rows`. When set to true, the group summary row(s) for each group will show up under the group header nodes when the group is collapsed, or at then end of the grouped set of data if the group is expanded.

      This property has no effect if `showGroupSummaryInHeader` is true.

      Returns:
        Boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setShowDetailFields

          public void setShowDetailFields(java.lang.Boolean showDetailFields)
                                   throws java.lang.IllegalStateException

      Whether to include fields marked `detail:true` from this component's `DataSource`.

      Fields may also be included directly in this component's `fields` array in which case they will be present regardless of the `detail` attribute.

      When this property is `true`, `ListGrid`s will include all detail fields, but they will be initially hidden. The user may show these fields via the default header context menu (`showHeaderContextMenu`). Setting this property to false will completely exclude all detail fields from the list grid's fields array, such that they cannot be shown by the user or programmatically.

      To override the visibility of individual fields, use the standard `ListGrid.showField`, `ListGrid.hideField` and `ListGridField.showIf` APIs, for example, set showIf:"true" to show a detail field initially.

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

    - #### getShowDetailFields

          public java.lang.Boolean getShowDetailFields()

      Whether to include fields marked `detail:true` from this component's `DataSource`.

      Fields may also be included directly in this component's `fields` array in which case they will be present regardless of the `detail` attribute.

      When this property is `true`, `ListGrid`s will include all detail fields, but they will be initially hidden. The user may show these fields via the default header context menu (`showHeaderContextMenu`). Setting this property to false will completely exclude all detail fields from the list grid's fields array, such that they cannot be shown by the user or programmatically.

      To override the visibility of individual fields, use the standard `ListGrid.showField`, `ListGrid.hideField` and `ListGridField.showIf` APIs, for example, set showIf:"true" to show a detail field initially.

      Specified by:
        `getShowDetailFields` in interface `DataBoundComponent`
      Returns:
        Boolean
      See Also:
        `Databinding overview and related methods`

    - #### setShowEmptyMessage

          public void setShowEmptyMessage(java.lang.Boolean showEmptyMessage)

      Indicates whether the text of the emptyMessage property should be displayed if no data is available.
      Parameters:
        `showEmptyMessage` - showEmptyMessage Default value is true
      See Also:
        `setEmptyMessage(java.lang.String)`, Empty grid Example

    - #### getShowEmptyMessage

          public java.lang.Boolean getShowEmptyMessage()

      Indicates whether the text of the emptyMessage property should be displayed if no data is available.
      Returns:
        Boolean
      See Also:
        `getEmptyMessage()`, Empty grid Example

    - #### getShowExpansionEditorSaveButton

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

      When `ExpansionMode` is editor, should a Save button be shown below the the expanded editor?

      Note that if an expanded-row containing an editor is collapsed while changes are oustanding, changes will be either be automatically updated to the grid, or will first show a confirmation dialog, according to the value of `expansionEditorShowSaveDialog`.

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

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

    - #### setShowFilterEditor

          public void setShowFilterEditor(boolean showFilterEditor)

      Should this listGrid display a filter row. If true, this ListGrid will be drawn with a single editable row, (separate from the body) with a filter button.

      Values entered into this row are used as filter criteria to filter this List's data on enter-keypress or filter button click. `autoFetchTextMatchStyle` determines the textMatchStyle for the request passed to `ListGrid.fetchData`.

      The default `search operator` for an item in the filterEditor can be set via a field's `filterEditorProperties`. When this happens, calls to retrieve the criteria from the grid return `AdvancedCriteria`.

      Note that if `ListGrid.filterData` or `ListGrid.fetchData` is called directly while the filter editor is showing, the filter editor values will be updated to reflect the new set of criteria. If you wish to retain the user entered filter criteria and modify a subset of field values programmatically, this can be achieved by copying the existing set of criteria and adding other changes - something like this:

              Criteria newCriteria = myListGrid.getFilterEditorCriteria();
              newCriteria = DataSource.combineCriteria(newCriteria,
                 new Criteria("field1", "new value1")
              );
              myListGrid.setCriteria(newCriteria);

      In this example code we're using `ListGrid.getFilterEditorCriteria` rather than `ListGrid.getCriteria` - this ensures that if the user has typed a new value into the filter editor, but not yet clicked the filter button, we pick up the value the user entered. This sample code uses `DataSource.combineCriteria` to combine the existing filterEditorCriteria with some new custom criteria. This technique is applicable to both simple and advanced criteria.

      If you call `filterData()` and pass in criteria for dataSource fields that are not present in the ListGrid, these criteria will continue to be applied along with the user-visible criteria.

      filterEditor and advanced criteria: If a developer calls `filterData()` on a ListGrid and passes in `AdvancedCriteria`, expected behavior of the filter editor becomes ambiguous, since AdvancedCriteria has far more complex filter expression support than the ordinary filterEditor can represent.

      Default behavior for AdvancedCriteria will combine the AdvancedCriteria with the values in the filter editor as follows:

      - If the top level criteria has operator of type "and":
        Each field in the top level criteria array for which a 'canFilter' true field is shown in the listGrid will show up if the specified operator matches the default filter behavior (based on the `autoFetchTextMatchStyle`).
        If the user enters values in the filter editor, these will be combined with the existing AdvancedCriteria by either replacing or adding field level criteria at the top level.
      - If the top level criteria is a single field-criteria:
        If the field shows up in the listGrid and is canFilter:true, it will be displayed to the user (if the operator matches the default filter behavior for the field).
        If the user enters new filter criteria in the filterEditor, they will be combined with this existing criterion via a top level "and" operator, or if the user modifies the field for which the criterion already existed, it will be replaced.
      - Otherwise, if there are multiple top level criteria combined with an "or" operator, these will not be shown in the filter editor. Any filter parameters the user enters will be added to the existing criteria via an additional top level "and" operator, meaning the user will essentially filter a subset of the existing criteria
      If this method is called after the component has been drawn/initialized: Setter for the `showFilterEditor` property. Allows the filter editor to be shown or hidden at runtime.
      Parameters:
        `showFilterEditor` - true if the filter editor should be shown, false if it should be hidden. Default value is false
      See Also:
        Filter Example

    - #### getShowFilterEditor

          public boolean getShowFilterEditor()

      Should this listGrid display a filter row. If true, this ListGrid will be drawn with a single editable row, (separate from the body) with a filter button.

      Values entered into this row are used as filter criteria to filter this List's data on enter-keypress or filter button click. `autoFetchTextMatchStyle` determines the textMatchStyle for the request passed to `ListGrid.fetchData`.

      The default `search operator` for an item in the filterEditor can be set via a field's `filterEditorProperties`. When this happens, calls to retrieve the criteria from the grid return `AdvancedCriteria`.

      Note that if `ListGrid.filterData` or `ListGrid.fetchData` is called directly while the filter editor is showing, the filter editor values will be updated to reflect the new set of criteria. If you wish to retain the user entered filter criteria and modify a subset of field values programmatically, this can be achieved by copying the existing set of criteria and adding other changes - something like this:

              Criteria newCriteria = myListGrid.getFilterEditorCriteria();
              newCriteria = DataSource.combineCriteria(newCriteria,
                 new Criteria("field1", "new value1")
              );
              myListGrid.setCriteria(newCriteria);

      In this example code we're using `ListGrid.getFilterEditorCriteria` rather than `ListGrid.getCriteria` - this ensures that if the user has typed a new value into the filter editor, but not yet clicked the filter button, we pick up the value the user entered. This sample code uses `DataSource.combineCriteria` to combine the existing filterEditorCriteria with some new custom criteria. This technique is applicable to both simple and advanced criteria.

      If you call `filterData()` and pass in criteria for dataSource fields that are not present in the ListGrid, these criteria will continue to be applied along with the user-visible criteria.

      filterEditor and advanced criteria: If a developer calls `filterData()` on a ListGrid and passes in `AdvancedCriteria`, expected behavior of the filter editor becomes ambiguous, since AdvancedCriteria has far more complex filter expression support than the ordinary filterEditor can represent.

      Default behavior for AdvancedCriteria will combine the AdvancedCriteria with the values in the filter editor as follows:

      - If the top level criteria has operator of type "and":
        Each field in the top level criteria array for which a 'canFilter' true field is shown in the listGrid will show up if the specified operator matches the default filter behavior (based on the `autoFetchTextMatchStyle`).
        If the user enters values in the filter editor, these will be combined with the existing AdvancedCriteria by either replacing or adding field level criteria at the top level.
      - If the top level criteria is a single field-criteria:
        If the field shows up in the listGrid and is canFilter:true, it will be displayed to the user (if the operator matches the default filter behavior for the field).
        If the user enters new filter criteria in the filterEditor, they will be combined with this existing criterion via a top level "and" operator, or if the user modifies the field for which the criterion already existed, it will be replaced.
      - Otherwise, if there are multiple top level criteria combined with an "or" operator, these will not be shown in the filter editor. Any filter parameters the user enters will be added to the existing criteria via an additional top level "and" operator, meaning the user will essentially filter a subset of the existing criteria
      Returns:
        boolean
      See Also:
        Filter Example

    - #### setShowGridSummary

          public void setShowGridSummary(java.lang.Boolean showGridSummary)

      Should this ListGrid show a summary row beneath the last record of the grid. This summary row will contain per-field summary information. See `showGridSummary` and `ListGrid.getGridSummaryFunction` for details on how the summary value to be displayed for each column will be calculated.

      Note that the `summaryRow autoChild` will be created to actually display the summary row.
      If this method is called after the component has been drawn/initialized: Setter for the `showGridSummary` attribute

      Parameters:
        `showGridSummary` - new value for this.showGridSummary. Default value is false

    - #### getShowGridSummary

          public java.lang.Boolean getShowGridSummary()

      Should this ListGrid show a summary row beneath the last record of the grid. This summary row will contain per-field summary information. See `showGridSummary` and `ListGrid.getGridSummaryFunction` for details on how the summary value to be displayed for each column will be calculated.

      Note that the `summaryRow autoChild` will be created to actually display the summary row.

      Returns:
        Boolean

    - #### setShowGroupSummary

          public void setShowGroupSummary(java.lang.Boolean showGroupSummary)

      If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields. Summary information will be calculated by the `ListGridField.getGroupSummary` method if specified, otherwise via the specified `summaryFunction`.
      If this method is called after the component has been drawn/initialized: Setter for the `showGroupSummary` attribute
      Parameters:
        `showGroupSummary` - new value for this.showGroupSummary. Default value is false
      See Also:
        `setGroupByFieldSummaries(java.lang.String...)`

    - #### getShowGroupSummary

          public java.lang.Boolean getShowGroupSummary()

      If this listGrid supports `grouping`, setting this property will cause the grid to render an extra row at the end of each group when grouped, containing summary information for the fields. Summary information will be calculated by the `ListGridField.getGroupSummary` method if specified, otherwise via the specified `summaryFunction`.
      Returns:
        Boolean
      See Also:
        `getGroupByFieldSummaries()`

    - #### setShowGroupSummaryInHeader

          public void setShowGroupSummaryInHeader(java.lang.Boolean showGroupSummaryInHeader)

      If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.

      Note that this means the group header node will be showing multiple field values rather than the default display of a single cell spanning all columns containing the group title. Developers may specify an explicit `groupTitleField`, or rely on the automatically generated `groupTitleColumn` to have group titles be visible in as well as the summary values.

      Also note that multi-line group summaries are not supported when showing the group summary in the group header. If multiple `field summary functions` are defined for some field only the first will be displayed when this property is set to true.
      If this method is called after the component has been drawn/initialized: Setter for `showGroupSummaryInHeader`

      Parameters:
        `showGroupSummaryInHeader` - new showGroupSummaryInHeader state. Default value is false
      See Also:
        `groupBy(java.lang.String...)`

    - #### getShowGroupSummaryInHeader

          public java.lang.Boolean getShowGroupSummaryInHeader()

      If this grid is `grouped`, and `showGroupSummary` is true, setting this property causes field summary values for each group to be displayed directly in the group header node, rather than showing up at the bottom of each expanded group.

      Note that this means the group header node will be showing multiple field values rather than the default display of a single cell spanning all columns containing the group title. Developers may specify an explicit `groupTitleField`, or rely on the automatically generated `groupTitleColumn` to have group titles be visible in as well as the summary values.

      Also note that multi-line group summaries are not supported when showing the group summary in the group header. If multiple `field summary functions` are defined for some field only the first will be displayed when this property is set to true.

      Returns:
        Boolean
      See Also:
        `groupBy(java.lang.String...)`

    - #### setShowGroupTitleColumn

          public void setShowGroupTitleColumn(java.lang.Boolean showGroupTitleColumn)
                                       throws java.lang.IllegalStateException

      If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.

      In this case there are 2 options for where the group title will show up. Developers may specify an existing field to put the title values into via `groupTitleField`. If no groupTitleField is specified, this property may be set to `true` which causes a `groupTitleColumn` to be automatically generated. Each group header will show the group title in this column (records within the group will not show a value for this column). The column appears in the leftmost position within the grid (unless `showRowNumbers` is true, in which case this column shows up in the second-leftmost position), and by default will auto-fit to its data.

      To customize this field, developers may modify `groupTitleColumnProperties`

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

    - #### getShowGroupTitleColumn

          public java.lang.Boolean getShowGroupTitleColumn()

      If this grid is `grouped` and `showGroupSummaryInHeader` is true, instead of group header nodes showing up with a single cell value spanning the full set of columns, summaries for each field will show up in the appropriate columns of the header node.

      In this case there are 2 options for where the group title will show up. Developers may specify an existing field to put the title values into via `groupTitleField`. If no groupTitleField is specified, this property may be set to `true` which causes a `groupTitleColumn` to be automatically generated. Each group header will show the group title in this column (records within the group will not show a value for this column). The column appears in the leftmost position within the grid (unless `showRowNumbers` is true, in which case this column shows up in the second-leftmost position), and by default will auto-fit to its data.

      To customize this field, developers may modify `groupTitleColumnProperties`

      Returns:
        Boolean

    - #### setShowHeader

          public void setShowHeader(java.lang.Boolean showHeader)

      Should we show the header for this ListGrid?
      If this method is called after the component has been drawn/initialized: Show or hide the ListGrid header.
      Parameters:
        `showHeader` - true to show the header, false to hide it.. Default value is true
      See Also:
        `GridHeader overview and related methods`

    - #### getShowHeader

          public java.lang.Boolean getShowHeader()

      Should we show the header for this ListGrid?
      Returns:
        Boolean
      See Also:
        `GridHeader overview and related methods`

    - #### setShowHeaderContextMenu

          public void setShowHeaderContextMenu(java.lang.Boolean showHeaderContextMenu)
                                        throws java.lang.IllegalStateException

      Whether to show a context menu on the header with standard items for showing and hiding fields. Not supported for `CubeGrid`.
      Parameters:
        `showHeaderContextMenu` - showHeaderContextMenu Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `com.smartgwt.client.widgets.grid.ListGrid#displayHeaderContextMenu`, `getHeaderContextMenuItems(java.lang.Integer)`, `GridHeader overview and related methods`

    - #### getShowHeaderContextMenu

          public java.lang.Boolean getShowHeaderContextMenu()

      Whether to show a context menu on the header with standard items for showing and hiding fields. Not supported for `CubeGrid`.
      Returns:
        Boolean
      See Also:
        `com.smartgwt.client.widgets.grid.ListGrid#displayHeaderContextMenu`, `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` - showHeaderMenuButton Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowHeaderMenuButton

          public java.lang.Boolean getShowHeaderMenuButton()

      If set to true and `showHeaderContextMenu` is true, the `headerMenuButton` will be displayed when the user rolls over the header buttons in this grid. Not supported for `CubeGrid`.
      Returns:
        Boolean

    - #### setShowHeaderSpanTitlesInFormulaBuilder

          public void setShowHeaderSpanTitlesInFormulaBuilder(java.lang.Boolean showHeaderSpanTitlesInFormulaBuilder)

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
      Parameters:
        `showHeaderSpanTitlesInFormulaBuilder` - showHeaderSpanTitlesInFormulaBuilder Default value is true
      See Also:
        `setFormulaBuilderSpanTitleSeparator(java.lang.String)`

    - #### getShowHeaderSpanTitlesInFormulaBuilder

          public java.lang.Boolean getShowHeaderSpanTitlesInFormulaBuilder()

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the FormulaBuilder or SummaryBuilder.
      Returns:
        Boolean
      See Also:
        `getFormulaBuilderSpanTitleSeparator()`

    - #### setShowHeaderSpanTitlesInHiliteEditor

          public void setShowHeaderSpanTitlesInHiliteEditor(java.lang.Boolean showHeaderSpanTitlesInHiliteEditor)

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
      Parameters:
        `showHeaderSpanTitlesInHiliteEditor` - showHeaderSpanTitlesInHiliteEditor Default value is true
      See Also:
        `setHiliteEditorSpanTitleSeparator(java.lang.String)`

    - #### getShowHeaderSpanTitlesInHiliteEditor

          public java.lang.Boolean getShowHeaderSpanTitlesInHiliteEditor()

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the `hilite editor`.
      Returns:
        Boolean
      See Also:
        `getHiliteEditorSpanTitleSeparator()`

    - #### setShowHeaderSpanTitlesInSortEditor

          public void setShowHeaderSpanTitlesInSortEditor(java.lang.Boolean showHeaderSpanTitlesInSortEditor)

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
      Parameters:
        `showHeaderSpanTitlesInSortEditor` - showHeaderSpanTitlesInSortEditor Default value is true
      See Also:
        `setSortEditorSpanTitleSeparator(java.lang.String)`

    - #### getShowHeaderSpanTitlesInSortEditor

          public java.lang.Boolean getShowHeaderSpanTitlesInSortEditor()

      If this grid has specified `headerSpans`, should field titles be prefixed with the titles of the headerSpans in which they are contained when using the multi-sort editor.
      Returns:
        Boolean
      See Also:
        `getSortEditorSpanTitleSeparator()`

    - #### setShowHilitesInGroupSummary

          public void setShowHilitesInGroupSummary(boolean showHilitesInGroupSummary)

      Determines whether hiliting for any field in this grid is shown in a group summary. This setting affects all fields of the grid.

      To suppress hilites for a specific field see `showHilitesInGroupSummary`.

      Hiliting in summary fields (columns) can be disabled by setting `includeHiliteInSummaryField` to false.

      Parameters:
        `showHilitesInGroupSummary` - showHilitesInGroupSummary Default value is true

    - #### getShowHilitesInGroupSummary

          public boolean getShowHilitesInGroupSummary()

      Determines whether hiliting for any field in this grid is shown in a group summary. This setting affects all fields of the grid.

      To suppress hilites for a specific field see `showHilitesInGroupSummary`.

      Hiliting in summary fields (columns) can be disabled by setting `includeHiliteInSummaryField` to false.

      Returns:
        boolean

    - #### setShowHover

          public void setShowHover(java.lang.Boolean showHover)

      If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse. The contents of the hover is determined by `ListGrid.cellHoverHTML`.
      Overrides:
        `setShowHover` in class `Canvas`
      Parameters:
        `showHover` - showHover Default value is true
      See Also:
        `setCanHover(java.lang.Boolean)`, `com.smartgwt.client.widgets.grid.ListGrid#cellHoverHTML`

    - #### getShowHover

          public java.lang.Boolean getShowHover()

      If true, and canHover is also true, when the user hovers over a cell, hover text will pop up next to the mouse. The contents of the hover is determined by `ListGrid.cellHoverHTML`.
      Overrides:
        `getShowHover` in class `Canvas`
      Returns:
        Boolean
      See Also:
        `getCanHover()`, `com.smartgwt.client.widgets.grid.ListGrid#cellHoverHTML`

    - #### setShowHoverComponents

          public void setShowHoverComponents(java.lang.Boolean showHoverComponents)

      When set to true and canHover is also true, shows a widget hovering at the mouse point.

      A number of builtin modes are provided - see `HoverMode`.

      Note : This is an advanced setting

      Overrides:
        `setShowHoverComponents` in class `Canvas`
      Parameters:
        `showHoverComponents` - showHoverComponents Default value is false

    - #### getShowHoverComponents

          public java.lang.Boolean getShowHoverComponents()

      When set to true and canHover is also true, shows a widget hovering at the mouse point.

      A number of builtin modes are provided - see `HoverMode`.

      Overrides:
        `getShowHoverComponents` in class `Canvas`
      Returns:
        Boolean

    - #### setShowRecordComponents

          public void setShowRecordComponents(java.lang.Boolean showRecordComponents)

      If set to true, this listGrid should create and show an embedded component in every row of the grid.

      Developers using this feature should implement the `ListGrid.createRecordComponent` and `ListGrid.updateRecordComponent` methods.

      createRecordComponent() will be called by the grid as rows are rendered to create the record components to use per record or per cell. Your implementation should return a component to embed in the record passed in. Note that this method should create and return a new component each time it is called.

      This feature also supports reusing components in different rows in the grid. If `recordComponentPoolingMode` is set to `"recycle"`, components created by the `createRecordComponent` method will become available for reuse when they are no longer associated with a record. The system will automatically store these in a pool. When a record with no associated component is rendered, if there are any recordComponents in this pool, the system will call `ListGrid.updateRecordComponent`, and pass in the component. This allows the developer to apply record-specific attributes to an already created component and render it out into the new record. This greatly improves performance for large grids as it allows a small number of components to be created and reused rather than maintaining potentially one record component for every cell in the grid.

      Record components are refreshed according to the recordComponentPooling mode. If set to `data` components will be maintained as long as their associated record remains present in the data set (but this can require a component to be created for every record so is not desirable for large data sets). Otherwise record components are refreshed as they are scrolled into view. Note that you can explicitly refresh record components via `ListGrid.invalidateRecordComponents` and `ListGrid.refreshRecordComponent`

      NOTE: recordComponents can have an impact on row height and therefore may require `virtualScrolling`. This is not supported in conjunction with `frozen fields`. If you are using recordComponents in a listGrid with frozenFields, you can specify an explicit `recordComponentHeight` to ensure every row in the grid renders tall enough to accommodate the recordComponents, and as such virtual scrolling is not required.
      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()

      If set to true, this listGrid should create and show an embedded component in every row of the grid.

      Developers using this feature should implement the `ListGrid.createRecordComponent` and `ListGrid.updateRecordComponent` methods.

      createRecordComponent() will be called by the grid as rows are rendered to create the record components to use per record or per cell. Your implementation should return a component to embed in the record passed in. Note that this method should create and return a new component each time it is called.

      This feature also supports reusing components in different rows in the grid. If `recordComponentPoolingMode` is set to `"recycle"`, components created by the `createRecordComponent` method will become available for reuse when they are no longer associated with a record. The system will automatically store these in a pool. When a record with no associated component is rendered, if there are any recordComponents in this pool, the system will call `ListGrid.updateRecordComponent`, and pass in the component. This allows the developer to apply record-specific attributes to an already created component and render it out into the new record. This greatly improves performance for large grids as it allows a small number of components to be created and reused rather than maintaining potentially one record component for every cell in the grid.

      Record components are refreshed according to the recordComponentPooling mode. If set to `data` components will be maintained as long as their associated record remains present in the data set (but this can require a component to be created for every record so is not desirable for large data sets). Otherwise record components are refreshed as they are scrolled into view. Note that you can explicitly refresh record components via `ListGrid.invalidateRecordComponents` and `ListGrid.refreshRecordComponent`

      NOTE: recordComponents can have an impact on row height and therefore may require `virtualScrolling`. This is not supported in conjunction with `frozen fields`. If you are using recordComponents in a listGrid with frozenFields, you can specify an explicit `recordComponentHeight` to ensure every row in the grid renders tall enough to accommodate the recordComponents, and as such virtual scrolling is not required.

      Returns:
        Boolean
      See Also:
        `getRecordComponentPosition()`, `getShowRecordComponentsByCell()`, `RecordComponentPoolingMode`, `showRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer)`, `createRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer)`, `updateRecordComponent(com.smartgwt.client.widgets.grid.ListGridRecord, java.lang.Integer, com.smartgwt.client.widgets.Canvas, boolean)`

    - #### 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.
      Parameters:
        `showRollOver` - showRollOver 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.
      Returns:
        Boolean
      See Also:
        `Appearance overview and related methods`

    - #### setShowRollOverCanvas

          public void setShowRollOverCanvas(java.lang.Boolean showRollOverCanvas)

      If `showRollOver` is true, this property provides an option to show roll over styling with the `rollOverCanvas` and `rollUnderCanvas` rather than using css styling.

      This setting is not compatible with `frozenFields`, as it would require two separate elements and would limit styling options.

      Note : This is an advanced setting

      Parameters:
        `showRollOverCanvas` - showRollOverCanvas Default value is null

    - #### getShowRollOverCanvas

          public java.lang.Boolean getShowRollOverCanvas()

      If `showRollOver` is true, this property provides an option to show roll over styling with the `rollOverCanvas` and `rollUnderCanvas` rather than using css styling.

      This setting is not compatible with `frozenFields`, as it would require two separate elements and would limit styling options.

      Returns:
        Boolean

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

    - #### getShowRowNumbers

          public java.lang.Boolean getShowRowNumbers()

      When set to true, shows an additional field at the beginning of the field-list (respecting RTL) that displays the current rowNum for each record.
      Returns:
        Boolean

    - #### setShowSelectedStyle

          public void setShowSelectedStyle(java.lang.Boolean showSelectedStyle)

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

    - #### getShowSelectedStyle

          public java.lang.Boolean getShowSelectedStyle()

      Should the "Selected" style be applied to selected records?
      Returns:
        Boolean

    - #### setShowSelectionCanvas

          public void setShowSelectionCanvas(java.lang.Boolean showSelectionCanvas)

      If `selectionType` is set to `"single"`, setting this property to true means selection will be displayed to the user with the `selectionCanvas` and `selectionUnderCanvas` rather than using css styling.

      This setting is not compatible with `frozenFields`, as it would require two separate elements and would limit styling options.

      Note : This is an advanced setting

      Parameters:
        `showSelectionCanvas` - showSelectionCanvas Default value is null

    - #### getShowSelectionCanvas

          public java.lang.Boolean getShowSelectionCanvas()

      If `selectionType` is set to `"single"`, setting this property to true means selection will be displayed to the user with the `selectionCanvas` and `selectionUnderCanvas` rather than using css styling.

      This setting is not compatible with `frozenFields`, as it would require two separate elements and would limit styling options.

      Returns:
        Boolean

    - #### 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` - showSortArrow Default value is null
      See Also:
        `Appearance overview and related methods`

    - #### getShowSortArrow

          public SortArrow getShowSortArrow()

      Indicates whether a sorting arrow should appear for the listGrid, and its location. See `SortArrow` for details.

      Clicking the sort arrow reverses the direction of sorting for the current sort column (if any), or sorts the listGrid by its first sortable column. The arrow image on the button indicates the current direction of sorting. If undefined, the sort arrow will show up in the sorted field, and the corner sort button will be displayed if a vertical scrollbar is being displayed

      Returns:
        SortArrow
      See Also:
        `Appearance overview and related methods`

    - #### setShowSortNumerals

          public void setShowSortNumerals(java.lang.Boolean showSortNumerals)

      When multiple fields are sorted, set this to false to hide the sort-numeral displayed by default after the sort-arrows in the header-buttons of sorted fields.

      Note : This is an advanced setting

      Parameters:
        `showSortNumerals` - showSortNumerals Default value is null

    - #### getShowSortNumerals

          public java.lang.Boolean getShowSortNumerals()

      When multiple fields are sorted, set this to false to hide the sort-numeral displayed by default after the sort-arrows in the header-buttons of sorted fields.
      Returns:
        Boolean

    - #### setShowTreeColumnPicker

          public void setShowTreeColumnPicker(java.lang.Boolean showTreeColumnPicker)
                                       throws java.lang.IllegalStateException

      When `headerSpans` are in use, whether to show a hierarchical column picker that includes both headerSpans and normal headers, with normal headers indented under headerSpans similarly to how a `TreeGrid` displays a Tree.

      If `showTreeColumnPicker` is false, no column picker will be shown on the headerSpan itself, and the column picker for a clicked on a normal field header will include only normal fields.

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

    - #### getShowTreeColumnPicker

          public java.lang.Boolean getShowTreeColumnPicker()

      When `headerSpans` are in use, whether to show a hierarchical column picker that includes both headerSpans and normal headers, with normal headers indented under headerSpans similarly to how a `TreeGrid` displays a Tree.

      If `showTreeColumnPicker` is false, no column picker will be shown on the headerSpan itself, and the column picker for a clicked on a normal field header will include only normal fields.

      Returns:
        Boolean

    - #### setShrinkForFreeze

          public void setShrinkForFreeze(java.lang.Boolean shrinkForFreeze)

      If this list grid is showing any `frozen` fields, and a horizontal scrollbar is visible at the bottom of the liquid columns, should an equivalent scrollbar gap be left visible below the frozen columns?
      Note that if set to `true` any backgroundColor or border applied to the ListGrid will show up below the bottom row of the frozen column(s).

      Note : This is an advanced setting

      Parameters:
        `shrinkForFreeze` - shrinkForFreeze Default value is false
      See Also:
        `FrozenFields overview and related methods`

    - #### getShrinkForFreeze

          public java.lang.Boolean getShrinkForFreeze()

      If this list grid is showing any `frozen` fields, and a horizontal scrollbar is visible at the bottom of the liquid columns, should an equivalent scrollbar gap be left visible below the frozen columns?
      Note that if set to `true` any backgroundColor or border applied to the ListGrid will show up below the bottom row of the frozen column(s).
      Returns:
        Boolean
      See Also:
        `FrozenFields overview and related methods`

    - #### setSingleCellValueProperty

          public void setSingleCellValueProperty(java.lang.String singleCellValueProperty)

      If `record[this.singleCellValueProperty]` is set for some record, the record will be displayed as a single cell spanning every column in the grid, with contents set to the value of `record[this.singleCellValueProperty]`.
      Parameters:
        `singleCellValueProperty` - . See `String`. 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:
        . See `String`

    - #### setSkinImgDir

          public void setSkinImgDir(java.lang.String skinImgDir)

      Where do 'skin' images (those provided with the class) live?

      Note : This is an advanced setting

      Overrides:
        `setSkinImgDir` in class `Canvas`
      Parameters:
        `skinImgDir` - . See `String`. Default value is "images/ListGrid/"
      See Also:
        `Images overview and related methods`

    - #### getSkinImgDir

          public java.lang.String getSkinImgDir()

      Where do 'skin' images (those provided with the class) live?
      Overrides:
        `getSkinImgDir` in class `Canvas`
      Returns:
        . See `String`
      See Also:
        `Images overview and related methods`

    - #### setSortAscendingImage

          public void setSortAscendingImage(ImgProperties sortAscendingImage)

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

      Note : This is an advanced setting

      Parameters:
        `sortAscendingImage` - sortAscendingImage Default value is {...}
      See Also:
        `Appearance overview and related methods`

    - #### getSortAscendingImage

          public ImgProperties getSortAscendingImage()

      Image to show when sorting ascending. See `ImgProperties` for format.
      Returns:
        ImgProperties
      See Also:
        `Appearance overview and related methods`

    - #### setSortDescendingImage

          public void setSortDescendingImage(ImgProperties sortDescendingImage)

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

      Note : This is an advanced setting

      Parameters:
        `sortDescendingImage` - sortDescendingImage Default value is {...}
      See Also:
        `Appearance overview and related methods`

    - #### getSortDescendingImage

          public ImgProperties getSortDescendingImage()

      Image to show when sorting descending. See `ImgProperties` for format.
      Returns:
        ImgProperties
      See Also:
        `Appearance overview and related methods`

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setSorterButtonTitle

          public void setSorterButtonTitle(java.lang.String sorterButtonTitle)
                                    throws java.lang.IllegalStateException

      The title for the corner sort button. The title will only ListGrid.changeDefaults() rather than replacing with an entirely new object.
      Parameters:
        `sorterButtonTitle` - . See `String`. Default value is "corner menu"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `GridHeader overview and related methods`

    - #### getSorterButtonTitle

          public java.lang.String getSorterButtonTitle()

      The title for the corner sort button. The title will only ListGrid.changeDefaults() rather than replacing with an entirely new object.
      Returns:
        . See `String`
      See Also:
        `GridHeader overview and related methods`

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setSortFieldDescendingText

          public void setSortFieldDescendingText(java.lang.String sortFieldDescendingText)

      If we're showing a `headerContextMenu` for this grid, this attribute will be shown as the menu item title to sort a field in descending order.
      Parameters:
        `sortFieldDescendingText` - . See `String`. 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:
        . See `String`

    - #### setSortNumeralStyle

          public void setSortNumeralStyle(java.lang.String sortNumeralStyle)

      When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.

      Note : This is an advanced setting

      Parameters:
        `sortNumeralStyle` - . See `CSSStyleName`. Default value is "sortNumeral"

    - #### getSortNumeralStyle

          public java.lang.String getSortNumeralStyle()

      When multiple fields are sorted, the Style to apply to the numeral that appears after the sort-arrows in the header-buttons of sorted fields.
      Returns:
        . See `CSSStyleName`

    - #### 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` - stopOnErrors Default value is false
      See Also:
        `setWaitForSave(java.lang.Boolean)`, `Editing overview and related methods`

    - #### getStopOnErrors

          public java.lang.Boolean getStopOnErrors()

      If this is an editable listGrid, this property determines how failure to save due to validation errors should be displayed to the user.

      If this property is true, when validation errors occur the errors will be displayed to the user in an alert, and focus will be returned to the first cell to fail validation.

      If false, the cells that failed validation will be silently styled with the editFailedBaseStyle.

      Note: stopOnErrors being set to true implies that 'waitForSave' is also true. We will not dismiss the editor until save has completed if stopOnErrors is true.

      Returns:
        Boolean
      See Also:
        `getWaitForSave()`, `Editing overview and related methods`

    - #### setStyleName

          public void setStyleName(java.lang.String styleName)

      Default CSS class
      Overrides:
        `setStyleName` in class `Canvas`
      Parameters:
        `styleName` - . See `CSSStyleName`. Default value is "listGrid"
      See Also:
        `Appearance overview and related methods`

    - #### getStyleName

          public java.lang.String getStyleName()

      Default CSS class
      Overrides:
        `getStyleName` in class `Canvas`
      Returns:
        . See `CSSStyleName`
      See Also:
        `Appearance overview and related methods`

    - #### getSummaryRow

          public ListGrid getSummaryRow()
                                 throws java.lang.IllegalStateException

      Automatically generated ListGrid for displaying grid summary information (see `showGridSummary`).

      This component is an AutoChild and as such may be customized via `listGrid.summaryRowProperties` and `listGrid.summaryRowDefaults`

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

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

    - #### setSummaryRowCriteria

          public void setSummaryRowCriteria(Criteria summaryRowCriteria)

      If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row. If unset, and any filter criteria have been specified for the grid, they will be used.

      Note : This is an advanced setting

      Parameters:
        `summaryRowCriteria` - summaryRowCriteria Default value is null

    - #### getSummaryRowCriteria

          public Criteria getSummaryRowCriteria()

      If `showGridSummary` is true, and a `summaryRowDataSource` is specified this property may be used to specify fetch criteria to apply when retrieving summary data to show in the summary row. If unset, and any filter criteria have been specified for the grid, they will be used.
      Returns:
        Criteria

    - #### setSummaryRowDataSource

          public void setSummaryRowDataSource(DataSource summaryRowDataSource)
                                       throws java.lang.IllegalStateException

      If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary` and `ListGrid.getGridSummaryFunction`).

      In some cases however it may make sense to calculate summary values on the server and retrieve them via a dataSource fetch. If set, this property specifies a dataSource to fetch against for the summary row. The dataSource should return a single record with summary data for each field for which summary data should be shown. Note that specifying this property completely bypasses the standard client-side grid summary calculation logic.

      The fetch may be further customized via `summaryRowCriteria` and `summaryRowFetchRequestProperties`

      Note : This is an advanced setting

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

    - #### getSummaryRowDataSource

          public DataSource getSummaryRowDataSource()

      If `showGridSummary` is true, by default summary values are calculated on the client based on the current data-set for the grid (see `ListGrid.getGridSummary` and `ListGrid.getGridSummaryFunction`).

      In some cases however it may make sense to calculate summary values on the server and retrieve them via a dataSource fetch. If set, this property specifies a dataSource to fetch against for the summary row. The dataSource should return a single record with summary data for each field for which summary data should be shown. Note that specifying this property completely bypasses the standard client-side grid summary calculation logic.

      The fetch may be further customized via `summaryRowCriteria` and `summaryRowFetchRequestProperties`

      Returns:
        DataSource

    - #### setSummaryRowHeight

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

      Default height for the `summary row autoChild`. Note that this height is a minumum - the summary row has `autoFitData` set to "vertical" so if multiple rows are visible in the grid summary, the summaryRow component will expand to accomodate them.
      Parameters:
        `summaryRowHeight` - summaryRowHeight Default value is 20
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getSummaryRowHeight

          public int getSummaryRowHeight()

      Default height for the `summary row autoChild`. Note that this height is a minumum - the summary row has `autoFitData` set to "vertical" so if multiple rows are visible in the grid summary, the summaryRow component will expand to accomodate them.
      Returns:
        int

    - #### setSummaryRowStyle

          public void setSummaryRowStyle(java.lang.String summaryRowStyle)

      `baseStyle` for the `summaryRow`

      Note : This is an advanced setting

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

    - #### getSummaryRowStyle

          public java.lang.String getSummaryRowStyle()

      `baseStyle` for the `summaryRow`
      Returns:
        . See `CSSStyleName`

    - #### setTallBaseStyle

          public void setTallBaseStyle(java.lang.String tallBaseStyle)
                                throws java.lang.IllegalStateException

      "Tall" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style unless the grid is showing fixed height rows with a specified cellHeight that matches `normalCellHeight`, in which case `normalBaseStyle` will be used. Note that in Internet Explorer if `fastCellUpdates` is true, `tallBaseStyle` will also be used even if the cellHeight matches the specified `normalCellHeight` for the grid.

      Parameters:
        `tallBaseStyle` - . See `CSSStyleName`. Default value is "cell"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created
      See Also:
        `getBaseStyle()`

    - #### getTallBaseStyle

          public java.lang.String getTallBaseStyle()

      "Tall" baseStyle for this listGrid. Only applies if `baseStyle` is set to null.

      If `baseStyle` is unset, this property will be used as a base cell style unless the grid is showing fixed height rows with a specified cellHeight that matches `normalCellHeight`, in which case `normalBaseStyle` will be used. Note that in Internet Explorer if `fastCellUpdates` is true, `tallBaseStyle` will also be used even if the cellHeight matches the specified `normalCellHeight` for the grid.

      Returns:
        . See `CSSStyleName`
      See Also:
        `getBaseStyle()`

    - #### setTrackerImage

          public void setTrackerImage(ImgProperties trackerImage)

      Default image to use for the dragTracker when things are dragged within or out of this list. See `ImgProperties` for format.

      Note : This is an advanced setting

      Parameters:
        `trackerImage` - trackerImage Default value is {...}
      See Also:
        `setDragTrackerMode(com.smartgwt.client.types.DragTrackerMode)`, `com.smartgwt.client.widgets.grid.ListGrid#getDragTrackerIcon`

    - #### getTrackerImage

          public ImgProperties getTrackerImage()

      Default image to use for the dragTracker when things are dragged within or out of this list. See `ImgProperties` for format.
      Returns:
        ImgProperties
      See Also:
        `getDragTrackerMode()`, `com.smartgwt.client.widgets.grid.ListGrid#getDragTrackerIcon`

    - #### setUnfreezeFieldText

          public void setUnfreezeFieldText(java.lang.String unfreezeFieldText)

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Unfreeze " + the field's summary title.

      Note : This is an advanced setting

      Parameters:
        `unfreezeFieldText` - . See `String`. Default value is "Unfreeze \$title}"

    - #### getUnfreezeFieldText

          public java.lang.String getUnfreezeFieldText()

      If we're showing a `headerContextMenu` for this grid and `this.canFreezeFields` is true, this string will be shown as the title for the menu item to unfreeze a currently frozen field.

      This is a dynamic string - text within `\${...}` will be evaluated as JS code when the message is displayed, with `title` available as a variable containing the field title.

      Default value returns "Unfreeze " + the field's summary title.

      Returns:
        . See `String`

    - #### 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` - . See `String`. 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:
        . See `String`

    - #### setUnremoveIcon

          public void setUnremoveIcon(java.lang.String unremoveIcon)
                               throws java.lang.IllegalStateException

      When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved`. At this point, clicking on the icon will unmark the record as removed.
      Parameters:
        `unremoveIcon` - . See `SCImgURL`. Default value is "[SKIN]/actions/undo.png"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUnremoveIcon

          public java.lang.String getUnremoveIcon()

      When `canRemoveRecords` is enabled, this icon will be shown in the auto generated field fro removing records if the record has been marked as removed via `ListGrid.markRecordRemoved`. At this point, clicking on the icon will unmark the record as removed.
      Returns:
        . See `SCImgURL`

    - #### setUseAdvancedFieldPicker

          public void setUseAdvancedFieldPicker(java.lang.Boolean useAdvancedFieldPicker)
                                         throws java.lang.IllegalStateException

      If set to true, an advanced field picker based on the FieldPicker will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.

      When there are large numbers of available fields, the FieldPicker-based interface is more usable for both defining visible fields and defining field order.

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

    - #### getUseAdvancedFieldPicker

          public java.lang.Boolean getUseAdvancedFieldPicker()

      If set to true, an advanced field picker based on the FieldPicker will be shown instead of the column picker submenu if there are more fields in the grid than `advancedFieldPickerThreshold`.

      When there are large numbers of available fields, the FieldPicker-based interface is more usable for both defining visible fields and defining field order.

      Returns:
        Boolean

    - #### setUseCellRollOvers

          public void setUseCellRollOvers(java.lang.Boolean useCellRollOvers)

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

    - #### getUseCellRollOvers

          public java.lang.Boolean getUseCellRollOvers()

      Are rollovers cell-level or row-level?
      Returns:
        Boolean

    - #### setUseCopyPasteShortcuts

          public void setUseCopyPasteShortcuts(java.lang.Boolean useCopyPasteShortcuts)

      Enables copy/paste shortcuts, provided `canSelectCells` is true

      The default setting of true means that the value of `canSelectCells` determines whether copy/paste shortcuts are enabled. Setting this property to false disables said shortcuts unconditionally.

      Copying is done via copying to a Smart GWT-wide "clipboard" - not the OS-level clipboard, which is innaccessible on some browsers - via the methods `ListGrid.getSelectedCellData` and `applySelectedCellData`. 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` - useCopyPasteShortcuts Default value is true

    - #### getUseCopyPasteShortcuts

          public java.lang.Boolean getUseCopyPasteShortcuts()

      Enables copy/paste shortcuts, provided `canSelectCells` is true

      The default setting of true means that the value of `canSelectCells` determines whether copy/paste shortcuts are enabled. Setting this property to false disables said shortcuts unconditionally.

      Copying is done via copying to a Smart GWT-wide "clipboard" - not the OS-level clipboard, which is innaccessible on some browsers - via the methods `ListGrid.getSelectedCellData` and `applySelectedCellData`. To copy data to and from applications outside of the browser, use the technique shown in the @see Grid to Excel and @see Excel to Grid samples.

      The following shortcuts are available:

      CTRL + D: copy cell values from top row of selected cells down to all rows

      CTRL + R: copy cell values from left column of selected cells right to all columns

      CTRL + C: copy selected cell values into shared clipboard

      CTRL + V: paste from shared clipboard into current selection

      Returns:
        Boolean

    - #### setUseRemoteValidators

          public void setUseRemoteValidators(java.lang.Boolean useRemoteValidators)

      If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed.
      Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode. Note that since these remote validators need to run on the server, saving with this property set is asynchronous, even though the data that ultimately gets updated is already present on the client.

      Note : This is an advanced setting

      Parameters:
        `useRemoteValidators` - useRemoteValidators Default value is null
      See Also:
        `Databinding overview and related methods`

    - #### getUseRemoteValidators

          public java.lang.Boolean getUseRemoteValidators()

      If `saveLocally` is specified, but this grid is bound to a DataSource which includes remote field validators, by default edits will be saved synchronously and these validators will not be executed.
      Set this property to `true` to ensure these remote validators are called when saving edits in saveLocally mode. Note that since these remote validators need to run on the server, saving with this property set is asynchronous, even though the data that ultimately gets updated is already present on the client.
      Returns:
        Boolean
      See Also:
        `Databinding overview and related methods`

    - #### setUseRowSpanStyling

          public void setUseRowSpanStyling(java.lang.Boolean useRowSpanStyling)
                                    throws java.lang.IllegalStateException

      Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right. Specifically:
      - computes `banded styling` based on the span of the cell in the left-most column
      - enables `cell-level selection`, including `cell-level rollover` styling
      - enables row-span-sensitive cell selection. See also `RowSpanSelectionMode` for available behaviors

      Because this setting enables `canSelectCells`, it is incompatible with any APIs that expect a record-oriented data model.

      Because this setting only makes sense when row spanning decreases from the first column to the last, it has unspecified behavior with `canReorderFields`.

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

    - #### getUseRowSpanStyling

          public java.lang.Boolean getUseRowSpanStyling()

      Enables various styling behaviors that potentially make sense when `ListGrid.getRowSpan` has been overriden to introduce spanning cells, and spanning is largest on the left and smaller as cells go to the right. Specifically:
      - computes `banded styling` based on the span of the cell in the left-most column
      - enables `cell-level selection`, including `cell-level rollover` styling
      - enables row-span-sensitive cell selection. See also `RowSpanSelectionMode` for available behaviors

      Because this setting enables `canSelectCells`, it is incompatible with any APIs that expect a record-oriented data model.

      Because this setting only makes sense when row spanning decreases from the first column to the last, it has unspecified behavior with `canReorderFields`.

      Returns:
        Boolean

    - #### setValidateByCell

          public void setValidateByCell(java.lang.Boolean validateByCell)

      Whether client-side validation checks should be performed when the user moves between cells in the current edit row. If unset, defaults to `editByCell`.

      Note that validation always occurs when a row is to be saved, so setting `saveByCell`:true forces validation on cell transitions. To completely disable automatic validation, set `neverValidate`:true.

      Parameters:
        `validateByCell` - validateByCell Default value is null
      See Also:
        `GridValidation overview and related methods`

    - #### getValidateByCell

          public java.lang.Boolean getValidateByCell()

      Whether client-side validation checks should be performed when the user moves between cells in the current edit row. If unset, defaults to `editByCell`.

      Note that validation always occurs when a row is to be saved, so setting `saveByCell`:true forces validation on cell transitions. To completely disable automatic validation, set `neverValidate`:true.

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

    - #### setValidateOnChange

          public void setValidateOnChange(java.lang.Boolean validateOnChange)

      If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
      Parameters:
        `validateOnChange` - validateOnChange Default value is null
      See Also:
        `ListGridField.setValidateOnChange(java.lang.Boolean)`, `GridValidation overview and related methods`

    - #### getValidateOnChange

          public java.lang.Boolean getValidateOnChange()

      If true, validation will be performed on each edited cell when each editor's "change" handler is fired.
      Returns:
        Boolean
      See Also:
        `ListGridField.getValidateOnChange()`, `GridValidation overview and related methods`

    - #### setValueIconHeight

          public void setValueIconHeight(java.lang.Integer valueIconHeight)

      Height for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Parameters:
        `valueIconHeight` - valueIconHeight Default value is null
      See Also:
        `ImageColumns overview and related methods`

    - #### getValueIconHeight

          public java.lang.Integer getValueIconHeight()

      Height for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Returns:
        Integer
      See Also:
        `ImageColumns overview and related methods`

    - #### setValueIconLeftPadding

          public void setValueIconLeftPadding(int valueIconLeftPadding)

      How much padding should there be on the left of valueIcons by default Can be overridden at the field level
      Parameters:
        `valueIconLeftPadding` - valueIconLeftPadding Default value is 2
      See Also:
        `ListGridField.setValueIcons(java.util.Map<java.lang.String, java.lang.String>)`, `ImageColumns overview and related methods`

    - #### getValueIconLeftPadding

          public int getValueIconLeftPadding()

      How much padding should there be on the left of valueIcons by default Can be overridden at the field level
      Returns:
        int
      See Also:
        `com.smartgwt.client.widgets.grid.ListGridField#getValueIcons`, `ImageColumns overview and related methods`

    - #### setValueIconRightPadding

          public void setValueIconRightPadding(int valueIconRightPadding)

      How much padding should there be on the right of valueIcons by default
      Parameters:
        `valueIconRightPadding` - valueIconRightPadding Default value is 2
      See Also:
        `ListGridField.setValueIcons(java.util.Map<java.lang.String, java.lang.String>)`, `ImageColumns overview and related methods`

    - #### getValueIconRightPadding

          public int getValueIconRightPadding()

      How much padding should there be on the right of valueIcons by default
      Returns:
        int
      See Also:
        `com.smartgwt.client.widgets.grid.ListGridField#getValueIcons`, `ImageColumns overview and related methods`

    - #### setValueIconSize

          public void setValueIconSize(int valueIconSize)

      Default width and height of value icons for this ListGrid. Can be overridden at the listGrid level via explicit `valueIconWidth` and `valueIconHeight`, or at the field level via `valueIconSize`, `valueIconWidth` and {ListGridField.valueIconHeight}
      Parameters:
        `valueIconSize` - valueIconSize Default value is 16
      See Also:
        `setValueIconWidth(java.lang.Integer)`, `setValueIconHeight(java.lang.Integer)`, `ListGridField.setValueIconSize(java.lang.Integer)`, `ImageColumns overview and related methods`

    - #### getValueIconSize

          public int getValueIconSize()

      Default width and height of value icons for this ListGrid. Can be overridden at the listGrid level via explicit `valueIconWidth` and `valueIconHeight`, or at the field level via `valueIconSize`, `valueIconWidth` and {ListGridField.valueIconHeight}
      Returns:
        int
      See Also:
        `getValueIconWidth()`, `getValueIconHeight()`, `ListGridField.getValueIconSize()`, `ImageColumns overview and related methods`

    - #### setValueIconWidth

          public void setValueIconWidth(java.lang.Integer valueIconWidth)

      Width for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Parameters:
        `valueIconWidth` - valueIconWidth Default value is null
      See Also:
        `ImageColumns overview and related methods`

    - #### getValueIconWidth

          public java.lang.Integer getValueIconWidth()

      Width for value icons for this listGrid. Overrides `valueIconSize`. Can be overridden at the field level
      Returns:
        Integer
      See Also:
        `ImageColumns overview and related methods`

    - #### 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 unrendered rows to make the scrollbar and viewport appear correctly.

      virtualScrolling is switched on automatically when fixedRecordHeights is false and when using the `recordComponents subsystem`, as recordComponents expand the rows that contain them. This flag should be manually enabled when calling `ListGrid.addEmbeddedComponent`(...) if embedded components can cause record sizes to expand beyond specified cellHeight.

      Note : This is an advanced setting

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

    - #### 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 unrendered rows to make the scrollbar and viewport appear correctly.

      virtualScrolling is switched on automatically when fixedRecordHeights is false and when using the `recordComponents subsystem`, as recordComponents expand the rows that contain them. This flag should be manually enabled when calling `ListGrid.addEmbeddedComponent`(...) if embedded components can cause record sizes to expand beyond specified cellHeight.

      Returns:
        Boolean

    - #### 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` - waitForSave Default value is false
      See Also:
        `Editing overview and related methods`

    - #### getWaitForSave

          public java.lang.Boolean getWaitForSave()

      If this is an editable listGrid, this property determines whether the user will be able to dismiss the edit form, or navigate to another cell while the save is in process (before the asynchronous server response returns).
      Returns:
        Boolean
      See Also:
        `Editing overview and related methods`

    - #### setWarnOnRemoval

          public void setWarnOnRemoval(java.lang.Boolean warnOnRemoval)

      If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
      Parameters:
        `warnOnRemoval` - warnOnRemoval Default value is false

    - #### getWarnOnRemoval

          public java.lang.Boolean getWarnOnRemoval()

      If `canRemoveRecords` is true, when the user clicks the remove icon for some record, should we show a warning message (defined as `warnOnRemovalMessage`) and allow the user to cancel removal?
      Returns:
        Boolean

    - #### setWarnOnRemovalMessage

          public void setWarnOnRemovalMessage(java.lang.String warnOnRemovalMessage)

      Warning message to show the user on a click on the 'remove' icon if `canRemoveRecords` is true and `warnOnRemoval` is true.
      Parameters:
        `warnOnRemovalMessage` - . See `String`. 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:
        . See `String`

    - #### setWarnOnUnmappedValueFieldChange

          public void setWarnOnUnmappedValueFieldChange(java.lang.Boolean warnOnUnmappedValueFieldChange)

      If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).

      If such a field is editable, changing the edit value for the field on some record, without updating the edit value for the associated display field on the same record would mean the user would continue to see the unchanged display field value. Developers can resolve this situation by programmatically setting an edit value for the display field as well as the data field, or avoid it by specifying an optionDataSource and ensuring `autoFetchDisplayMap` is true, or setting an explicit valueMap for the field.

      By default, when the edit value on a field with a specified displayField and no optionDataSource is set, we log a warning to notify the developer. This warning may be disabled by setting `warnOnUnmappedValueFieldChange` to `false`.

      Note: There are actually a couple of cases in which the system will automatically derive a new display-field value and apply it to the record:

      1. If the edit value was changed by a user actually editing the record (rather than a programmatic call to setEditValue()), and the edit-item had a valueMap or optionDataSource set, we automatically pick up the display value from that item and store it as an edit-value for the displayField of the record
      2. If the listGrid has a loaded record in its data set whose valueField value matches the edit value for the valueField, we automatically apply the displayField value from that record as an edit value for the displayField on the newly edited record.
      In either case, the display value for the record is updated automatically (and the warning would not be logged).

      Note : This is an advanced setting

      Parameters:
        `warnOnUnmappedValueFieldChange` - warnOnUnmappedValueFieldChange Default value is true

    - #### getWarnOnUnmappedValueFieldChange

          public java.lang.Boolean getWarnOnUnmappedValueFieldChange()

      If a field has `displayField` specified and has no `optionDataSource`, this field will display the value from the `displayField` of each record by default (for more on this behavior see `optionDataSource`).

      If such a field is editable, changing the edit value for the field on some record, without updating the edit value for the associated display field on the same record would mean the user would continue to see the unchanged display field value. Developers can resolve this situation by programmatically setting an edit value for the display field as well as the data field, or avoid it by specifying an optionDataSource and ensuring `autoFetchDisplayMap` is true, or setting an explicit valueMap for the field.

      By default, when the edit value on a field with a specified displayField and no optionDataSource is set, we log a warning to notify the developer. This warning may be disabled by setting `warnOnUnmappedValueFieldChange` to `false`.

      Note: There are actually a couple of cases in which the system will automatically derive a new display-field value and apply it to the record:

      1. If the edit value was changed by a user actually editing the record (rather than a programmatic call to setEditValue()), and the edit-item had a valueMap or optionDataSource set, we automatically pick up the display value from that item and store it as an edit-value for the displayField of the record
      2. If the listGrid has a loaded record in its data set whose valueField value matches the edit value for the valueField, we automatically apply the displayField value from that record as an edit value for the displayField on the newly edited record.
      In either case, the display value for the record is updated automatically (and the warning would not be logged).
      Returns:
        Boolean

    - #### setWrapCells

          public void setWrapCells(java.lang.Boolean wrapCells)

      Should content within cells be allowed to wrap?

      Even if content is allowed to wrap, if `fixedRecordHeights` is set, the content will be clipped off at the cell boundary. Either set a larger, fixed `cellHeight` to reveal more content, or set `fixedRecordHeights` to false to allow auto-sizing.

      Note : This is an advanced setting

      Parameters:
        `wrapCells` - wrapCells Default value is false
      See Also:
        Cell Values Example

    - #### getWrapCells

          public java.lang.Boolean getWrapCells()

      Should content within cells be allowed to wrap?

      Even if content is allowed to wrap, if `fixedRecordHeights` is set, the content will be clipped off at the cell boundary. Either set a larger, fixed `cellHeight` to reveal more content, or set `fixedRecordHeights` to false to allow auto-sizing.

      Returns:
        Boolean
      See Also:
        Cell Values Example

    - #### 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:
        `ListGrid#addData()}`

    - #### addData

          public void addData(Record newRecord,
                     DSCallback callback,
                     DSRequest requestProperties)

      Perform a DataSource "add" operation to add new records to this component's DataSource.
      Parameters:
        `newRecord` - new record
        `callback` - method to call on operation completion
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`, Databound add Example

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record)

      Attaches the component to the provided record. If `position` is specified as `"within"` `snapTo` and `snapOffsetLeft`, `snapOffsetTop` may be set to specify where the component will render within the cell or record. If unset, for components embedded within a record we will default to embedding at the top/left coordinate, and for components embedded within a cell, we will respect the align / valign properties for the cell in question. Any percentage sizing will be interpreted as percentage of row size.

      Otherwise it will appear to be embedded within the record, underneath the field values.

      Embedded components become children of the grid and will stay attached to a record through scrolling, sorting and other operations that cause records to shift position.

      If `position` is set to `"expand"`, embedded components may offer a resize interface, eg, by setting `canDragResize`:true, and the grid will react accordingly, growing or shrinking the record to match the embedded component's new extents.

      Embedded components can be explicitly removed with `ListGrid.removeEmbeddedComponent`.

      If a record is removed from the dataset or is replaced in the dataset, for example, it is eliminated through filtering (removes record) or is successfully edited in a databound grid (replaces record), the component is cleared but not logically removed from the grid. It is the responsibility of code that sets up the embedded component to remove it if the record is removed from the dataSet.

      When embedding components will result in variable height records, you should switch on `virtualScrolling`.

      Parameters:
        `component` - component to embed
        `record` - record to attach the component to

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record,
                                  java.lang.Integer rowNum)

      See Also:
        `ListGrid#addEmbeddedComponent()}`

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record,
                                  java.lang.Integer rowNum,
                                  java.lang.Integer colNum)

      See Also:
        `ListGrid#addEmbeddedComponent()}`

    - #### addEmbeddedComponent

          public void addEmbeddedComponent(Canvas component,
                                  ListGridRecord record,
                                  java.lang.Integer rowNum,
                                  java.lang.Integer colNum,
                                  EmbeddedPosition position)

      Attaches the component to the provided record. If `position` is specified as `"within"` `snapTo` and `snapOffsetLeft`, `snapOffsetTop` may be set to specify where the component will render within the cell or record. If unset, for components embedded within a record we will default to embedding at the top/left coordinate, and for components embedded within a cell, we will respect the align / valign properties for the cell in question. Any percentage sizing will be interpreted as percentage of row size.

      Otherwise it will appear to be embedded within the record, underneath the field values.

      Embedded components become children of the grid and will stay attached to a record through scrolling, sorting and other operations that cause records to shift position.

      If `position` is set to `"expand"`, embedded components may offer a resize interface, eg, by setting `canDragResize`:true, and the grid will react accordingly, growing or shrinking the record to match the embedded component's new extents.

      Embedded components can be explicitly removed with `ListGrid.removeEmbeddedComponent`.

      If a record is removed from the dataset or is replaced in the dataset, for example, it is eliminated through filtering (removes record) or is successfully edited in a databound grid (replaces record), the component is cleared but not logically removed from the grid. It is the responsibility of code that sets up the embedded component to remove it if the record is removed from the dataSet.

      When embedding components will result in variable height records, you should switch on `virtualScrolling`.

      Parameters:
        `component` - component to embed
        `record` - record to attach the component to
        `rowNum` - rowNum of the record to attach the component to
        `colNum` - colNum in which to embed the component
        `position` - positioning with respect to the record or cell (Defaults to "expand").

    - #### autoFitField

          public int autoFitField(java.lang.String fieldName)

      Programmatically cause a field to auto-fit horizontally to it's contents or title.

      Does not establish permanent auto-fitting - use `ListGrid.setAutoFitWidth` to do so.

      Parameters:
        `fieldName` -
      Returns:
        new width in pixels

    - #### cancelEditing

          public void cancelEditing()

      Cancel the current edit without saving.
      See Also:
        `Editing overview and related methods`

    - #### 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, when the new value doesn't match the value before editing.

      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 supply this method on the listGrid instance or on the listGridField(s) that you want to receive cellChanged events for. If both a field and the listGrid define a cellChanged method and that field receives an edit save, only the one 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

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

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

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

    - #### 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.util.Map)`, `Validation overview and related methods`

    - #### clearSort

          public void clearSort()

      This method clears any existing sort on this grid by calling `ListGrid.setSort` with a null parameter. The internal list of `SortSpecifier`s is removed and the grid is unsorted.

    - #### collapseRecord

          public void collapseRecord(ListGridRecord record)

      Collapses a given `record` which has been previously expanded using `ListGrid.expandRecord`.
      Parameters:
        `record` - record to collapse

    - #### configureGrouping

          public void configureGrouping()

      Open a MultiGroupDialog to configure the fields used for grouping.

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

      Specified by:
        `addDataArrivedHandler` in interface `HasDataArrivedHandlers`
      Parameters:
        `handler` - the dataArrived handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### discardEdits

          public void discardEdits(int rowNum,
                          int colNum)

      Cancel outstanding edits for the specified rows, discarding edit values, and hiding editors if appropriate.

      Note that if this method is called on a new edit row (created via `ListGrid.startEditingNew` for example), which has not yet been saved, this method will remove the row entirely.

      Also note that this method will clear the `removed` state of records that have been marked as removed.

      Parameters:
        `rowNum` - Row to cancel
        `colNum` - Column to cancel. Note that this parameter is ignored in ListGrids but may be required in subclasses of ListGrid where each cell represents one record in the data set (EG CubeGrid)
      See Also:
        `Editing overview and related methods`

    - #### discardEdits

          public void discardEdits(int rowNum,
                          int colNum,
                          java.lang.Boolean dontHideEditor)

      Cancel outstanding edits for the specified rows, discarding edit values, and hiding editors if appropriate.

      Note that if this method is called on a new edit row (created via `ListGrid.startEditingNew` for example), which has not yet been saved, this method will remove the row entirely.

      Also note that this method will clear the `removed` state of records that have been marked as removed.

      Parameters:
        `rowNum` - Row to cancel
        `colNum` - Column to cancel. Note that this parameter is ignored in ListGrids but may be required in subclasses of ListGrid where each cell represents one record in the data set (EG CubeGrid)
        `dontHideEditor` - By default this method will hide the editor if it is currently showing for the row in question. Passing in this parameter will leave the editor visible (and just reset the edit values underneath the editor).
      See Also:
        `Editing overview and related methods`

    - #### addDrawAreaChangedHandler

          public 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 `RPCManager.handleError`, which by default will result in a warning dialog.

      Specified by:
        `addEditFailedHandler` in interface `HasEditFailedHandlers`
      Parameters:
        `handler` - the editFailed handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### addEditorEnterHandler

          public 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 `ListGrid.getCurrentExpansionComponent`.

      Parameters:
        `record` - record to expand

    - #### fetchRelatedData

          public void fetchRelatedData(ListGridRecord record,
                              Canvas schema)

      Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.

      Relationships between DataSources are declared via `foreignKey`.

      For example, given two related DataSources "orders" and "orderItems", where we want to fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a `foreignKey` to the "orders" table (for example, it might be named "orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData() on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders" DataSource as the "record" argument.

      Parameters:
        `record` - DataSource record
        `schema` - schema of the DataSource record, or DataBoundComponent already bound to that schema
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### fetchRelatedData

          public void fetchRelatedData(ListGridRecord record,
                              Canvas schema,
                              DSCallback callback)

      See Also:
        `ListGrid#fetchRelatedData()}`

    - #### fetchRelatedData

          public void fetchRelatedData(ListGridRecord record,
                              Canvas schema,
                              DSCallback callback,
                              DSRequest requestProperties)

      Based on the relationship between the DataSource this component is bound to and the DataSource specified as the "schema" argument, call fetchData() to retrieve records in this grid that are related to the passed-in record.

      Relationships between DataSources are declared via `foreignKey`.

      For example, given two related DataSources "orders" and "orderItems", where we want to fetch the "orderItems" that belong to a given "order". "orderItems" should declare a field that is a `foreignKey` to the "orders" table (for example, it might be named "orderId" with foreignKey="orders.id"). Then, to load the records related to a given "order", call fetchRelatedData() on the component bound to "orderItems", pass the "orders" DataSource as the "schema" and pass a record from the "orders" DataSource as the "record" argument.

      Parameters:
        `record` - DataSource record
        `schema` - schema of the DataSource record, or DataBoundComponent already bound to that schema
        `callback` - callback to invoke on completion
        `requestProperties` - additional properties to set on the DSRequest that will be issued
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### fieldIsVisible

          public boolean fieldIsVisible(java.lang.String field)

      Check whether a field is currently visible
      Parameters:
        `field` - field to be checked
      Returns:
        true if the field is currently visible, false otherwise.

    - #### addFieldStateChangedHandler

          public 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. 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 by modifying the filter editor criteria. Will be fired on keypress if filterOnKeypress is true otherwise when the user clicks the filter button or on enter keypress

      Specified by:
        `addFilterEditorSubmitHandler` in interface `HasFilterEditorSubmitHandlers`
      Parameters:
        `handler` - the filterEditorSubmit handler
      Returns:
        `HandlerRegistration` used to remove this handler

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

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

    - #### getCellRowSpan

          public int getCellRowSpan(int rowNum,
                           int colNum)

      When using `row spanning`, returns the number of cells spanned by the cell at the given coordinates.

      If the passed coordinates are in the middle of a series of spanned cells, the row span of the spanning cell is returned. For example, if row 2 col 0 spans 3 cells, calls to `getCellRowSpan()` for row 2 col 0, row 3 col 0, row 4 col 0 will all return 3.

      This method returns row span information for the current rendered cells. In contrast, if the grid is about to be redrawn, a call to `getRowSpan()` may return row span values for how the grid is about to be drawn. Also, user-provided getRowSpan() functions are not required to operate properly when called outside of the grid rendering loop.

      Note: This method is a utility method for developers - it is not called directly by the grid rendering path and therefore is not intended for override. To set up custom row-spanning behavior, override `ListGrid.getRowSpan` instead.

      Parameters:
        `rowNum` - row number of cell to return the row span for
        `colNum` - column number of cell to return the row span for
      Returns:
        number of cells spanned by the cell that spans through these coordinates

    - #### getCellSelection

          public CellSelection getCellSelection()

      When `canSelectCells` is active, returns the `CellSelection` object that tracks and manages the current selection. Returns null if `canSelectCells` is false.
      Returns:
        current cellSelection

    - #### getCellStartRow

          public int getCellStartRow(int rowNum,
                            int colNum)

      When using `row spanning`, returns the row number where a row-spanning cell starts.

      For example, if row 2 col 0 spans 3 cells, `getCellStartRow()` for row 2 col 0, row 3 col 0, row 4 col 0 will all return 2, because that's the row when spanning starts.

      Parameters:
        `rowNum` - row number of cell for which the start row should be returned
        `colNum` - column number of cell for which the start row should be returned
      Returns:
        row number where spanning starts

    - #### getCriteria

          public Criteria getCriteria()

      Retrieves a copy of the current criteria for this component (may be null)
      Returns:
        current filter criteria
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### getDefaultFieldWidth

          public int getDefaultFieldWidth(ListGridField field)

      Method to calculate and return the default width of a field. This method is called to calculate the size of each field's content as part of the `field auto fit` behavior.

      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 `iconFieldPadding`. For other fields the width will be calculated based on the rendered width of content. Note that for `"image"` type fields, this method will rely on the `imageWidth` being specified.

      Note that this width is the default width of "content" - it does not take into account the rendered size of the field title.

      Parameters:
        `field` - Field for which the size should be determined
      Returns:
        default size required for the field's content.

    - #### getDefaultFormattedFieldValue

          public java.lang.String getDefaultFormattedFieldValue(Record record,
                                                       ListGridField field)

      Get a field value for some record with default field formatters applied.

      This method differs from `ListGrid.getDefaultFormattedValue` in a couple of ways. Firstly, this method does not rely on the rowNum and colNum parameters to find the record and field in the grid.
      Secondly, unlike `ListGrid.getDefaultFormattedValue` this method will call any explicit cell formatter specified on the field passed in (though it will not call a `component level formatter` if one exists).

      This is useful for cases where a developer wishes to display a formatted value for some record and field combination which does not necessarily map to a cell displayed in the ListGrid.

      If `rowNum` and `colNum` parameters are passed through to the field level cell formatter if one exists. If not explicitly provided these are defaulted to -1.

      Parameters:
        `record` - the record object
        `field` - the field object
      Returns:
        Default formatted value
      See Also:
        `com.smartgwt.client.widgets.grid.ListGridField#formatCellValue`

    - #### getDefaultFormattedFieldValue

          public java.lang.String getDefaultFormattedFieldValue(Record record,
                                                       ListGridField field,
                                                       int rowNum)

      See Also:
        `ListGrid#getDefaultFormattedFieldValue()}`

    - #### getDefaultFormattedFieldValue

          public java.lang.String getDefaultFormattedFieldValue(Record record,
                                                       ListGridField field,
                                                       int rowNum,
                                                       int colNum)

      Get a field value for some record with default field formatters applied.

      This method differs from `ListGrid.getDefaultFormattedValue` in a couple of ways. Firstly, this method does not rely on the rowNum and colNum parameters to find the record and field in the grid.
      Secondly, unlike `ListGrid.getDefaultFormattedValue` this method will call any explicit cell formatter specified on the field passed in (though it will not call a `component level formatter` if one exists).

      This is useful for cases where a developer wishes to display a formatted value for some record and field combination which does not necessarily map to a cell displayed in the ListGrid.

      If `rowNum` and `colNum` parameters are passed through to the field level cell formatter if one exists. If not explicitly provided these are defaulted to -1.

      Parameters:
        `record` - the record object
        `field` - the field object
        `rowNum` - rowNum (passed to any field level cell formatter)
        `colNum` - colNum (passed to any field level cell formatter)
      Returns:
        Default formatted value
      See Also:
        `com.smartgwt.client.widgets.grid.ListGridField#formatCellValue`

    - #### 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:
        `com.smartgwt.client.widgets.grid.ListGridField#formatCellValue`

    - #### getDragTrackerTitle

          public java.lang.String getDragTrackerTitle(ListGridRecord record,
                                             int rowNum)

      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 `ListGrid.getTitleField`) for the record(s) being dragged (including any icons / custom formatting / styling, etc).

      Note: Only called if `dragTrackerMode` is set to `"title"`.

      Parameters:
        `record` - First selected record being dragged
        `rowNum` - row index of first record being dragged
      Returns:
        Title for the row. Default implementation looks at the value of the title-field cell for the row.

    - #### getDrawnRowHeight

          public int getDrawnRowHeight(int rowNum)

      Get the drawn height of a row.
      Parameters:
        `rowNum` -
      Returns:
        height
      See Also:
        `Sizing overview and related methods`

    - #### getEditCol

          public int getEditCol()

      Returns the index of the column being edited or null if there is no edit col.
      Returns:
        index of the current edit column
      See Also:
        `Editing overview and related methods`

    - #### getEditRow

          public int getEditRow()

      Returns the index of the row being edited or null if there is no current edit row.
      Returns:
        Index of the current edit row
      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

    - #### getFieldState

          public java.lang.String getFieldState()

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

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

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

      Returns:
        current state of this grid's fields.
      See Also:
        `setFieldState(java.lang.String)`

    - #### getFilterEditorCriteria

          public Criteria getFilterEditorCriteria()

      If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`. Note that these values may differ from the criteria returned by `ListGrid.getCriteria` if the filter editor values have been modified without performing an actual filter.
      Returns:
        criteria currently displayed in the filterEditor

    - #### getFilterEditorCriteria

          public Criteria getFilterEditorCriteria(java.lang.Boolean omitHiddenFields)

      If `showFilterEditor` is true, this method will return the criteria currently displayed in the `filterEditor`. Note that these values may differ from the criteria returned by `ListGrid.getCriteria` if the filter editor values have been modified without performing an actual filter.
      Parameters:
        `omitHiddenFields` - By default this method will include criteria applied to fields, including criteria that are not actually visible/editable in the filterEditor for the grid. Pass in this parameter to get only values for visible fields returned.
      Returns:
        criteria currently displayed in the filterEditor

    - #### getGridSummaryData

          public void getGridSummaryData()

      This method returns the data to be displayed in the `summaryRow` when `showGridSummary` is true.

      By default this will call `ListGrid.getGridSummary` for each field and generate an array of records containing the resulting values.

      This method may be overridden for custom grid-summary display, and may return multiple records if more than one summary row is desired.

    - #### getGroupState

          public java.lang.String getGroupState()

      Returns a snapshot of the current grouping state of this ListGrid.
      This object can be passed to `ListGrid.setGroupState` to reset this grid's grouping to the current state (assuming the same data / fields are present in the grid).
      Returns:
        current view state for the grid.
      See Also:
        `setGroupState(java.lang.String)`

    - #### getRecord

          public ListGridRecord getRecord(int recordNum)

      Return the pointer to a particular record by record number. Synonym for `ListGrid.getCellRecord`.
      Parameters:
        `recordNum` - row index of record to return.
      Returns:
        Record object for the row.
      See Also:
        `com.smartgwt.client.widgets.grid.ListGrid#getCellRecord`, `getEditedRecord(int)`

    - #### getRecordComponent

          public Canvas getRecordComponent(int rowNum)

      Retrieve the `recordComponent` currently being shown at the given coordinates.

      `recordComponents` are dynamically assigned to row/cell coordinates and, depending on the `recordComponentPoolingMode`, any kind of redraw of the containing ListGrid (due to sort change, scrolling, editing etc) may cause a `recordComponent` to be assigned to another row, `clear()ed` or permanently `destroy()ed`.

      Hence you should always call `getRecordComponent()` right before taking action on the `recordComponent` - don't cache the component associated with row/cell coordinate. Similarly, it's invalid to call `getRecordComponent()` during a redraw (for example, from `ListGridField.formatCellValue`).

      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 `ListGridField.formatCellValue`).

      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

    - #### 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:
        indexindex of the record, or -1 if not found

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

    - #### getRowPageTop

          public int getRowPageTop(int rowNum)

      Returns the Y-coordinate for a given row number as a page-relative coordinate. See `ListGrid.getRowTop`.
      Parameters:
        `rowNum` -
      Returns:
        Y-coordinate
      See Also:
        `Positioning overview and related methods`

    - #### getRowTop

          public int getRowTop(int rowNum)

      Returns the top coordinate for a given row number, relative to the top of body content. Use `getPageRowTop` for a page-relative coordinate.

      This method is reliable only for rows that are currently drawn, which is generally only rows that are visible in the viewport. If row heights vary (see `fixedRowHeights`), coordinates for rows that are not currently shown are rough approximations.

      Parameters:
        `rowNum` -
      Returns:
        Y-coordinate
      See Also:
        `Positioning overview and related methods`

    - #### getSelectedRecord

          public ListGridRecord getSelectedRecord()

      Returns the first selected record in this grid.

      This method is appropriate if the `selectionType` is `SelectionStyle.SINGLE`, or if you only care about the first selected record in a multiple-record selection. To access all selected records, use `ListGrid.getSelection` instead.

      NOTE: If a record is returned, it should be treated as read-only and not modified.

      Returns:
        the first selected record, or null if no record is selected.
      See Also:
        `Selection overview and related methods`, Databound remove Example

    - #### getSelectedState

          public java.lang.String getSelectedState()

      Returns a snapshot of the current selection within this listGrid as a ListGridSelectedState object.
      This object can be passed to `ListGrid.setSelectedState` to reset this grid's selection the current state (assuming the same data is present in the grid).
      Returns:
        current state of this grid's selection
      See Also:
        `setSelectedState(java.lang.String)`

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

    - #### getSortState

          public java.lang.String getSortState()

      Returns a snapshot of the current sort state within this listGrid as a ListGridSortState object.
      This object can be passed to `ListGrid.setSortState` to reset this grid's sort to the current state (assuming the same fields are present in the grid).
      Returns:
        current sort state for the grid.
      See Also:
        `setSortState(java.lang.String)`

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

    - #### getViewState

          public java.lang.String getViewState()

      Returns a snapshot of the current view state of this ListGrid.
      This includes the field, sort, hilite, group, and selected state state of the grid, returned as a ListGridViewState object.
      This object can be passed to `ListGrid.setViewState` to reset this grid's vew state to the current state (assuming the same data / fields are present in the grid).
      Returns:
        current view state for the grid.
      See Also:
        `setViewState(java.lang.String)`

    - #### 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.handleGroupBy`, this notification will fire when grouping is complete, and the `groupTree` has been updated to reflect the grouped data.

      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 `canAutoFitFields` is true and autoFitHeaderEvent 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 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`

    - #### 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 `ListGrid.refreshRecordComponent` which allows you to refresh a specific recordComponent

    - #### isCheckboxField

          public java.lang.Boolean isCheckboxField(ListGridField field)

      Identifies whether the passed-in field is the specially generated `checkboxField` used when `SelectionAppearance` is "checkbox". Use this method in your custom event handlers to avoid inappropriately performing actions when the checkboxField is clicked on.
      Parameters:
        `field` - field to test
      Returns:
        whether the provided field is the checkbox field

    - #### isExpanded

          public java.lang.Boolean isExpanded(ListGridRecord record)

      Whether a given `record` is expanded or collapsed.
      Parameters:
        `record` - record in question
      Returns:
        true if the node is expanded

    - #### isExpansionField

          public java.lang.Boolean isExpansionField(ListGridField field)

      Identifies whether the passed-in field is the specially generated `expansionField` used when `canExpandRecords` is true. Use this method in your custom event handlers to avoid inappropriately performing actions when the expansionField is clicked on.
      Parameters:
        `field` - field to test
      Returns:
        whether the provided field is the expansion field

    - #### isGroupNode

          public boolean isGroupNode(ListGridRecord record)

      If this listGrid is `grouped`, is the record passed in a group header node.
      Parameters:
        `record` - record to test
      Returns:
        returns true if the record passed in is a group header node

    - #### isPartiallySelected

          public java.lang.Boolean isPartiallySelected(ListGridRecord record)

      When using tree-oriented selection modes like `cascadeSelection`, returns true if the record is considered partially selected because only some of it's children are selected.
      Parameters:
        `record` - record to check
      Returns:
        true if record is partially selected; false otherwise
      See Also:
        `Selection overview and related methods`

    - #### isRowNumberField

          public java.lang.Boolean isRowNumberField(ListGridField field)

      Identifies whether the passed-in field is the specially generated `rowNumberField` used when `showRowNumbers` is true. Use this method in your custom event handlers to avoid inappropriately performing actions when the rowNumberField is clicked on.
      Parameters:
        `field` - field to test
      Returns:
        whether the provided field is the rowNumberField

    - #### isSelected

          public java.lang.Boolean isSelected(ListGridRecord record)

      Returns true if the record is selected.
      Parameters:
        `record` - record to check
      Returns:
        true if record is selected; false otherwise
      See Also:
        `Selection overview and related methods`

    - #### isSortField

          public java.lang.Boolean isSortField(java.lang.String fieldName)

      Returns true if the passed fieldName is in the current sort-specification.
      Parameters:
        `fieldName` - The name of a field, visible, hidden or existing only in the dataSource
      Returns:
        True if the passed field is sorted, false otherwise

    - #### markForRedraw

          public void markForRedraw()

      Marks the widget as "dirty" so that it will be added to a queue for redraw. Redraw of dirty components is handled by a looping timer and will after a very short delay (typically less than 100ms). In most cases it is recommended that developers use `markForRedraw()` instead of calling `Canvas.redraw` directly. Since this method queues the redraw, multiple calls to markForRedraw() within a single thread of execution will only lead to a single DOM manipulation which greatly improves application performance.
      Overrides:
        `markForRedraw` in class `Canvas`
      See Also:
        `Drawing overview and related methods`

    - #### markForRedraw

          public void markForRedraw(java.lang.String reason)

      Marks the widget as "dirty" so that it will be added to a queue for redraw. Redraw of dirty components is handled by a looping timer and will after a very short delay (typically less than 100ms). In most cases it is recommended that developers use `markForRedraw()` instead of calling `Canvas.redraw` directly. Since this method queues the redraw, multiple calls to markForRedraw() within a single thread of execution will only lead to a single DOM manipulation which greatly improves application performance.
      Overrides:
        `markForRedraw` in class `Canvas`
      Parameters:
        `reason` - reason for performing the redraw
      See Also:
        `Drawing overview and related methods`

    - #### markRecordRemoved

          public void markRecordRemoved(int rowNum)

      Marks a record deleted such that a later call to `ListGrid.saveEdits` or `ListGrid.saveAllEdits` will cause a "remove" `DSRequest` to be submitted.

      A removed record is disabled and non-editable, and uses `removedCSSText` for its CSS style, which by default will show strikethrough text.

      Contrast this method with removeSelectedData(), which immediately submits a DSRequest to remove the selected records from the dataset.

      Records that have been marked for removal using this method may be 'unmarked' via a call to `ListGrid.unmarkRecordRemoved`, or by discarding edit values (`ListGrid.discardEdits`).

      Parameters:
        `rowNum` - row number for the record to mark
      See Also:
        `Editing overview and related methods`

    - #### markSelectionRemoved

          public void markSelectionRemoved()

      Marks the currently selected records as removed, as though `ListGrid.markRecordRemoved` had been called.
      See Also:
        `Editing overview and related methods`

    - #### addBodyKeyPressHandler

          public 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.

      Handler fired when the user drops a record onto this listGrid before any other processing of the drop occurs. Call `RecordDropEvent.cancel()` from within `RecordDropHandler.onRecordDrop(com.smartgwt.client.widgets.grid.events.RecordDropEvent)` to suppress the default record drop handling.

      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 `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 event may be cancelled to suppress the default behavior.

      Specified by:
        `addRemoveRecordClickHandler` in interface `HasRemoveRecordClickHandlers`
      Parameters:
        `handler` - the removeRecordClick handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### recalculateGridSummary

          public void recalculateGridSummary()

      Refresh the `grid summary`, by either re-calculating from already-loaded data or doing a new fetch from the `summaryRowDataSource`.

      Note unlike `ListGrid.recalculateSummaries`, this method will not force a refresh of field-level summaries (see `recordSummaryFunction`) or group level summaries (see `showGroupSummary`).

    - #### recordClick

          public boolean recordClick(ListGrid viewer,
                            ListGridRecord record,
                            int recordNum,
                            ListGridField field,
                            int fieldNum,
                            java.lang.Object value,
                            java.lang.Object rawValue)

      Executed when the listGrid receives a 'click' event on an enabled, non-separator record. The default implementation does nothing -- override to perform some action when any record or field is clicked.
      A record event handler can be specified either as a function to execute, or as a string of script to evaluate. If the handler is defined as a string of script, all the parameters below will be available as variables for use in the script.
      To do something specific if a particular field is clicked, add a recordClick method or string of script to that field (same parameters) when you're setting up the list.
      Notes:
      - This will not be called if the click is below the last item of the list.
      - This method is called from the default implementation of `ListGrid.rowClick`, so if that method is overridden this method may not be fired.
      Parameters:
        `viewer` - the listGrid that contains the click event
        `record` - the record that was clicked on
        `recordNum` - number of the record clicked on in the current set of displayed records (starts with 0)
        `field` - the field that was clicked on (field definition)
        `fieldNum` - number of the field clicked on in the listGrid.fields array
        `value` - value of the cell (after valueMap, etc. applied)
        `rawValue` - raw value of the cell (before valueMap, etc applied)
      Returns:
        return false to cancel default behavior
      See Also:
        `rowClick(com.smartgwt.client.widgets.grid.ListGridRecord, int, int)`

    - #### addRecordDoubleClickHandler

          public 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 `ListGrid.markRecordRemoved`
      Parameters:
        `rowNum` - index of row to verify
      Returns:
        true if the specified record has been marked for removal
      See Also:
        `Editing overview and related methods`

    - #### refreshCell

          public void refreshCell(int rowNum,
                         int colNum)

      Refresh an individual cell without redrawing the grid.

      The cell's value, CSS class, and CSS text will be refreshed, to the current values returned by getCellValue(), getCellStyle() and getCellCSSText() respectively.

      Parameters:
        `rowNum` - row number of cell to refresh
        `colNum` - column number of cell to refresh
      See Also:
        `refreshCellStyle(int, int)`, `Appearance overview and related methods`, Calculated Example

    - #### refreshCellStyle

          public void refreshCellStyle(int rowNum,
                              int colNum)

      Refresh the styling of an individual cell without redrawing the grid.

      The cell's CSS class and CSS text will be refreshed, to the current values returned by getCellStyle() and getCellCSSText() respectively.

      The cell's contents (as returned by getCellValue()) will not be refreshed. To refresh both styling and contents, call refreshCell() instead.

      Parameters:
        `rowNum` - row number of cell to refresh
        `colNum` - column number of cell to refresh
      See Also:
        `refreshCell(int, int)`, `Appearance overview and related methods`

    - #### refreshFields

          public void refreshFields()

      Re-evaluates `ListGridField.showIf` for each field, dynamically showing and hiding the appropriate set of fields

    - #### refreshRecordComponent

          public void refreshRecordComponent(int rowNum)

      Discards any currently visible set of `recordComponent` and gets a fresh one for the specified record (or cell) according to the `recordComponentPoolingMode`

      See also `ListGrid.invalidateRecordComponents` which allows you to refresh all record components that are currently visible in the grid.

      Parameters:
        `rowNum` - Row to refresh

    - #### refreshRecordComponent

          public void refreshRecordComponent(int rowNum,
                                    java.lang.Integer colNum)

      Discards any currently visible set of `recordComponent` and gets a fresh one for the specified record (or cell) according to the `recordComponentPoolingMode`

      See also `ListGrid.invalidateRecordComponents` which allows you to refresh all record components that are currently visible in the grid.

      Parameters:
        `rowNum` - Row to refresh
        `colNum` - Column to refresh. This parameter should be passed if `showRecordComponentsByCell` is true.

    - #### refreshRow

          public void refreshRow(int rowNum)

      Refresh an entire row of cells without redrawing the grid.

      The cells' values, CSS classes, and CSS text will be refreshed, to the current values returned by getCellValue(), getCellStyle() and getCellCSSText() respectively.

      Parameters:
        `rowNum` - row number of cell to refresh
      See Also:
        `refreshCellStyle(int, int)`, `refreshCell(int, int)`, `Appearance overview and related methods`

    - #### removeData

          public void removeData(Record data)

      Remove a record from this ListGrid.

      If this grid is bound to a DataSource, it will perform a DataSource "remove" operation to remove records from this component's DataSource.

      Otherwise the data will be removed from the grid's `data` object.

      To make changes to the local data object even when a DataSource is present, use `saveLocally`.

      Parameters:
        `data` - listGrid record, or primary key values of record to delete.
      See Also:
        `DataBoundComponentMethods overview and related methods`

    - #### removeData

          public void removeData(Record data,
                        DSCallback callback)

      See Also:
        `ListGrid#removeData()}`

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

    - #### 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 the record as removed [or for records already marked as removed, clear this removed marker].

      If `warnOnRemoval` is set, this method will also show a warning dialog to users allowing them to cancel the removal.

      This 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

    - #### reorderField

          public void reorderField(int fieldNum,
                          int moveToPosition)

      Reorder a particular field
      Parameters:
        `fieldNum` - Number of the field to reorder
        `moveToPosition` - New position for that field

    - #### reorderFields

          public void reorderFields(int start,
                           int end,
                           int moveDelta)

      Reorder a set of adjacent fields, from start to end exclusive at the end, by distance moveDelta.
      NOTE: start and end coordinates are in terms of the currently visible fields, not the full set of fields.
      Parameters:
        `start` - Start of the range of fields to move, inclusive
        `end` - End of the range of fields to move, non-inclusive
        `moveDelta` - Distance to move by

    - #### resizeField

          public void resizeField(int fieldNum,
                         int newWidth)

      Resize a particular field to a new width. Note that this method will also set `autoFitWidth` to false if it was previously true.
      Parameters:
        `fieldNum` - Number of the field to resize
        `newWidth` - New width of the field

    - #### resort

          public void resort()

      If a list has become unsorted due to data modification or a call to `ListGrid.unsort`, this method will resort the list by the previous `sort-specifier` array, if there is one, or by the previous sort-field and -direction.

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

    - #### 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 `ListGrid.recordMarkedAsRemoved` to check for this case.

      Parameters:
        `rowNum` - index of row to check for changes
      Returns:
        true if the row has changes.
      See Also:
        `Editing overview and related methods`

    - #### rowHasErrors

          public java.lang.Boolean rowHasErrors(int rowNum)

      Does the specified row have unresolved errors?
      Parameters:
        `rowNum` - rowNum to check for errors
      Returns:
        true if there are unresolved errors, false otherwise
      See Also:
        `hasErrors()`, `cellHasErrors(int, java.lang.String)`, `GridValidation overview and related methods`

    - #### addRowHoverHandler

          public 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

    - #### scrollToCell

          public void scrollToCell(int rowNum,
                          int colNum)

      Will scroll the listGrid body such that the specified cell is visible close to the centre of the viewport.

      This method has no effect if the cell is already visible in the viewport.

      When scrolling vertically, this will cause data to be automatically loaded if `paging is active` and you scroll into an area of the data that isn't loaded. Only rows around the target row will be loaded, not all intervening rows. See also `ResultSet`.

      Scrolling into an undrawn area will cause the body area of the grid to redraw, but this won't happen synchronously unless you explicitly call redraw(). Scrolling into an area of the data that is not yet loaded will never synchronously draw new rows, even if you call redraw() - wait for `ListGrid.dataArrived` to be notified when new rows have been loaded.

      Calling this method with a row index larger than the current dataset will clamp to the end of the dataset (similarly horizontal scrolling will clamp to the last column).

      If a call to this method is made while data is still loading, such that the last row of the dataset is not yet known the grid will attempt to compensate by scrolling the record into view when data arrives, if it is valid. For better control over scrolling, developers should consider calling `scrollToRow()` or `scrollToCell` from `ListGrid.dataArrived` if data is still loading.

      With mixed-height rows it will only reliably work if virtualScrolling is enabled.

      Parameters:
        `rowNum` - Row index of the cell to scroll into view
        `colNum` - Column index of the cell to scroll into view
      See Also:
        `Scrolling overview and related methods`

    - #### scrollToColumn

          public void scrollToColumn(int colNum)

      Scroll the grid to specified column such that the row appears near the center of the viewport.

      See `ListGrid.scrollToCell` for a full description of how this method interacts with incremental loading and rendering of data.

      Parameters:
        `colNum` - Index of the column to scroll into view
      See Also:
        `Scrolling overview and related methods`

    - #### scrollToRow

          public void scrollToRow(int rowNum)

      Scroll the grid to specified row such that the row appears near the center of the viewport, loading data if necessary.

      See `ListGrid.scrollToCell` for a full description of how this method interacts with incremental loading and rendering of data.

      Parameters:
        `rowNum` - Row index of the cell to scroll into view
      See Also:
        `Scrolling overview and related methods`

    - #### 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 selection changes. Note this method fires exactly once for any given change unlike the `selectionChanged` event.

      This event is fired once after selection/deselection has completed. The result is one event per mouse-down event. For a drag selection there will be two events fired: one when the first record is selected and once when the range is completed.

      This event is also fired when selection is updated by a direct call to one of the DataBoundComponent select/deselect methods. Calls on the Selection object do not trigger this event.

      Specified by:
        `addSelectionUpdatedHandler` in interface `HasSelectionUpdatedHandlers`
      Parameters:
        `handler` - the selectionUpdated handler
      Returns:
        `HandlerRegistration` used to remove this handler

    - #### setAutoFitWidth

          public void setAutoFitWidth(java.lang.String fieldName,
                             boolean autoFit)

      Setter for autoFitWidth. Enables or disables dynamic autoFitWidth behavior on the specified field. Note if the field is currently autoFitWidth:true, and this method is disabling autoFit, the field will not be resized by default - if you wish to resize to an explicit width, use `ListGrid.resizeField`.
      Parameters:
        `fieldName` - field to auto-fit
        `autoFit` - Should autoFitWidth be enabled or disabled?

    - #### setDontAutoDestroyComponent

          public void setDontAutoDestroyComponent(Canvas component,
                                         boolean dontAutoDestroy)

      If `showRecordComponents` is true, by default any created record components are destroyed once they are no longer in use (for example in the ListGrid as a whole is destroyed). This method may be used to suppress this behavior for some component. Typical usage might call this method as part of `ListGrid.createRecordComponent` to suppress this behavior.
      Parameters:
        `component` - component in question.
        `dontAutoDestroy` - If true, the component will not be destroyed automatically when the grid is destroyed

    - #### 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.
      Parameters:
        `name` - Field to update
        `properties` - new properties to apply to the header button

    - #### setFieldCellIcon

          public void setFieldCellIcon(java.lang.String fieldName,
                              java.lang.String cellIcon)

      Change the `cellIcon` for a field after the grid is created
      Parameters:
        `fieldName` - field to update
        `cellIcon` - new cellIcon for the field. See `SCImgURL`

    - #### setFieldHeaderBaseStyle

          public void setFieldHeaderBaseStyle(java.lang.String name,
                                     java.lang.String newStyle)

      Update the headerBaseStyle for a field within the grid at runtime.
      Parameters:
        `name` - name of the field.
        `newStyle` - new baseStyle for the field header. See `CSSClass`

    - #### setFieldHeaderTitleStyle

          public void setFieldHeaderTitleStyle(java.lang.String name,
                                      java.lang.String newStyle)

      Update the headerTitleStyle for a field within the grid at runtime.
      Parameters:
        `name` - name of the field.
        `newStyle` - new titleTyle for the field header. See `CSSClass`

    - #### setFieldIcon

          public void setFieldIcon(java.lang.String fieldName,
                          java.lang.String icon)

      Change the `icon` for a field after the grid is created
      Parameters:
        `fieldName` - field to update
        `icon` - icon for the field. See `SCImgURL`

    - #### setFieldState

          public void setFieldState(java.lang.String fieldState)

      Sets some presentation properties (visibility, width, userFormula and userSummary) of the listGrid fields based on the ListGridFieldState object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getFieldState`.
      Parameters:
        `fieldState` - state to apply to the listGrid's fields.. See `ListGridFieldState`
      See Also:
        `getFieldState()`

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

    - #### setGroupState

          public void setGroupState(java.lang.String selectedState)

      Reset this grid's grouping to match the ListGridGroupState object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getGroupState`.
      Parameters:
        `selectedState` - Object describing the desired selection state of the grid. See `ListGridGroupState`
      See Also:
        `getGroupState()`

    - #### setHeaderSpanBaseStyle

          public void setHeaderSpanBaseStyle(java.lang.String name,
                                    java.lang.String newStyle)

      Update the `headerBaseStyle` for a span within the grid at runtime.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newStyle` - new baseStyle for the headerSpan. See `CSSClass`

    - #### setHeaderSpanButtonProperties

          public void setHeaderSpanButtonProperties(java.lang.String name,
                                           Canvas properties)

      Method to update properties on a headerSpan's header button at runtime. This property allows customization of any settable properties on the HeaderSpan's header button after it has been generated.
      Parameters:
        `name` - `name` of span to update
        `properties` - new properties to apply to the header button

    - #### setHeaderSpanHeaderTitle

          public void setHeaderSpanHeaderTitle(java.lang.String name,
                                      java.lang.String newTitle)

      Update the headerTitle of a `headerSpan` dynamically.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newTitle` - new headerTitle for the headerSpan

    - #### setHeaderSpanTitle

          public void setHeaderSpanTitle(java.lang.String name,
                                java.lang.String newTitle)

      Update the title of a `headerSpan` dynamically.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newTitle` - new title for the headerSpan

    - #### setHeaderSpanTitleStyle

          public void setHeaderSpanTitleStyle(java.lang.String name,
                                     java.lang.String newTitle)

      Update the `headerTitleStyle` for a span within the grid at runtime.
      Parameters:
        `name` - name of the headerSpan, as specified via `name`.
        `newTitle` - new titleStyle for the headerSpan. See `CSSClass`

    - #### setSelectedState

          public void setSelectedState(java.lang.String selectedState)

      Reset this grid's selection to match the ListGridSelectedState object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getSelectedState`.
      Parameters:
        `selectedState` - Object describing the desired selection state of the grid. See `ListGridSelectedState`
      See Also:
        `getSelectedState()`

    - #### setSortState

          public void setSortState(java.lang.String sortState)

      Reset this grid's sort state (sort field and direction or list of `SortSpecifier`s) to match the ListGridSortState object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getSortState`.
      Parameters:
        `sortState` - Object describing the desired sort state for the grid.. See `ListGridSortState`
      See Also:
        `getSortState()`

    - #### setViewState

          public void setViewState(java.lang.String viewState)

      Reset this grid's view state to match the ListGridViewState object passed in.
      Used to restore previous state retrieved from the grid by a call to `ListGrid.getViewState`.
      Parameters:
        `viewState` - Object describing the desired view state for the grid. See `ListGridViewState`
      See Also:
        `getViewState()`

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

    - #### 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:
        `ListGrid#startEditing()}`

    - #### startEditing

          public java.lang.Boolean startEditing(java.lang.Integer rowNum,
                                       java.lang.Integer colNum)

      See Also:
        `ListGrid#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`

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

    - #### ungroup

          public void ungroup()

      Removes the grouping from the listgrid, restoring its original data

    - #### unmarkRecordRemoved

          public void unmarkRecordRemoved(int rowNum)

      Reverses a previous call to `ListGrid.markRecordRemoved`.

      Note that a record that is marked for removal and then un-marked retains any uncommited edits from before it was marked for removal. These can be discarded with `ListGrid.discardEdits`.

      Parameters:
        `rowNum` - index of record to clear the 'removed'
      See Also:
        `Editing overview and related methods`

    - #### unsort

          public void unsort()

      Turn sorting off, typically because data has changed and is no longer sorted.

      Calling `unsort()` disables visual indication of which columns are sorted, and calls `unsort()` on the underlying dataset.

      Note that a grid viewing a paged dataset may not be able to support `unsort()` because the sort order is what establishes the row numbering that allows data to be fetched in batches.

      `unsort()` is automatically called when records are dropped or the `sort-configuration` is altered.

    - #### updateData

          public void updateData(Record updatedRecord)

      Perform a DataSource "update" operation to update existing records in this component's DataSource.
      Parameters:
        `updatedRecord` - updated record
      See Also:
        `DataBoundComponentMethods overview and related methods`, Databound update Example

    - #### updateData

          public void updateData(Record updatedRecord,
                        DSCallback callback)

      See Also:
        `ListGrid#updateData()}`

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

    - #### userSelectAllRecords

          public void userSelectAllRecords()

      Selects every user-selectable record in the grid. Unlike `ListGrid.selectAllRecords`, if a record is `unselectable`, this method will not attempt to select it.

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

      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.

      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 subsequent instances of this class will automatically have the default properties that were set when this method was called. 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 effect 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.

      Parameters:
        `listGridProperties` - properties that should be used as new defaults when instances of this class are created

    - #### onInit

          protected void onInit()

      Overrides:
        `onInit` in class `Layout`

    - #### onInit_ListGrid

          protected void onInit_ListGrid()

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

    - #### getCurrentExpansionComponent

          public Canvas getCurrentExpansionComponent(java.lang.Integer record)

      Returns the expansion component derived from `ListGrid.getExpansionComponent` currently visible in some record, or null if the specified record is not showing an expansion component.
      Parameters:
        `record` - rowNum or record to get the expansionComponent for
      Returns:
        the currently visible expansion component for the expanded row.

    - #### getCurrentExpansionComponent

          public Canvas getCurrentExpansionComponent(ListGridRecord record)

      Returns the expansion component derived from `ListGrid.getExpansionComponent` currently visible in some record, or null if the specified record is not showing an expansion component.
      Parameters:
        `record` - rowNum or record to get the expansionComponent for
      Returns:
        the currently visible expansion component for the expanded row.

    - #### getRelatedDataSource

          public DataSource getRelatedDataSource(ListGridRecord record)

      Returns the `DataSource` containing data related to the passed record. Used when `canExpandRecords` is true and `ExpansionMode` is "related". The default implementation returns the DataSource specified in `detailDS`. Note : This is an override point
      Parameters:
        `record` - The record to get the Related dataSource for.
      Returns:
        The related DataSource for the "record" param

    - #### getRemoveFieldDefaults

          public com.google.gwt.core.client.JavaScriptObject getRemoveFieldDefaults()

      Returns a JavaScriptObject containing default `ListGridField` attributes of remove fields.

    - #### removeEmbeddedComponent

          public void removeEmbeddedComponent(ListGridRecord record)

      Removes an embedded component previously associated with the provided record. If `destroyOnUnEmbed` is `true` for the component, it will also be destroyed.
      Parameters:
        `record` - record that the component was previously attached to

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

    - #### removeEmbeddedComponent

          public void removeEmbeddedComponent(ListGridRecord record,
                                     java.lang.Integer colNum)

      Removes an embedded component previously associated with the provided record and colNum. Only applies to components embedded directly in a specific cell. If `destroyOnUnEmbed` is `true` for the component, it will also be destroyed.
      Parameters:
        `record` - record that the component was previously attached to
        `colNum` - the colNum in which it appears

    - #### getRollUnderCanvas

          protected Canvas getRollUnderCanvas(java.lang.Integer rowNum,
                                  java.lang.Integer colNum)

      If `showRollUnderCanvas` is true, this method will be called to create the canvas to display under the current row when a user moves their mouse under the row.
      Note that for efficiency this should not typically create a new canvas instance, every time it is called. Instead typically a single rollUnder canvas should be created and updated to reflect the current rollOver row if necessary.
      Note: This is an override point
      Parameters:
        `rowNum` - Index of the current roll-over row
        `colNum` - Index of the current roll-over column. This parameter will be null unless useCellRollOvers is true on the grid
      Returns:
        the embedded component

    - #### createRecordComponent

          protected Canvas createRecordComponent(ListGridRecord record,
                                     java.lang.Integer colNum)

      When `showRecordComponents` is true, this method is called for a row/cell the first time it is brought into the drawArea, or when there are not yet any components in the pool.

      The colNum parameter is applicable only when listGrid.getShowRecordComponentsByCell returns true.
      Note: This is an override point

      Parameters:
        `record` - record to create a component for
        `colNum` - Column to show the new component in. This parameter will be null unless showRecordComponentsByCell is true on the grid
      Returns:
        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. Second parameter will only be passed if `showRecordComponentsByCell` is true.
      Note: This is an override point
      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
      Returns:
        return false to disallow selection

    - #### updateRecordComponent

          public Canvas updateRecordComponent(ListGridRecord record,
                                     java.lang.Integer colNum,
                                     Canvas component,
                                     boolean recordChanged)

      When `showRecordComponents` is true, this method is called for a row/cell that has already been rendered. The colNum parameter is applicable only when `showRecordComponentsByCell` is true.
      Note: This is an override point
      Parameters:
        `record` - record to which the passed component applies
        `colNum` - cell to which the passed component applies. This parameter will be null unless showRecordComponentsByCell has been set for this grid
        `component` - the component to update
        `recordChanged` - was the passed component previously embedded in a different record?
      Returns:
        return the updated embedded component

    - #### getRollOverCanvas

          protected Canvas getRollOverCanvas(java.lang.Integer rowNum,
                                 java.lang.Integer colNum)

      If `showRollOverCanvas` is true, this method will be called to create the canvas to display over the current row when a user moves their mouse over the row.
      Note that for efficiency this should not typically create a new canvas instance, every time it is called. Instead typically a single rollOver canvas should be created and updated to reflect the current rollOver row if necessary.
      Note: This is an override point
      Parameters:
        `rowNum` - Index of the current roll-over row
        `colNum` - Index of the current roll-over column. This parameter will be null unless useCellRollOvers is true for the grid
      Returns:
        the embedded component

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

    - #### getCellHoverComponent

          protected Canvas getCellHoverComponent(Record record,
                                     java.lang.Integer rowNum,
                                     java.lang.Integer colNum)

      Gets the embedded-component to show as a given record's hoverComponent. This component is then shown instead of the standard Hover-text.

      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.
      Note: This is an override point

      Parameters:
        `record` - record to get the hoverComponent for
        `rowNum` - the row number
        `colNum` - the column number
      Returns:
        the component to show as a hover

    - #### canExpandRecord

          public boolean canExpandRecord(ListGridRecord record,
                                int rowNum)

      Expands a given record by creating a subcomponent and inserting it in to the record's grid-row. A number of built-in `ExpansionMode` are supported by the default implementation of `getExpansionComponent(com.smartgwt.client.widgets.grid.ListGridRecord)` and you can override that method to provide more specific expansionComponents.
      Note: This is an override point
      Parameters:
        `record` - record to work with
        `rowNum` - rowNum of the record to work with
      Returns:
        true if the record can be expanded

    - #### 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 builtin components, according the value of `expansionMode`. You can override this method to return any component you wish to provide as an expansionComponent.
      Note: This is an override point

      Parameters:
        `record` - record to get the expansionComponent for
      Returns:
        the embedded component

    - #### getGridSummary

          protected java.lang.Object getGridSummary(ListGridField field)

      When `showGridSummary` is `true` this method is called for each field which will show a grid summary value (as described in `showGridSummary` to get the summary value to display below the relevant column.

      The default implementation is as follows:

      - If this is a databound grid and not all data is loaded, returns null for every field
      - Otherwise if `com.smartgwt.client.widgets.grid.ListGridField#getGridSummary` is defined, calls that method passing in the current data set for the grid
      - If `com.smartgwt.client.widgets.grid.ListGridField#getGridSummary` is undefined, makes use of the `com.smartgwt.client.widgets.grid.ListGrid#getGridSummaryFunction` for the field to calculate the summary based on the current data set
      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 note need to be calculated directly from the data. Note: this method will not be called if ${isc.DocUtils.linkForRef('listGrid.gridSummaryDataSource')} is specified.
      Parameters:
        `field` - field for which the summary value should be returned
        Note: This is an override point
      Returns:
        summary value to display for the specified field.

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

    - #### 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 (see `recordCustomStyleProperty`) if defined.
      - create a style name based on the result of `GridRenderer.getBaseStyle` and the state of the record.
      The state of the record is indicated by adding a suffix to the base style. There are four independent boolean states, which are combined in the order given:
      1. "Disabled" : whether the cell is disabled; enable by setting the "enabled" flag on record returned by getCellRecord
      2. "Selected" : whether cell is selected; enable by passing a Selection object as "selection"
      3. "Over" : mouse is over this cell; enable with showRollovers
      4. "Dark" : alternating color bands; enable with alternateRowStyles
      For example, with a baseStyle of "myCell", a cell which is selected, which the mouse is over, and which is in a dark-colored band will get a styleName of myCellSelectedOverDark.

      Cell Styles 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

      "Selected" style can be ignored by setting `showSelectedStyle` to false.
      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 Also:
        `getBaseStyle()`, `Appearance overview and related methods`

    - #### canEditCell

          protected boolean canEditCell(int rowNum,
                            int colNum)

      Can this cell be edited?

      The default implementation of `canEditCell()` respects the various property settings affecting editability: `canEdit` disables editing for a field, a record with the `recordEditProperty` set to false is not editable, and disabled records are not editable.

      You can override this method to control editability on a cell-by-cell basis. 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 `com.smartgwt.client.widgets.grid.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. The values input so far by the user are available via `getEditValues(int)`.

    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

- #### canSelectCell

      protected boolean canSelectCell(int rowNum,
                          int colNum)

  If `canSelectCells` is set to `true`, this method will be called for each cell the user attempts to select. If it returns false, the cell will not be selected.
  Parameters:
    `rowNum` - row number of the cell being selected
    `colNum` - column number of the cell being selected
  Returns:
    Whether to false to disallow selection of this cell

- #### getHeaderContextMenuItems

      protected MenuItem[] getHeaderContextMenuItems(java.lang.Integer fieldNum)

  If ListGrid.showHeaderContextMenu is true this method returns the menu items to be displayed in the default header context menu.
  This method will be called each time the menu is displayed, allowing for dynamic content depending on the current state of the fields.
  The default set of menu items will includes menu items for freezing fields, showing and hiding fields, grouping by fields, or other listGrid features
  Note: This is an override point
  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:
    Array of MenuItem

- #### getHeaderSpanContextMenuItems

      protected MenuItem[] getHeaderSpanContextMenuItems(HeaderSpan headerSpan)

  Return the menus items that should be shown in a menu triggered from a headerSpan. By default no contextMenu is shown.
  Note: This is an override point
  Parameters:
    `headerSpan` - the component representing the headerSpan. This component will have all the properties specified via ListGrid.headerSpans
  Returns:
    an arrow of MenuItem's

- #### 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 ListGrid.autoSaveEdits) return this value.
  - Otherwise return record[listGrid.recordBaseStyleProperty], if defined, otherwise field.baseStyle, or finally this.baseStyle
  Note: This is an override point
  Parameters:
    `record` - the record
    `rowNum` - the row num
    `colNum` - the column num
  Returns:
    the CSS class for this cell

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

- #### setSummaryRowFetchRequestProperties

      public void setSummaryRowFetchRequestProperties(DSRequest summaryRowFetchRequestProperties)

  If `setShowGridSummary(Boolean)` is true, and a ${isc.DocUtils.linkForRef('listGrid.summaryDataSource')} 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 ${isc.DocUtils.linkForRef('DSRequest.OperationId')} to perform a custom fetch operation which retrieved only summary values based on criteria.

  Note : This is an advanced setting

  Parameters:
    `summaryRowFetchRequestProperties` - summaryRowFetchRequestProperties Default value is null

- #### getSummaryRowFetchRequestProperties

      public DSRequest getSummaryRowFetchRequestProperties()

  If `setShowGridSummary(Boolean)` is true, and a ${isc.DocUtils.linkForRef('listGrid.summaryDataSource')} 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 ${isc.DocUtils.linkForRef('DSRequest.OperationId')} to perform a custom fetch operation which retrieved only summary values based on criteria.
  Returns:
    DSRequest properties

- #### 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" 3 character string containing the "M", "D" and "Y" characters to indicate the format of strings being parsed into Date instances via Date.parseInput().

  As an example - an input format of "MDY" would parse "01/02/1999" to Jan 2nd 1999

  Parameters:
    `dateInputFormat` - the dateInputFormat

- #### setFields

      public void setFields(ListGridField... fields)

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

  If `dataSource` is also set, this value acts as a set of overrides as explained in `fields`. 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. Consider the following methods for more efficient, more incremental changes: resizeField, reorderField, showField, hideField, setFieldProperty.

  Parameters:
    `fields` - array of fields to draw. Default value is null

- #### 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
  Parameters:
    `resultSetProperties` - the data properties

- #### setData

      public void setData(ListGridRecord[] records)

  A List of ListGridRecord objects, specifying the data to be used to populate the ListGrid. In ListGrids, the data array specifies rows. Note that ListGrids automatically observe changes to the data List and redraw accordingly.

  This property is settable directly only as part of a `ListGrid` constructor. If you want to change the `ListGrid`'s data after initial creation, call `setData(com.smartgwt.client.widgets.grid.ListGridRecord[])`.

  This property will typically not be explicitly specified for databound ListGrids, where the data is returned from the server via databound component methods such as `fetchData()`. In this case the data objects will be set to a `ResultSet` rather than a simple array. Initialize the data object with the given array. Observes methods of the data object so that when the data changes, the listGrid will redraw automatically.

  Parameters:
    `records` - data to show in the list. Default value is null

- #### setData

      public void setData(Record[] data)

  An array of Record objects, specifying the data to be used to populate the DataBoundComponent.
  Parameters:
    `data` - array of Record objects.
  See Also:
    `setData(ListGridRecord[])`

- #### setData

      public void setData(RecordList data)

  An List of Record objects, specifying the data to be used to populate the DataBoundComponent. Note that ListGrids automatically observe changes to the data List and redraw accordingly.
  Parameters:
    `data` - List of Records

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

- #### 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` - recordEnabledProperty Default value is "enabled"
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### getRecordEnabledProperty

      public java.lang.String getRecordEnabledProperty()

  Property name on a record that will be checked to determine whether a record is enabled.

  Setting this property on a record will effect the visual style and interactivity of the record. If set to `false` the record (row in a `ListGrid` or `TreeGrid`) will not highlight when the mouse moves over it, nor will it respond to mouse clicks.

  Returns:
    String

- #### setSortField

      public void setSortField(java.lang.String fieldName)

  Specifies the field by which this grid should be initially sorted.
  Parameters:
    `fieldName` - the field Name

- #### getSortField

      public java.lang.String getSortField()

  The field by which this grid should be initially sorted.
  Returns:
    the sort field

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

- #### setHeaderSpans

      public void setHeaderSpans(HeaderSpan... headerSpans)
                          throws java.lang.IllegalStateException

  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.

          isc.ListGrid.create({        headerHeight:40,        fields : [            {
       name:"field1" },            { name:"field2" },            { name:"field3" }        ],        headerSpans : [
             {                 fields: ["field1", "field2"],                title: "Field 1 and 2"            }        ]
          });

  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.

  See `HeaderSpan` for many properties that allow the control of the appearance of headerSpans. Note that headerSpans are created via the AutoChild pattern, hence you can change the Smart GWT component being used, or any of it's properties.

  Neither headerSpans themselves nor the fields within them may be drag reordered, but other unspanned headers may be.

  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. Update the headerSpans configuration on the grid dynamically.

  Parameters:
    `headerSpans` - same configuration block as that passed to `headerSpans`.. Default value is null
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### setGroupByField

      public void setGroupByField(java.lang.String field)
                           throws java.lang.IllegalStateException

  Field to group grid records by. After initialization, use `groupBy(java.lang.String...)` to update the grouping field list, instead of modifying groupByField directly.
  Parameters:
    `field` - groupByField Default value is see below
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### setGroupByField

      public void setGroupByField(java.lang.String... field)
                           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(java.lang.String...)` to update the grouping field list, instead of modifying groupByField directly.
  Parameters:
    `field` - groupByField Default value is see below
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### getGroupByFields

      public java.lang.String[] getGroupByFields()

  Get the current grouping of this listGrid as an array of fieldNames.

  This method returns an array containing the names of the field(s) by which this grid is grouped (either from `setGroupByField(String... field)` or or from a call to `groupBy(String...)`). If this grid is not currently grouped, this method will return null.

  Returns:
    Current group by field names.

- #### setGroupStartOpen

      public void setGroupStartOpen(GroupStartOpen group)

  Describes the default state of ListGrid groups when groupBy is called. Possible values are:
  - "all": open all groups
  - "first": open the first group
  - "none": start with all groups closed
  - Array of values that should be opened
  Parameters:
    `group` - the group

- #### setGroupStartOpen

      public void setGroupStartOpen(java.lang.Object... groupValues)

  Parameters:
    `groupValues` - Array of values that should be opened

- #### setSelectionCanvasProperties

      public void setSelectionCanvasProperties(Canvas selectionCanvasProperties)
                                        throws java.lang.IllegalStateException

  Canvas with properties to apply to the auto-generated Selection Canvas properties when `showSelectionCanvas` is true.
  Parameters:
    `selectionUnderCanvasProperties` - the selection under Canvas properties
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### setSelectionUnderCanvasProperties

      public void setSelectionUnderCanvasProperties(Canvas selectionUnderCanvasProperties)
                                             throws java.lang.IllegalStateException

  Canvas with properties to apply to the auto-generated Selection Under Canvas properties when `showSelectionCanvas` is true.
  Parameters:
    `selectionUnderCanvasProperties` - the selection under Canvas properties
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### setRollUnderCanvasProperties

      public void setRollUnderCanvasProperties(Canvas rollUnderCanvasProperties)
                                        throws java.lang.IllegalStateException

  The RollUnder Canvas properties when `showRollover` is true and `showRollOverCanvas` is true. This canvas will be created and displayed behind the current rollOver cell in the page's z-order, meaning it will only be visible if the cell styling is transparent.
  Parameters:
    `rollUnderCanvasProperties` - the roll under Canvas properties
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### setDataSource

      public void setDataSource(DataSource dataSource,
                       ListGridField... fields)

  Bind to a DataSource.

  Binding to a DataSource means that the component will use the DataSource to provide default data for its fields.

  When binding to a new DataSource, if the component has any existing "fields" or has a dataset, these will be discarded by default, since it is assumed the new DataSource may represent a completely unrelated set of objects. If the old "fields" are still relevant, pass them to setDataSource().

  Parameters:
    `dataSource` -
    `fields` -

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

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

- #### 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:
    Array of ListGridField Properties

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

- #### showField

      public void showField(java.lang.String fieldName)

  Force a field to be shown. NOTE: If a field.showIf expression exists, it will be destroyed.
  Parameters:
    `fieldName` - the field name

- #### showField

      public void showField(java.lang.String fieldName,
                   boolean suppressRelayout)

  Force a field to be shown. NOTE: If a field.showIf expression exists, it will be destroyed.
  Parameters:
    `fieldName` - the field name
    `suppressRelayout` - if true, don't relayout non-explicit sized fields to fit the available space

- #### setFieldTitle

      public void setFieldTitle(java.lang.String fieldName,
                       java.lang.String title)

  Change the title of a field after the grid is created.
  Parameters:
    `fieldName` - name of the field, or index.
    `title` - new title

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

- #### hideField

      public void hideField(java.lang.String fieldName)

  Force a field to be hidden. NOTE: If a field.showIf expression exists, it will be destroyed.
  Parameters:
    `fieldName` - the field name

- #### hideField

      public void hideField(java.lang.String fieldName,
                   boolean suppressRelayout)

  Force a field to be hidden. NOTE: If a field.showIf expression exists, it will be destroyed.
  Parameters:
    `fieldName` - the field name
    `suppressRelayout` - if true, don't relayout non-explicit sized fields to fit the available space

- #### 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 operation. If editing is already underway elsewhere in the grid, startEditingNew() behaves just like `startEditing()`.

- #### startEditingNew

      public void startEditingNew(java.util.Map defaultValues)

  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:
    `defaultValues` - the default field values for the new record

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

- #### getFieldNum

      public int getFieldNum(java.lang.String fieldName)

  Given a field or field id, return it's index in the fields array
  Parameters:
    `fieldName` - the field name
  Returns:
    index of the field within this.fields

- #### getFieldName

      public java.lang.String getFieldName(java.lang.String fieldName)

  Given a column number or field id, return the field name of a field.
  Parameters:
    `fieldName` - field name
  Returns:
    Name of the field.

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

- #### getField

      public ListGridField getField(java.lang.String fieldName)

  Given a column number or field name, return the field definition.

  When using `fields`, the field definition may be a mix of information derived from `fields` and `dataSource`.

  Parameters:
    `fieldName` - the field name.
  Returns:
    field definition

- #### getField

      public ListGridField getField(int colNum)

  Given a column number or field name, return the field definition.

  When using `fields`, the field definition may be a mix of information derived from `fields` and `dataSource`.

  Parameters:
    `colNum` - number or id of the field.
  Returns:
    field definition

- #### 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. Returns null if there is no row focused

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

- #### getSelectedRecords

      public ListGridRecord[] getSelectedRecords()

  The selection associated with the listGrid.
  Returns:
    the selection

- #### getSelectedRecords

      public ListGridRecord[] getSelectedRecords(boolean excludePartialSelections)

  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

- #### 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 `BaseWidget.draw()` or once `setFields(com.smartgwt.client.widgets.grid.ListGridField...)` 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(java.lang.String)`, `hideField(java.lang.String)` and related APIs. To update properties of individual fields, use `com.smartgwt.client.widgets.grid.ListGrid#setFieldProperties` or more specific APIs such as `setFieldTitle(java.lang.String, java.lang.String)`.

  Returns:
    Array of all fields in the ListGrid

- #### getFields

      public ListGridField[] getFields()

  The ListGrid fields
  Returns:
    the fields

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

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

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

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

  Sort the the data by the first sortable column.

  Updates the sortFieldNum and sortDirection to reflect the new sort order of the grid.

  Returns:
    sorting worked

- #### sort

      public java.lang.Boolean sort(java.lang.String sortField,
                           SortDirection sortDirection)

  Sorts a listGrid explicitly by the column given by sortFieldNum, if provided, in ascending or descending order if specified by sortDirection. If sortFieldNum is not provided and listGrid.sortFieldNum is undefined, the data will be sorted by the first sortable column according to `sortDirection` if specified, or `sortDirection`.

  Updates the sortFieldNum and sortDirection to reflect the new sort order of the grid.

  Parameters:
    `sortField` - the field name to sort by
    `sortDirection` - the direction to sort in
  Returns:
    sorting worked

- #### sort

      public java.lang.Boolean sort(int sortCol,
                           SortDirection sortDirection)

  Sorts a listGrid explicitly by the column given by sortFieldNum, if provided, in ascending or descending order if specified by sortDirection. If sortFieldNum is not provided and listGrid.sortFieldNum is undefined, the data will be sorted by the first sortable column according to `sortDirection` if specified, or `sortDirection`.

  Updates the sortFieldNum and sortDirection to reflect the new sort order of the grid.

  Parameters:
    `sortCol` - the column number to sort by
    `sortDirection` - the direction to sort in
  Returns:
    sorting worked

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

- #### discardAllEdits

      public void discardAllEdits()

  Cancel outstanding edits, discarding edit values, and hiding editors for the records.

- #### 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.
  Parameters:
    `rows` - 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 true for this parameter will leave the editor visible (and just reset the edit values underneath the editor)

- #### freezeField

      public void freezeField(java.lang.String fieldName)

  Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
  Parameters:
    `fieldName` - the field name

- #### freezeField

      public void freezeField(int colNum)

  Freeze the indicated field, so that it remains in place and visible when horizontal scrolling occurs.
  Parameters:
    `colNum` - the column num

- #### freezeFields

      public void freezeFields(int[] colNums)

  Freeze the indicated fields, so that they remains in place and visible when horizontal scrolling occurs.
  Parameters:
    `array` - of colNums to freeze

- #### freezeFields

      public void freezeFields(java.lang.String[] fieldNames)

  Freeze the indicated fields, so that they remains in place and visible when horizontal scrolling occurs.
  Parameters:
    `array` - of fieldNames to freeze

- #### unfreezeField

      public void unfreezeField(java.lang.String fieldName)

  Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
  Parameters:
    `fieldName` - the field name

- #### unfreezeField

      public void unfreezeField(int colNum)

  Unfreeze a frozen field, so that it will now scroll along with other fields when horizontal scrolling occurs.
  Parameters:
    `colNum` - the column num

- #### unfreezeFields

      public void unfreezeFields(int[] colNums)

  Unfreeze the indicated fields, so that it will now scroll along with other fields when horizontal scrolling occurs.
  Parameters:
    `array` - of colNums to unfreeze

- #### unfreezeFields

      public void unfreezeFields(java.lang.String[] fieldNames)

  Unfreeze the indicated fields, so that it will now scroll along with other fields when horizontal scrolling occurs.
  Parameters:
    `array` - of field names to unfreeze

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

- #### getDrawArea

      public java.lang.Integer[] getDrawArea()

  Returns the extents of the rows and columns current visible in this grid's viewport.
  Returns:
    The row/col coordinates currently visible in the viewport as an array of Integers: [startRow, endRow, startCol, endCol].

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

  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 a DataSource "orders" and another DataSource "orderItems", where "orderItems" declared a field "orderId" pointing to the primary key field of the "orders" DataSource", there is a set of records from the "orderItems" DataSource related to any given record from the "order" DataSource. If this component were bound to "orderItems" and a record from the "orders".
  Parameters:
    `record` - the DataSource record
    `dataSource` - the schema of the DataSource record

- #### fetchRelatedData

      public void fetchRelatedData(Record record,
                          DataSource dataSource,
                          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 a DataSource "orders" and another DataSource "orderItems", where "orderItems" declared a field "orderId" pointing to the primary key field of the "orders" DataSource", there is a set of records from the "orderItems" DataSource related to any given record from the "order" DataSource. If this component were bound to "orderItems" and a record from the "orders".
  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

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

  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:
    `rowNum` - the row number
    `fieldName` - the field name
  Returns:
    the edited cell value

- #### getEditedCell

      public java.lang.Object getEditedCell(int rowNum,
                                   int colNum)

  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:
    `rowNum` - the row number
    `colNum` - the column number
  Returns:
    the edited cell value

- #### getEditedCell

      public java.lang.Object getEditedCell(Record record,
                                   java.lang.String fieldName)

  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` - an Object containing values for all the record's primary keys
    `fieldName` - the field name
  Returns:
    the edited cell value

- #### getEditedCell

      public java.lang.Object getEditedCell(Record record,
                                   int colNum)

  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` - an Object containing values for all the record's primary keys
    `colNum` - the column number
  Returns:
    the edited cell value

- #### getEditedRecord

      public Record getEditedRecord(int rowNum)

  Returns the combination of unsaved edits (if any) and original values (if any) for a given row being edited.

  The returned value is never null, and can be freely modified.

  Parameters:
    `rowNum` - the row num
  Returns:
    A copy of the record with unsaved edits included

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      java.lang.Object value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      java.lang.String value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      java.util.Date value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      double value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      boolean value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      float value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      int value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      Record value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      Record[] value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `colNum` - column number of cell
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      int colNum,
                      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,
                      float value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `fieldName` - the field name
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      java.lang.String fieldName,
                      int value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `fieldName` - the field name
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      java.lang.String fieldName,
                      Record value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `fieldName` - the field name
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      java.lang.String fieldName,
                      Record[] value)

  Modifies a field value being tracked as an unsaved user edit.
  Parameters:
    `rowNum` - row number
    `fieldName` - the field name
    `value` - new value for the appropriate field

- #### setEditValue

      public void setEditValue(int rowNum,
                      java.lang.String fieldName,
                      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

- #### 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` - the row num for the record being edited
    `values` - new values for the row

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

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

  Set a validation error for some cell.
  Parameters:
    `rowNum` - row index of cell to add validation error for
    `fieldName` - field name of cell to add validation error for
    `errorMessage` - validation error message

- #### setFieldError

      public void setFieldError(int rowNum,
                       java.lang.String fieldName,
                       java.lang.String[] errorMessages)

  Set a validation error for some cell.
  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

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

- #### getSummaryFieldValue

      public java.lang.String getSummaryFieldValue(ListGridField field,
                                          Record record)

  Get the computed value of a `canAddSummaryFields`.
  Parameters:
    `field` - field that has a summary format
    `record` - record to use to compute formula value
  Returns:
    formula result

- #### getRowErrors

      public java.util.Map getRowErrors(int rowNum)

  Returns any currently stored validation errors for this row
  Parameters:
    `rowNum` - the index of row to check for validation errors
  Returns:
    map of validation errors. If no validation errors stored for the row, null is returned

- #### getCellErrors

      public java.lang.String[] getCellErrors(int rowNum,
                                     java.lang.String fieldName)

  Returns the current set of errors for this cell.
  Parameters:
    `rowNum` - the index of row to check for validation errors
    `fieldName` - field to check for validation errors
  Returns:
    array of error messages (strings) for the specified cell. If no validation errors are present, returns null.

- #### setSortDirection

      public void setSortDirection(SortDirection sortDirection)

  Sorting direction of this ListGrid. If specified when the ListGrid is initialized, this property will be the default sorting direction for the `sortField`. May be overridden by specifying `sortDirection`.

  After initialization, this property will be updated on `sort()` to reflect the current sort direction of the grid.

  Parameters:
    `sortDirection` - sortDirection Default value is SortDirection.ASCENDING

- #### getSortDirection

      public SortDirection getSortDirection()

  Sorting direction of this ListGrid. If specified when the ListGrid is initialized, this property will be the default sorting direction for the `sortField`. May be overridden by specifying `sortDirection`.

  After initialization, this property will be updated on `sort()` to reflect the current sort direction of the grid.

  Returns:
    sort direction Default value is SortDirection.ASCENDING

- #### 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,
                                   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 of field to be validated
  Returns:
    returns true if validation was successful (no errors encountered), false otherwise.

- #### 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,
                                    java.lang.String fieldName)

  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
    `fieldName` - name of field to check for validation errors
  Returns:
    true if we have validation errors for the row/col in question

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

  Clears any validation errors for some cell.
  Parameters:
    `rowNum` - row index of cell to add validation error for
    `fieldName` - field name of cell to add validation error for

- #### clearFieldError

      public void clearFieldError(int rowNum,
                         int colIndex)

  Clears any validation errors for some cell.
  Parameters:
    `rowNum` - row index of cell to add validation error for
    `colIndex` - col index of cell to add validation error for

- #### setValueMap

      public void setValueMap(java.lang.String fieldName,
                     java.util.LinkedHashMap valueMap)

  Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
  Parameters:
    `fieldName` - Name of field to update
    `valueMap` - ValueMap for the field

- #### setValueMap

      public void setValueMap(java.lang.String fieldName,
                     java.lang.String... valueMap)

  Set the value map for a field. See also the `setEditorValueMap(java.lang.String, java.util.LinkedHashMap)` and `com.smartgwt.client.widgets.grid.ListGrid#getEditorValueMap` methods which allow further customization of the valueMap displayed while the field is in edit mode.
  Parameters:
    `fieldName` - Name of field to update
    `valueMap` - ValueMap for the field

- #### setEditorValueMap

      public void setEditorValueMap(java.lang.String fieldName,
                           java.util.LinkedHashMap valueMap)

  Set a valueMap to display for this field while editing.
  This method sets the +link{ListGridField.editorValueMap, field.editorValueMap} property and may be called at runtime while editing the grid.
  Parameters:
    `fieldName` - Name of field to update
    `valueMap` - ValueMap for the field

- #### setEditorValueMap

      public void setEditorValueMap(java.lang.String fieldName,
                           java.lang.String... valueMap)

  Set a valueMap to display for this field while editing.
  This method sets the +link{ListGridField.editorValueMap, field.editorValueMap} property and may be called at runtime while editing the grid.
  Parameters:
    `fieldName` - Name of field to update
    `valueMap` - ValueMap for the field

- #### getDisplayValue

      public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                     int value)

  Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
  Parameters:
    `fieldName` - Name of the field for which the displayValue is required
    `value` - data value for the field

- #### getDisplayValue

      public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                     float value)

  Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
  Parameters:
    `fieldName` - Name of the field for which the displayValue is required
    `value` - data value for the field

- #### getDisplayValue

      public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                     java.lang.String value)

  Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
  Parameters:
    `fieldName` - Name of the field for which the displayValue is required
    `value` - data value for the field

- #### getDisplayValue

      public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                     boolean value)

  Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
  Parameters:
    `fieldName` - Name of the field for which the displayValue is required
    `value` - data value for the field

- #### getDisplayValue

      public java.lang.Object getDisplayValue(java.lang.String fieldName,
                                     java.util.Date value)

  Given a field with a specified `valueMap` or `displayField`, this method will return the display value for any underlying data value.
  Parameters:
    `fieldName` - Name of the field for which the displayValue is required
    `value` - data value for the field

- #### clearEditValue

      public void clearEditValue(int rowNum,
                        java.lang.String fieldName)

  Clear a field value being tracked as an unsaved user edit.

  The saved record value will be displayed in the the appropriate cell instead. Will also discard any validation errors for the specified field / row.

  Parameters:
    `rowNum` - the row number
    `fieldName` - name of field for which the value is to be cleared

- #### getAllEditRows

      public int[] getAllEditRows()

  Returns an array of every rowNum for which we have pending (unsubmitted) edits.
  Returns:
    array of rowNums for rows with edit values pending submission

- #### rowClick

      public void rowClick(ListGridRecord record,
                  int recordNum,
                  int fieldNum)

  Programmatically simulate clicking of a row.
  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

- #### rowDoubleClick

      public void rowDoubleClick(ListGridRecord record,
                        int recordNum,
                        int fieldNum)

  Programmatically simulate clicking of a row.

  Default implementation fires 'editCell' if appropriate, and handles firing the 'recordDoubleClick' event

  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

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

- #### getInitialSort

      public SortSpecifier[] getInitialSort()

  An array of ${isc.DocUtils.linkForRef('object:SortSpecifier')} objects used to set up the initial sort configuration for this grid.
  Returns:
    Array of SortSpecifier

- #### getSortSpecifier

      public SortSpecifier getSortSpecifier(java.lang.String fieldName)

  Returns the ${isc.DocUtils.linkForRef('object: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:
    True if the passed field is sorted, false otherwise

- #### addSort

      public void addSort(SortSpecifier sortSpecifier)

  Adds another SortSpecifierto this grid's sort configuration and resorts.
  Parameters:
    `sortSpecifier` - A SortSpecifier object indicating an additional field and direction to sort by

- #### setSort

      public void setSort(SortSpecifier[] sortSpecifiers)

  This method sorts the grid on one or more fields, or configures it to be so sorted upon the underlying JS object's creation. Pass in an array of SortSpecifiers 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.

  See `addSort(com.smartgwt.client.data.SortSpecifier)` and `com.smartgwt.client.widgets.grid.ListGrid#alterSort` APIs for information on making changes to the current sort configuration.

  Parameters:
    `sortSpecifiers` - Array of SortSpecifier objects

    Note: if the underlying JS object has not yet been created, this function will merely set the initialSort attribute of the ListGrid, rather than actually perform a sort; the object will be sorted upon creation.

- #### getSort

      public SortSpecifier[] getSort()

  Return the grids current sort specification.
  Returns:
    sort specifiers

- #### recalculateSummaries

      public void recalculateSummaries()

  Recalculates values for fields with `summary-functions` defined and for values displayed in the `grid summary` and `group summary rows`.

- #### recalculateSummaries

      public void recalculateSummaries(Record[] records)

  Recalculates values for fields with `summary-functions` defined and for values displayed in the `grid summary` and `group summary rows`.
  Parameters:
    `records` - Optional array of records to recalculate summaries for

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

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

- #### getShowRecordComponentsByCell

      public java.lang.Boolean getShowRecordComponentsByCell()

  If true, shows `recordComponents` in cells, rather than just in records.
  Returns:
    Boolean

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

  Formatter to apply to values displayed within cells.
  The value passed to this method is either the field value found in the cell record or, if there are unsaved edits, the current user-entered value for the cell. NOTE: unsaved user edits may contain nulls, bad values or values of the wrong type, so formatters used for editable data should be bulletproof.
  Note that this formatter will not be applied to the value displayed within editors for cells - use formatEditorValue to achieve this.
  If formatCellValue is defined at the field level for some cell being edited, the field level method will be used to format the edit value and this method will not be called for that cell.
  Parameters:
    `formatter` - Formatter to apply to values displayed within cells

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

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

- #### autoFitFields

      public void autoFitFields(ListGridField... fields)

  Perform a one-time horizontal auto-fit of the fields passed. Fields will be sized to match their contents or title (as specified in `autoFitWidthApproach`) Does not establish permanent auto-fitting - use `ListGrid.setAutoFitWidth` to do so.
  Parameters:
    `fields` - Array of fields to auto fit. If this parameter is not passed, autoFitting will occur on all visible fields unless they are of the following types:
    - boolean
    - icon
    - image
    - date
    - time
    - datetime

- #### hideFields

      public void hideFields(java.lang.String... fields)

  Force an array of fields to be hidden.

  NOTE: If a field.showIf expression exists, it will be destroyed.

  When hiding multiple fields, this method should be called rather than calling `ListGrid.hideField` repeatedly for each field to hide.

  Parameters:
    `fields` - fields to hide

- #### hideFields

      public void hideFields(ListGridField... fields)

  Force an array of fields to be hidden.

  NOTE: If a field.showIf expression exists, it will be destroyed.

  When hiding multiple fields, this method should be called rather than calling `ListGrid.hideField` repeatedly for each field to hide.

  Parameters:
    `fields` - fields to hide

- #### hideFields

      public void hideFields(java.lang.String[] fields,
                    boolean suppressRelayout)

  Force an array of fields to be hidden.

  NOTE: If a field.showIf expression exists, it will be destroyed.

  When hiding multiple fields, this method should be called rather than calling `ListGrid.hideField` repeatedly for each field to hide.

  Parameters:
    `fields` - fields to hide
    `suppressRelayout` - if passed, don't relayout non-explicit sized fields to fit the available space

- #### hideFields

      public void hideFields(ListGridField[] fields,
                    boolean suppressRelayout)

  Force an array of fields to be hidden.

  NOTE: If a field.showIf expression exists, it will be destroyed.

  When hiding multiple fields, this method should be called rather than calling `ListGrid.hideField` repeatedly for each field to hide.

  Parameters:
    `fields` - fields to hide
    `suppressRelayout` - if passed, don't relayout non-explicit sized fields to fit the available space

- #### showFields

      public void showFields(java.lang.String... fields)

  Force an array of fields to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

  Note: for showing multiple fields it is more efficient to call this method than to call `ListGrid.showField` repeatedly.

  Parameters:
    `field` - Fields to show.

- #### showFields

      public void showFields(java.lang.String[] fields,
                    boolean suppressRelayout)

  Force an array of fields to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

  Note: for showing multiple fields it is more efficient to call this method than to call `ListGrid.showField` repeatedly.

  Parameters:
    `field` - Fields to show.

- #### showFields

      public void showFields(ListGridField... fields)

  Force an array of fields to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

  Note: for showing multiple fields it is more efficient to call this method than to call `ListGrid.showField` repeatedly.

  Parameters:
    `field` - Fields to show.

- #### showFields

      public void showFields(ListGridField[] fields,
                    boolean suppressRelayout)

  Force an array of fields to be shown. This method does not add new fields to the grid, it simply changes field visibility. If a field.showIf expression exists, it will be destroyed.

  Note: for showing multiple fields it is more efficient to call this method than to call `ListGrid.showField` repeatedly.

  Parameters:
    `field` - Fields to show.

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

- #### chartData

      public FacetChart chartData(java.lang.String labelField,
                         java.lang.String[] dataFields,
                         Record[] 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

- #### 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` - gridComponents Default value is (see below)
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

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

  If the grid is editable, changes will be applied as editValues, exactly as though the user had typed the values in (see `Grid Editing Overview`). Otherwise, the values will be applied directly to the Record objects.

  See also `ListGrid.applyCellData`.

  Parameters:
    `recordData` - list of Records as described above

- #### applyCellData

      public void applyCellData(RecordList cellData)

  Applies a set of Records containing coordinate-based data as returned by `ListGrid.getSelectedCellData` and applies the data at the current selection.

  If the grid is editable, changes will be applied as editValues, exactly as though the user had typed the values in (see `Grid Editing Overview`). Otherwise, the values will be applied directly to the Record objects.

  See also `ListGrid.applyRecordData`.

  Parameters:
    `cellData` - list of Records as described above

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

- #### getGroupTree

      public Tree getGroupTree()

  If the ListGrid is grouped, return the underlying tree structure.
  Returns:
    the ListGrid group tree

- #### setDataPageSize

      public void setDataPageSize(int dataPageSize)

  Description copied from interface: `DataBoundComponent`
  When using data paging, how many records to fetch at a time. The value of this attribute is passed on to the auto-constructed `ResultSet` object for this component. In effect, this gives you control over the `resultSize` attribute for this component.

  Note that regardless of the `dataPageSize` setting, a component will always fetch all of data that it needs to draw. Settings such as `showAllRecords`, `drawAllMaxCells` and `drawAheadRatio` can cause more rows than the configured `dataPageSize` to be fetched.

  Specified by:
    `setDataPageSize` in interface `DataBoundComponent`
  Parameters:
    `dataPageSize` - dataPageSize Default value is 75

- #### getDataPageSize

      public int getDataPageSize()

  Description copied from interface: `DataBoundComponent`
  When using data paging, how many records to fetch at a time. The value of this attribute is passed on to the auto-constructed `ResultSet` object for this component. In effect, this gives you control over the `resultSize` attribute for this component.

  Note that regardless of the `dataPageSize` setting, a component will always fetch all of data that it needs to draw. Settings such as `showAllRecords`, `drawAllMaxCells` and `drawAheadRatio` can cause more rows than the configured `dataPageSize` to be fetched.

  Specified by:
    `getDataPageSize` in interface `DataBoundComponent`
  Returns:
    int

- #### setUseAllDataSourceFields

      public void setUseAllDataSourceFields(java.lang.Boolean useAllDataSourceFields)

  Description copied from interface: `DataBoundComponent`
  If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

  If `component.fields` contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

  Specified by:
    `setUseAllDataSourceFields` in interface `DataBoundComponent`
  Parameters:
    `useAllDataSourceFields` - useAllDataSourceFields Default value is false

- #### getUseAllDataSourceFields

      public java.lang.Boolean getUseAllDataSourceFields()

  Description copied from interface: `DataBoundComponent`
  If true, the set of fields given by the "default binding" (see `fields`) is used, with any fields specified in `component.fields` acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

  If `component.fields` contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

  Specified by:
    `getUseAllDataSourceFields` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setShowHiddenFields

      public void setShowHiddenFields(java.lang.Boolean showHiddenFields)

  Description copied from interface: `DataBoundComponent`
  Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.

  The `hidden` property is used on DataSource fields to mark fields that are never of meaning to an end user.

  Specified by:
    `setShowHiddenFields` in interface `DataBoundComponent`
  Parameters:
    `showHiddenFields` - showHiddenFields Default value is false

- #### getShowHiddenFields

      public java.lang.Boolean getShowHiddenFields()

  Description copied from interface: `DataBoundComponent`
  Whether to show fields marked `hidden:true` when a DataBoundComponent is given a DataSource but no `component.fields`.

  The `hidden` property is used on DataSource fields to mark fields that are never of meaning to an end user.

  Specified by:
    `getShowHiddenFields` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setShowComplexFields

      public void setShowComplexFields(java.lang.Boolean showComplexFields)

  Description copied from interface: `DataBoundComponent`
  Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.

  If true, the component will show fields that declare a complex type, for example, a field 'shippingAddress' that declares type 'Address', where 'Address' is the ID of a DataSource that declares the fields of a shipping address (city, street name, etc).

  Such fields may need custom formatters or editors in order to create a usable interface, for example, an Address field in a ListGrid might use a custom formatter to combine the relevant fields of an address into one column, and might use a pop-up dialog for editing.

  Note : This is an advanced setting

  Specified by:
    `setShowComplexFields` in interface `DataBoundComponent`
  Parameters:
    `showComplexFields` - showComplexFields Default value is true

- #### getShowComplexFields

      public java.lang.Boolean getShowComplexFields()

  Description copied from interface: `DataBoundComponent`
  Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no `component.fields`.

  If true, the component will show fields that declare a complex type, for example, a field 'shippingAddress' that declares type 'Address', where 'Address' is the ID of a DataSource that declares the fields of a shipping address (city, street name, etc).

  Such fields may need custom formatters or editors in order to create a usable interface, for example, an Address field in a ListGrid might use a custom formatter to combine the relevant fields of an address into one column, and might use a pop-up dialog for editing.

  Specified by:
    `getShowComplexFields` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setFetchOperation

      public void setFetchOperation(java.lang.String fetchOperation)

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing fetch operations.
  Specified by:
    `setFetchOperation` in interface `DataBoundComponent`
  Parameters:
    `fetchOperation` - fetchOperation Default value is null

- #### getFetchOperation

      public java.lang.String getFetchOperation()

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing fetch operations.
  Specified by:
    `getFetchOperation` in interface `DataBoundComponent`
  Returns:
    String

- #### setUpdateOperation

      public void setUpdateOperation(java.lang.String updateOperation)

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing update operations.
  Specified by:
    `setUpdateOperation` in interface `DataBoundComponent`
  Parameters:
    `updateOperation` - updateOperation Default value is null

- #### getUpdateOperation

      public java.lang.String getUpdateOperation()

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing update operations.
  Specified by:
    `getUpdateOperation` in interface `DataBoundComponent`
  Returns:
    String

- #### setAddOperation

      public void setAddOperation(java.lang.String addOperation)

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing add operations.
  Specified by:
    `setAddOperation` in interface `DataBoundComponent`
  Parameters:
    `addOperation` - addOperation Default value is null

- #### getAddOperation

      public java.lang.String getAddOperation()

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing add operations.
  Specified by:
    `getAddOperation` in interface `DataBoundComponent`
  Returns:
    String

- #### setRemoveOperation

      public void setRemoveOperation(java.lang.String removeOperation)

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing remove operations.
  Specified by:
    `setRemoveOperation` in interface `DataBoundComponent`
  Parameters:
    `removeOperation` - removeOperation Default value is null

- #### getRemoveOperation

      public java.lang.String getRemoveOperation()

  Description copied from interface: `DataBoundComponent`
  Operation ID this component should use when performing remove operations.
  Specified by:
    `getRemoveOperation` in interface `DataBoundComponent`
  Returns:
    String

- #### setExportFields

      public void setExportFields(java.lang.String[] exportFields)

  Description copied from interface: `DataBoundComponent`
  The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

  If exportFields is not provided, the exported output includes all visible fields from this component, sorted as they appear.

  Specified by:
    `setExportFields` in interface `DataBoundComponent`
  Parameters:
    `exportFields` - exportFields Default value is null

- #### getExportFields

      public java.lang.String[] getExportFields()

  Description copied from interface: `DataBoundComponent`
  The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

  If exportFields is not provided, the exported output includes all visible fields from this component, sorted as they appear.

  Specified by:
    `getExportFields` in interface `DataBoundComponent`
  Returns:
    the list of field-names to export.

- #### setExportAll

      public void setExportAll(java.lang.Boolean exportAll)

  Description copied from interface: `DataBoundComponent`
  Setting exportAll to true prevents the component from passing its list of fields to the export call. The result is the export of all visible fields from `fields`.

  If exportAll is false, an export operation will first consider `exportFields`, if it's set, and fall back on all visible fields from `fields` otherwise.

  Specified by:
    `setExportAll` in interface `DataBoundComponent`
  Parameters:
    `exportAll` - exportAll Default value is false

- #### getExportAll

      public java.lang.Boolean getExportAll()

  Description copied from interface: `DataBoundComponent`
  Setting exportAll to true prevents the component from passing its list of fields to the export call. The result is the export of all visible fields from `fields`.

  If exportAll is false, an export operation will first consider `exportFields`, if it's set, and fall back on all visible fields from `fields` otherwise.

  Specified by:
    `getExportAll` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setPreventDuplicates

      public void setPreventDuplicates(java.lang.Boolean preventDuplicates)
                                throws java.lang.IllegalStateException

  Description copied from interface: `DataBoundComponent`
  If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`. When a duplicate transfer is detected, a dialog will appear showing the `duplicateDragMessage`.

  If the component either does not have a `DataSource` or has a DataSource with no `primaryKey` declared, duplicate checking is off by default. If duplicate checking is enabled, it looks for an existing record in the dataset that has all of the properties of the dragged record, and considers that a duplicate.

  For `DragDataAction`:"copy" where the target DataSource is related to the source DataSource by foreignKey, a duplicate means that the target list, as filtered by the current criteria, already has a record whose value for the foreignKey field matches the primaryKey of the record being transferred.

  For example, consider dragging "employees" to "teams", where "teams" has a field "teams.employeeId" which is a foreignKey pointing to "employees.id", and the target grid has search criteria causing it to show all the members of one team. A duplicate - adding an employee to the same team twice - is when the target grid's dataset contains an record with "employeeId" matching the "id" field of the dropped employee.

  Specified by:
    `setPreventDuplicates` in interface `DataBoundComponent`
  Parameters:
    `preventDuplicates` - preventDuplicates Default value is null
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### getPreventDuplicates

      public java.lang.Boolean getPreventDuplicates()

  Description copied from interface: `DataBoundComponent`
  If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via `DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent)`. When a duplicate transfer is detected, a dialog will appear showing the `duplicateDragMessage`.

  If the component either does not have a `DataSource` or has a DataSource with no `primaryKey` declared, duplicate checking is off by default. If duplicate checking is enabled, it looks for an existing record in the dataset that has all of the properties of the dragged record, and considers that a duplicate.

  For `DragDataAction`:"copy" where the target DataSource is related to the source DataSource by foreignKey, a duplicate means that the target list, as filtered by the current criteria, already has a record whose value for the foreignKey field matches the primaryKey of the record being transferred.

  For example, consider dragging "employees" to "teams", where "teams" has a field "teams.employeeId" which is a foreignKey pointing to "employees.id", and the target grid has search criteria causing it to show all the members of one team. A duplicate - adding an employee to the same team twice - is when the target grid's dataset contains an record with "employeeId" matching the "id" field of the dropped employee.

  Specified by:
    `getPreventDuplicates` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setDuplicateDragMessage

      public void setDuplicateDragMessage(java.lang.String duplicateDragMessage)
                                   throws java.lang.IllegalStateException

  Description copied from interface: `DataBoundComponent`
  Message to show when a user attempts to transfer duplicate records into this component, and `preventDuplicates` is enabled. If set to null, duplicates will not be reported and the dragged duplicates will not be saved.
  Specified by:
    `setDuplicateDragMessage` in interface `DataBoundComponent`
  Parameters:
    `duplicateDragMessage` - duplicateDragMessage Default value is "Duplicates not allowed"
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### getDuplicateDragMessage

      public java.lang.String getDuplicateDragMessage()

  Description copied from interface: `DataBoundComponent`
  Message to show when a user attempts to transfer duplicate records into this component, and `preventDuplicates` is enabled. If set to null, duplicates will not be reported and the dragged duplicates will not be saved.
  Specified by:
    `getDuplicateDragMessage` in interface `DataBoundComponent`
  Returns:
    String

- #### setAddDropValues

      public void setAddDropValues(java.lang.Boolean addDropValues)

  Description copied from interface: `DataBoundComponent`
  Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key. "Drop values" are properties of the dropped item that you wish to change (and persist) as a result of the item being dropped on this grid.

  If this value is true and this component is databound, `DataBoundComponent.getDropValues()` will be called for every databound item dropped on this grid, and an update performed on the item

  Specified by:
    `setAddDropValues` in interface `DataBoundComponent`
  Parameters:
    `addDropValues` - addDropValues Default value is true

- #### getAddDropValues

      public java.lang.Boolean getAddDropValues()

  Description copied from interface: `DataBoundComponent`
  Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key. "Drop values" are properties of the dropped item that you wish to change (and persist) as a result of the item being dropped on this grid.

  If this value is true and this component is databound, `DataBoundComponent.getDropValues()` will be called for every databound item dropped on this grid, and an update performed on the item

  Specified by:
    `getAddDropValues` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setDropValues

      public void setDropValues(java.util.Map dropValues)

  Description copied from interface: `DataBoundComponent`
  When an item is dropped on this component, and `addDropValues` is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.

  If this property is not defined, Smart GWT defaults to returning the selection criteria currently in place for this component. Thus, any databound items (for example, rows from other grids bound to the same DataSource) dropped on the grid will, by default, be subjected to an update that makes them conform to the grid's current filter criteria.

  Note : This is an advanced setting

  Specified by:
    `setDropValues` in interface `DataBoundComponent`
  Parameters:
    `dropValues` - dropValues Default value is null

- #### getDropValues

      public java.util.Map getDropValues()

  Description copied from interface: `DataBoundComponent`
  When an item is dropped on this component, and `addDropValues` is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.

  If this property is not defined, Smart GWT defaults to returning the selection criteria currently in place for this component. Thus, any databound items (for example, rows from other grids bound to the same DataSource) dropped on the grid will, by default, be subjected to an update that makes them conform to the grid's current filter criteria.

  Note : This is an advanced setting

  Specified by:
    `getDropValues` in interface `DataBoundComponent`
  Returns:
    Returns the "drop values" to apply to a record dropped on this component prior to update. Only applicable to databound components - see `dropValues` for more details. If multiple records are being dropped, this method is called for each of them in turn.

    This method returns the following:

    - Nothing, if `addDropValues` is false
    - dropValues, if that property is set. If the component's criteria object is applicable (as explained in the next item), it is merged into dropValues, with properties in dropValues taking precedence.
    - The component's criteria object, if the most recent textMatchStyle for the component was "exact" and it is simple criteria (ie, not an AdvancedCriteria object)
    - Otherwise nothing

    You can override this method if you need more complex setting of drop values than can be provided by simply supplying a dropValues object.

- #### setUseFlatFields

      public void setUseFlatFields(java.lang.Boolean useFlatFields)
                            throws java.lang.IllegalStateException

  Description copied from interface: `DataBoundComponent`
  The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.

  `useFlatFields` is typically used with imported metadata, such as `XMLTools.loadXMLSchema(java.lang.String, com.smartgwt.client.data.XSDLoadCallback)` from a `XMLTools.loadWSDL(java.lang.String, com.smartgwt.client.data.WSDLLoadCallback)`, as a means of eliminating levels of XML nesting that aren't meaningful in a user interface, without the cumbersome and fragile process of mapping form fields to XML structures.

  For example, having called `WebService.getInputDS(java.lang.String)` to retrieve the input message schema for a web service operation whose input message looks like this:

       <FindServices>
           <searchFor>search text</searchFor>
           <Options>
               <caseSensitive>false</caseSensitive>
           </Options>
           <IncludeInSearch>
               <serviceName>true</serviceName>
               <documentation>true</documentation>
               <keywords>true</keywords>
           </IncludeInSearch>
       </FindServices>

  Setting `useFlatFields` on a `DynamicForm` that is bound to this input message schema would result in 5 `FormItem` reflecting the 5 simple type fields in the message.

  For this form, the result of `DynamicForm.getValues()` might look like:

      {
          searchFor: "search text",
          caseSensitive: false,
          serviceName: true,
          documentation : true,
          keywords : true
       }

  When contacting a `WebService`, these values can be automatically mapped to the structure of the input message for a web service operation by setting `useFlatFields` (for use with `WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)`) or by setting `useFlatFields` (for use with a `DataSource` that is `'bound to a WSDL web service'` via `wsOperation`).

  Using these two facilities in conjunction (component.useFlatFields and request.useFlatFields) allows gratuitous nesting to be consistently bypassed in both the user presentation and when providing the data for XML messages.

  You can also set `useFlatFields` to automatically enable "flattened" XML serialization (request.useFlatFields) for all DataSource requests of a particular operationType.

  Note that `useFlatFields` is not generally recommended for use with structures where multiple simple type fields exist with the same name, however if used with such a structure, the first field to use a given name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will be present as a field when data binding.

  Specified by:
    `setUseFlatFields` in interface `DataBoundComponent`
  Parameters:
    `useFlatFields` - useFlatFields Default value is null
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### getUseFlatFields

      public java.lang.Boolean getUseFlatFields()

  Description copied from interface: `DataBoundComponent`
  The `useFlatFields` flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.

  `useFlatFields` is typically used with imported metadata, such as `XMLTools.loadXMLSchema(java.lang.String, com.smartgwt.client.data.XSDLoadCallback)` from a `XMLTools.loadWSDL(java.lang.String, com.smartgwt.client.data.WSDLLoadCallback)`, as a means of eliminating levels of XML nesting that aren't meaningful in a user interface, without the cumbersome and fragile process of mapping form fields to XML structures.

  For example, having called `WebService.getInputDS(java.lang.String)` to retrieve the input message schema for a web service operation whose input message looks like this:

       <FindServices>
           <searchFor>search text</searchFor>
           <Options>
               <caseSensitive>false</caseSensitive>
           </Options>
           <IncludeInSearch>
               <serviceName>true</serviceName>
               <documentation>true</documentation>
               <keywords>true</keywords>
           </IncludeInSearch>
       </FindServices>

  Setting `useFlatFields` on a `DynamicForm` that is bound to this input message schema would result in 5 `FormItem` reflecting the 5 simple type fields in the message.

  For this form, the result of `DynamicForm.getValues()` might look like:

      {
          searchFor: "search text",
          caseSensitive: false,
          serviceName: true,
          documentation : true,
          keywords : true
       }

  When contacting a `WebService`, these values can be automatically mapped to the structure of the input message for a web service operation by setting `useFlatFields` (for use with `WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)`) or by setting `useFlatFields` (for use with a `DataSource` that is `'bound to a WSDL web service'` via `wsOperation`).

  Using these two facilities in conjunction (component.useFlatFields and request.useFlatFields) allows gratuitous nesting to be consistently bypassed in both the user presentation and when providing the data for XML messages.

  You can also set `useFlatFields` to automatically enable "flattened" XML serialization (request.useFlatFields) for all DataSource requests of a particular operationType.

  Note that `useFlatFields` is not generally recommended for use with structures where multiple simple type fields exist with the same name, however if used with such a structure, the first field to use a given name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will be present as a field when data binding.

  Specified by:
    `getUseFlatFields` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setHiliteProperty

      public void setHiliteProperty(java.lang.String hiliteProperty)

  Description copied from interface: `DataBoundComponent`
  Marker that can be set on a record to flag that record as hilited. Should be set to a value that matches `id` for a hilite defined on this component.
  Specified by:
    `setHiliteProperty` in interface `DataBoundComponent`
  Parameters:
    `hiliteProperty` - hiliteProperty Default value is "_hilite"

- #### getHiliteProperty

      public java.lang.String getHiliteProperty()

  Description copied from interface: `DataBoundComponent`
  Marker that can be set on a record to flag that record as hilited. Should be set to a value that matches `id` for a hilite defined on this component.
  Specified by:
    `getHiliteProperty` in interface `DataBoundComponent`
  Returns:
    String

- #### editFields

      public void editFields()

  Shows a FieldPicker interface allowing end-users to rearrange the order and visibiility of the fields in the associated DataBoundComponent.

- #### editHilites

      public void editHilites()

  Shows a HiliteEditor interface allowing end-users to edit the data-hilites currently in use by this DataBoundComponent.
  Specified by:
    `editHilites` in interface `DataBoundComponent`

- #### getHiliteState

      public java.lang.String getHiliteState()

  Get the current hilites encoded as a String, for saving.
  Specified by:
    `getHiliteState` in interface `DataBoundComponent`
  Returns:
    the hilite state

- #### setHiliteState

      public void setHiliteState(java.lang.String hiliteState)

  Set the current hilites based on a hiliteState String previously returned from getHilitesState.
  Specified by:
    `setHiliteState` in interface `DataBoundComponent`
  Parameters:
    `hiliteState` - hilites state encoded as a String

- #### setHilites

      public void setHilites(Hilite[] hilites)

  Accepts an array of hilite objects and applies them to this DataBoundComponent. See also `getHilites` for a method of retrieving the hilite array for storage, including hilites manually added by the user.
  Specified by:
    `setHilites` in interface `DataBoundComponent`
  Parameters:
    `hilites` - array of hilite objects

- #### getHilites

      public Hilite[] getHilites()

  Return the set of hilite-objects currently applied to this DataBoundComponent. These can be saved for storage and then restored to a component later via setHilites().
  Specified by:
    `getHilites` in interface `DataBoundComponent`
  Returns:
    array of hilite objects

- #### setDragDataAction

      public void setDragDataAction(DragDataAction dragDataAction)

  Description copied from interface: `DataBoundComponent`
  Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.
  Specified by:
    `setDragDataAction` in interface `DataBoundComponent`
  Parameters:
    `dragDataAction` - dragDataAction Default value is Canvas.MOVE

- #### getDragDataAction

      public DragDataAction getDragDataAction()

  Description copied from interface: `DataBoundComponent`
  Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.
  Specified by:
    `getDragDataAction` in interface `DataBoundComponent`
  Returns:
    DragDataAction

- #### setDragTrackerStyle

      public void setDragTrackerStyle(java.lang.String dragTrackerStyle)

  Description copied from interface: `DataBoundComponent`
  CSS Style to apply to the drag tracker when dragging occurs on this component.
  Specified by:
    `setDragTrackerStyle` in interface `DataBoundComponent`
  Parameters:
    `dragTrackerStyle` - dragTrackerStyle Default value is "gridDragTracker"

- #### getDragTrackerStyle

      public java.lang.String getDragTrackerStyle()

  Description copied from interface: `DataBoundComponent`
  CSS Style to apply to the drag tracker when dragging occurs on this component.
  Specified by:
    `getDragTrackerStyle` in interface `DataBoundComponent`
  Returns:
    String

- #### setCanAddFormulaFields

      public void setCanAddFormulaFields(java.lang.Boolean canAddFormulaFields)

  Description copied from interface: `DataBoundComponent`
  Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.

  User-added formula fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

  Specified by:
    `setCanAddFormulaFields` in interface `DataBoundComponent`
  Parameters:
    `canAddFormulaFields` - canAddFormulaFields Default value is false

- #### addSummaryField

      public void addSummaryField()

  Description copied from interface: `DataBoundComponent`
  Convenience method to display a `com.smartgwt.client..SummaryBuilder` to create a new Summary Field. This is equivalent to calling `DataBoundComponentGen#editSummaryField` with no parameter.
  Specified by:
    `addSummaryField` in interface `DataBoundComponent`

- #### addFormulaField

      public void addFormulaField()

  Description copied from interface: `DataBoundComponent`
  Convenience method to display a `com.smartgwt.client..FormulaBuilder` to create a new Formula Field. This is equivalent to calling `DataBoundComponentGen#editFormulaField` with no parameter.
  Specified by:
    `addFormulaField` in interface `DataBoundComponent`

- #### getCanAddFormulaFields

      public java.lang.Boolean getCanAddFormulaFields()

  Description copied from interface: `DataBoundComponent`
  Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the `com.smartgwt.client..FormulaBuilder`.

  User-added formula fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

  Specified by:
    `getCanAddFormulaFields` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setAddFormulaFieldText

      public void setAddFormulaFieldText(java.lang.String addFormulaFieldText)

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to add a formula field
  Specified by:
    `setAddFormulaFieldText` in interface `DataBoundComponent`
  Parameters:
    `addFormulaFieldText` - addFormulaFieldText Default value is "Add formula column..."

- #### getAddFormulaFieldText

      public java.lang.String getAddFormulaFieldText()

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to add a formula field
  Specified by:
    `getAddFormulaFieldText` in interface `DataBoundComponent`
  Returns:
    String

- #### setEditFormulaFieldText

      public void setEditFormulaFieldText(java.lang.String editFormulaFieldText)

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to edit a formula field
  Specified by:
    `setEditFormulaFieldText` in interface `DataBoundComponent`
  Parameters:
    `editFormulaFieldText` - editFormulaFieldText Default value is "Edit formula..."

- #### getEditFormulaFieldText

      public java.lang.String getEditFormulaFieldText()

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to edit a formula field
  Specified by:
    `getEditFormulaFieldText` in interface `DataBoundComponent`
  Returns:
    String

- #### setCanAddSummaryFields

      public void setCanAddSummaryFields(java.lang.Boolean canAddSummaryFields)

  Description copied from interface: `DataBoundComponent`
  Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.

  User-added summary fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

  Specified by:
    `setCanAddSummaryFields` in interface `DataBoundComponent`
  Parameters:
    `canAddSummaryFields` - canAddSummaryFields Default value is false

- #### getCanAddSummaryFields

      public java.lang.Boolean getCanAddSummaryFields()

  Description copied from interface: `DataBoundComponent`
  Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the `com.smartgwt.client..SummaryBuilder`.

  User-added summary fields can be persisted via `getFieldState()` and `setFieldState(java.lang.String)`.

  Specified by:
    `getCanAddSummaryFields` in interface `DataBoundComponent`
  Returns:
    Boolean

- #### setAddSummaryFieldText

      public void setAddSummaryFieldText(java.lang.String addSummaryFieldText)

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to add a formula field
  Specified by:
    `setAddSummaryFieldText` in interface `DataBoundComponent`
  Parameters:
    `addSummaryFieldText` - addSummaryFieldText Default value is "Add summary column..."

- #### getAddSummaryFieldText

      public java.lang.String getAddSummaryFieldText()

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to add a formula field
  Specified by:
    `getAddSummaryFieldText` in interface `DataBoundComponent`
  Returns:
    String

- #### setEditSummaryFieldText

      public void setEditSummaryFieldText(java.lang.String editSummaryFieldText)

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to edit the formatter for a field
  Specified by:
    `setEditSummaryFieldText` in interface `DataBoundComponent`
  Parameters:
    `editSummaryFieldText` - editSummaryFieldText Default value is "Edit summary format..."

- #### getEditSummaryFieldText

      public java.lang.String getEditSummaryFieldText()

  Description copied from interface: `DataBoundComponent`
  Text for a menu item allowing users to edit the formatter for a field
  Specified by:
    `getEditSummaryFieldText` in interface `DataBoundComponent`
  Returns:
    String

- #### findAll

      public Record[] findAll(AdvancedCriteria adCriteria)

  Filters all objects according to the AdvancedCriteria passed
  Parameters:
    `adCriteria` - AdvancedCriteria to use to filter results
  Returns:
    all matching Objects or null if none found

- #### find

      public Record find(AdvancedCriteria adCriteria)

  Filters all objects according to the AdvancedCriteria passed and returns the first matching object or null if not found
  Parameters:
    `adCriteria` - AdvancedCriteria to use to filter results
  Returns:
    first matching object or null if not found

- #### findIndex

      public int findIndex(AdvancedCriteria adCriteria)

  Finds the index of the first Record that matches with the AdvacendCriteria passed.
  Parameters:
    `adCriteria` - AdvancedCriteria to use to filter results
  Returns:
    index of the first matching Record or -1 if not found

- #### findNextIndex

      public int findNextIndex(int startIndex,
                      AdvancedCriteria adCriteria,
                      int endIndex)

  Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex and endIndex parameters.
  Parameters:
    `startIndex` - first index to consider
    `adCriteria` - AdvancedCriteria to use to filter results
    `endIndex` - last index to consider
  Returns:
    index of the first matching Record or -1 if not found

- #### findNextIndex

      public int findNextIndex(int startIndex,
                      AdvancedCriteria adCriteria)

  Like `RecordList.findIndex(java.util.Map)`, but considering the startIndex parameter.
  Parameters:
    `startIndex` - first index to consider
    `adCriteria` - AdvancedCriteria to use to filter results
  Returns:
    index of the first matching Record or -1 if not found

- #### selectRecord

      public void selectRecord(Record record)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a `Record` passed in explicitly, or by index.
  Specified by:
    `selectRecord` in interface `DataBoundComponent`
  Parameters:
    `record` - record (or row number) to select

- #### selectRecord

      public void selectRecord(int record)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a `Record` passed in explicitly, or by index.
  Specified by:
    `selectRecord` in interface `DataBoundComponent`
  Parameters:
    `record` - record (or row number) to select

- #### selectRecord

      public void selectRecord(int record,
                      boolean newState)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a `Record` passed in explicitly, or by index.
  Specified by:
    `selectRecord` in interface `DataBoundComponent`
  Parameters:
    `record` - record (or row number) to select
    `newState` - new selection state (if null, defaults to true)

- #### selectRecord

      public void selectRecord(Record record,
                      boolean newState)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a `Record` passed in explicitly, or by index.
  Specified by:
    `selectRecord` in interface `DataBoundComponent`
  Parameters:
    `record` - record (or row number) to select
    `newState` - new selection state (if null, defaults to true)

- #### selectRecords

      public void selectRecords(int[] records)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a list of `Record`s passed in explicitly, or by index.
  Specified by:
    `selectRecords` in interface `DataBoundComponent`
  Parameters:
    `records` - records (or row numbers) to select

- #### selectRecords

      public void selectRecords(int[] records,
                       boolean newState)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a list of `Record`s passed in explicitly, or by index.
  Specified by:
    `selectRecords` in interface `DataBoundComponent`
  Parameters:
    `records` - records (or row numbers) to select
    `newState` - new selection state

- #### selectRecords

      public void selectRecords(Record[] records)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a list of `Record`s passed in explicitly, or by index.
  Specified by:
    `selectRecords` in interface `DataBoundComponent`
  Parameters:
    `records` - records (or row numbers) to select

- #### selectRecords

      public void selectRecords(Record[] records,
                       boolean newState)

  Description copied from interface: `DataBoundComponent`
  Select/deselect a list of `Record`s passed in explicitly, or by index.
  Specified by:
    `selectRecords` in interface `DataBoundComponent`
  Parameters:
    `records` - records (or row numbers) to select
    `newState` - new selection state (if null, defaults to true)

- #### deselectRecord

      public void deselectRecord(Record record)

  Description copied from interface: `DataBoundComponent`
  Deselect a `Record` passed in explicitly, or by index.

  Synonym for `selectRecord(record, false)`

  Specified by:
    `deselectRecord` in interface `DataBoundComponent`
  Parameters:
    `record` - record (or row number) to deselect

- #### deselectRecord

      public void deselectRecord(int record)

  Description copied from interface: `DataBoundComponent`
  Deselect a `Record` passed in explicitly, or by index.

  Synonym for `selectRecord(record, false)`

  Specified by:
    `deselectRecord` in interface `DataBoundComponent`
  Parameters:
    `record` - record (or row number) to deselect

- #### deselectRecords

      public void deselectRecords(int[] records)

  Description copied from interface: `DataBoundComponent`
  Deselect a list of `Record`s passed in explicitly, or by index.

  Synonym for `selectRecords(records, false)`

  Specified by:
    `deselectRecords` in interface `DataBoundComponent`
  Parameters:
    `records` - records (or row numbers) to deselect

- #### deselectRecords

      public void deselectRecords(Record[] records)

  Description copied from interface: `DataBoundComponent`
  Deselect a list of `Record`s passed in explicitly, or by index.

  Synonym for `selectRecords(records, false)`

  Specified by:
    `deselectRecords` in interface `DataBoundComponent`
  Parameters:
    `records` - records (or row numbers) to deselect

- #### selectAllRecords

      public void selectAllRecords()

  Description copied from interface: `DataBoundComponent`
  Select all records
  Specified by:
    `selectAllRecords` in interface `DataBoundComponent`

- #### deselectAllRecords

      public void deselectAllRecords()

  Description copied from interface: `DataBoundComponent`
  Deselect all records
  Specified by:
    `deselectAllRecords` in interface `DataBoundComponent`

- #### anySelected

      public java.lang.Boolean anySelected()

  Description copied from interface: `DataBoundComponent`
  Whether at least one item is selected
  Specified by:
    `anySelected` in interface `DataBoundComponent`
  Returns:
    true == at least one item is selected false == nothing at all is selected

- #### enableHilite

      public void enableHilite(java.lang.String hiliteID)

  Description copied from interface: `DataBoundComponent`
  Enable / disable a `hilites`
  Specified by:
    `enableHilite` in interface `DataBoundComponent`
  Parameters:
    `hiliteID` - ID of hilite to enable

- #### enableHilite

      public void enableHilite(java.lang.String hiliteID,
                      boolean enable)

  Description copied from interface: `DataBoundComponent`
  Enable / disable a `hilites`
  Specified by:
    `enableHilite` in interface `DataBoundComponent`
  Parameters:
    `hiliteID` - ID of hilite to enable
    `enable` - new enabled state to apply - if null, defaults to true

- #### disableHilite

      public void disableHilite(java.lang.String hiliteID)

  Description copied from interface: `DataBoundComponent`
  Disable a hilite
  Specified by:
    `disableHilite` in interface `DataBoundComponent`
  Parameters:
    `hiliteID` - ID of hilite to disable

- #### enableHiliting

      public void enableHiliting()

  Description copied from interface: `DataBoundComponent`
  Enable all hilites.
  Specified by:
    `enableHiliting` in interface `DataBoundComponent`

- #### enableHiliting

      public void enableHiliting(boolean enable)

  Description copied from interface: `DataBoundComponent`
  Enable all hilites.
  Specified by:
    `enableHiliting` in interface `DataBoundComponent`
  Parameters:
    `enable` - new enabled state to apply - if null, defaults to true

- #### disableHiliting

      public void disableHiliting()

  Description copied from interface: `DataBoundComponent`
  Disable all hilites.
  Specified by:
    `disableHiliting` in interface `DataBoundComponent`

- #### getDragData

      public Record[] getDragData()

  Description copied from interface: `DataBoundComponent`
  During a drag-and-drop interaction, this method returns the set of records being dragged out of the component. In the default implementation, this is the list of currently selected records.

  This method is consulted by `willAcceptDrop()`.

  Specified by:
    `getDragData` in interface `DataBoundComponent`
  Returns:
    Array of `Record`s that are currently selected.

- #### transferSelectedData

      public void transferSelectedData(DataBoundComponent source)

  Description copied from interface: `DataBoundComponent`
  Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction. This method acts on the dropped records exactly as if they had been dropped in an actual drag / drop interaction, including any special databound behavior invoked by calling `DataBoundComponent.getDropValues()` for each dropped record.

  To transfer all data in, for example, a `ListGrid`, call grid.selection.selectAll() first.

  Note that drag/drop type transfers of records between components are asynchronous operations: Smart GWT may need to perform server turnarounds to establish whether dropped records already exist in the target component. Therefore, it is possible to issue a call to `transferSelectedData()` and/or the `drop()` method of a databound component whilst a transfer is still active. When this happens, Smart GWT adds the second and subsequent transfer requests to a queue and runs them one after the other. If you want to be notified when a transfer process has actually completed, use `addDropCompleteHandler`. See the `Dragging` documentation for an overview of list grid drag/drop data transfer.

  Specified by:
    `transferSelectedData` in interface `DataBoundComponent`
  Parameters:
    `source` - source component from which the records will be tranferred

- #### transferSelectedData

      public void transferSelectedData(DataBoundComponent source,
                              int index)

  Description copied from interface: `DataBoundComponent`
  Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction. This method acts on the dropped records exactly as if they had been dropped in an actual drag / drop interaction, including any special databound behavior invoked by calling `DataBoundComponent.getDropValues()` for each dropped record.

  To transfer all data in, for example, a `ListGrid`, call grid.selection.selectAll() first.

  Note that drag/drop type transfers of records between components are asynchronous operations: Smart GWT may need to perform server turnarounds to establish whether dropped records already exist in the target component. Therefore, it is possible to issue a call to `transferSelectedData()` and/or the `drop()` method of a databound component whilst a transfer is still active. When this happens, Smart GWT adds the second and subsequent transfer requests to a queue and runs them one after the other. If you want to be notified when a transfer process has actually completed, use `addDropCompleteHandler`. See the `Dragging` documentation for an overview of list grid drag/drop data transfer.

  Specified by:
    `transferSelectedData` in interface `DataBoundComponent`
  Parameters:
    `source` - source component from which the records will be tranferred
    `index` - target index (drop position) of the rows within this grid.

- #### getRecordIndex

      public int getRecordIndex(Record record)

  Description copied from interface: `DataBoundComponent`
  Get the index of the provided record.

  Override in subclasses to provide more specific behaviour, for instance, when data holds a large number of records

  Specified by:
    `getRecordIndex` in interface `DataBoundComponent`
  Parameters:
    `record` - the record whose index is to be retrieved
  Returns:
    indexindex of the record, or -1 if not found

- #### getTitleFieldValue

      public java.lang.String getTitleFieldValue(Record record)

  Description copied from interface: `DataBoundComponent`
  Get the value of the titleField for the passed record

  Override in subclasses

  Specified by:
    `getTitleFieldValue` in interface `DataBoundComponent`
  Parameters:
    `record` - the record whose index is to be retrieved
  Returns:
    valuethe value of the titleField for the passed record

- #### setTitleField

      public void setTitleField(java.lang.String titleField)

  Description copied from interface: `DataBoundComponent`
  Sets the best field to use for a user-visible title for an individual record from this component.
  Specified by:
    `setTitleField` in interface `DataBoundComponent`

- #### getTitleField

      public java.lang.String getTitleField()

  Description copied from interface: `DataBoundComponent`
  Method to return the fieldName which represents the "title" for records in this Component.
  If this.titleField is explicitly specified it will always be used. Otherwise, default implementation will check `titleField` for databound components.
  For non databound components returns the first defined field name of `"title"`, `"name"`, or `"id"`. If we dont find any field-names that match these titles, the first field in the component will be used instead.
  Specified by:
    `getTitleField` in interface `DataBoundComponent`
  Returns:
    fieldName the title field for this component.

- #### setDataSource

      public void setDataSource(DataSource dataSource)

  Description copied from interface: `DataBoundComponent`
  Bind to a DataSource. Binding to a DataSource means that the component will use the DataSource to provide default data for its fields.

  When binding a previously-bound componenet to a new DataSource, if the component has any existing "fields" or has a dataset, these will be discarded by default, since it is assumed the new DataSource may represent a completely unrelated set of objects. If the old "fields" are still relevant, you may be able to refer to setDataSource(dataSource, fields) as an alternative method if the widget has an implementation of it.

  Specified by:
    `setDataSource` in interface `DataBoundComponent`
  Parameters:
    `dataSource` - DataSource to bind to. Default value is null

- #### getDataSource

      public DataSource getDataSource()

  Description copied from interface: `DataBoundComponent`
  The DataSource that this component should bind to for default fields and for performing `DataSource requests`.
  Specified by:
    `getDataSource` in interface `DataBoundComponent`
  Returns:
    DataSource

- #### setAutoFetchData

      public void setAutoFetchData(java.lang.Boolean autoFetchData)
                            throws java.lang.IllegalStateException

  Description copied from interface: `DataBoundComponent`
  If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` . Criteria for this fetch may be picked up from `initialCriteria` and textMatchStyle may be specified via `DataBoundComponent.getAutoFetchTextMatchStyle()`.

  NOTE: If autoFetchData is set, calling ListGrid.fetchData() before draw will cause two requests to be issued, one from the manual call to fetchData() and one from the autoFetchData setting. The second request will use only `initialCriteria` and not any other criteria or settings from the first request. Generally, turn off autoFetchData if you are going to manually call fetchData() at any time.

  Specified by:
    `setAutoFetchData` in interface `DataBoundComponent`
  Parameters:
    `autoFetchData` - autoFetchData
  Throws:
    `java.lang.IllegalStateException`

- #### getAutoFetchData

      public java.lang.Boolean getAutoFetchData()

  Description copied from interface: `DataBoundComponent`
  If true, when this component is first drawn, automatically call `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()` depending on `DataBoundComponent.getAutoFetchAsFilter()` . Criteria for this fetch may be picked up from `initialCriteria` and textMatchStyle may be specified via `DataBoundComponent.getAutoFetchTextMatchStyle()`.

  NOTE: If autoFetchData is set, calling ListGrid.fetchData() before draw will cause two requests to be issued, one from the manual call to fetchData() and one from the autoFetchData setting. The second request will use only `initialCriteria` and not any other criteria or settings from the first request. Generally, turn off autoFetchData if you are going to manually call fetchData() at any time.

  Specified by:
    `getAutoFetchData` in interface `DataBoundComponent`
  Returns:
    autoFetchData autoFetchData

- #### setAutoFetchTextMatchStyle

      public void setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)
                                      throws java.lang.IllegalStateException

  Description copied from interface: `DataBoundComponent`
  If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
  Specified by:
    `setAutoFetchTextMatchStyle` in interface `DataBoundComponent`
  Throws:
    `java.lang.IllegalStateException`

- #### getAutoFetchTextMatchStyle

      public TextMatchStyle getAutoFetchTextMatchStyle()

  Description copied from interface: `DataBoundComponent`
  If `autoFetchData` is `true`, this attribute allows the developer to specify a textMatchStyle for the initial `DataBoundComponent.fetchData()` call.
  Specified by:
    `getAutoFetchTextMatchStyle` in interface `DataBoundComponent`
  Returns:
    autoFetchTextMatchStyle autoFetchTextMatchStyle

- #### setAutoFetchAsFilter

      public void setAutoFetchAsFilter(java.lang.Boolean autoFetchAsFilter)
                                throws java.lang.IllegalStateException

  Description copied from interface: `DataBoundComponent`
  If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
  Specified by:
    `setAutoFetchAsFilter` in interface `DataBoundComponent`
  Parameters:
    `autoFetchAsFilter` - autoFetchAsFilter
  Throws:
    `java.lang.IllegalStateException`

- #### getAutoFetchAsFilter

      public java.lang.Boolean getAutoFetchAsFilter()

  Description copied from interface: `DataBoundComponent`
  If `DataBoundComponent.setAutoFetchData(Boolean)` is true, this attribute determines whether the initial fetch operation should be performed via `DataBoundComponent.fetchData()` or `DataBoundComponent.filterData()`
  Specified by:
    `getAutoFetchAsFilter` in interface `DataBoundComponent`
  Returns:
    auto fetch as filter

- #### setInitialCriteria

      public void setInitialCriteria(Criteria initialCriteria)
                              throws java.lang.IllegalStateException

  Description copied from interface: `DataBoundComponent`
  Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
  Specified by:
    `setInitialCriteria` in interface `DataBoundComponent`
  Parameters:
    `initialCriteria` - the initial criteria
  Throws:
    `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

- #### getInitialCriteria

      public Criteria getInitialCriteria()

  Description copied from interface: `DataBoundComponent`
  Criteria to use when `DataBoundComponent.setAutoFetchData(Boolean)` is used.
  Specified by:
    `getInitialCriteria` in interface `DataBoundComponent`
  Returns:
    the criteria

- #### fetchData

      public void fetchData()

  Description copied from interface: `DataBoundComponent`
  Retrieves data from the DataSource that matches the specified criteria.

  When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

  NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

  Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

  Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

  If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

  This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

  In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

  Specified by:
    `fetchData` in interface `DataBoundComponent`

- #### fetchData

      public void fetchData(Criteria criteria)

  Description copied from interface: `DataBoundComponent`
  Retrieves data from the DataSource that matches the specified criteria.

  When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

  NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

  Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

  Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

  If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

  This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

  In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

  Specified by:
    `fetchData` in interface `DataBoundComponent`
  Parameters:
    `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`

- #### fetchData

      public void fetchData(Criteria criteria,
                   DSCallback callback)

  Description copied from interface: `DataBoundComponent`
  Retrieves data from the DataSource that matches the specified criteria.

  When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

  NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

  Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

  Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

  If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

  This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

  In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

  Specified by:
    `fetchData` in interface `DataBoundComponent`
  Parameters:
    `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
    `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required

- #### fetchData

      public void fetchData(Criteria criteria,
                   DSCallback callback,
                   DSRequest requestProperties)

  Description copied from interface: `DataBoundComponent`
  Retrieves data from the DataSource that matches the specified criteria.

  When `fetchData()` is first called, if data has not already been provided via `setData()`, this method will create a `ResultSet`, which will be configured based on component settings such as `fetchOperation` and `dataPageSize`, as well as the general purpose `dataProperties`. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

  NOTE: do not use both `autoFetchData` and a call to `fetchData()` - this may result in two DSRequests to fetch data. Use either `autoFetchData` and `setAutoFetchCriteria()` or a manual call to fetchData() passing criteria.

  Whether a ResultSet was automatically created or provided via `setData()`, subsequent calls to fetchData() will simply call `resultSet.setCriteria()`.

  Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call `willFetchData(criteria)` to determine if new criteria will result in a server fetch.

  If you need to force data to be re-fetched, you can call `invalidateCache()` and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using `invalidateCache()` there is no need to also call `fetchData()` and in fact this could produce unexpected results.

  This method takes an optional callback parameter (set to a `DSCallback`) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use `resultSet.willFetchData()` to determine whether or not a server fetch will occur when `fetchData()` is called with new criteria.

  In addition to the callback parameter for this method, developers can use `resultSet.addDataArrivedHandler` to be notified every time data is loaded.

  Specified by:
    `fetchData` in interface `DataBoundComponent`
  Parameters:
    `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
    `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required
    `requestProperties` - additional properties to set on the DSRequest that will be issued

- #### filterData

      public void filterData()

  Description copied from interface: `DataBoundComponent`
  Retrieves data that matches the provided criteria and displays the matching data in this component.

  This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

  Specified by:
    `filterData` in interface `DataBoundComponent`

- #### filterData

      public void filterData(Criteria criteria)

  Description copied from interface: `DataBoundComponent`
  Retrieves data that matches the provided criteria and displays the matching data in this component.

  This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

  Specified by:
    `filterData` in interface `DataBoundComponent`
  Parameters:
    `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`

- #### filterData

      public void filterData(Criteria criteria,
                    DSCallback callback)

  Description copied from interface: `DataBoundComponent`
  Retrieves data that matches the provided criteria and displays the matching data in this component.

  This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

  Specified by:
    `filterData` in interface `DataBoundComponent`
  Parameters:
    `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
    `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required; see `DataBoundComponent.fetchData()` for details

- #### filterData

      public void filterData(Criteria criteria,
                    DSCallback callback,
                    DSRequest requestProperties)

  Description copied from interface: `DataBoundComponent`
  Retrieves data that matches the provided criteria and displays the matching data in this component.

  This method behaves exactly like `fetchData()` except that `textMatchStyle` is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

  Specified by:
    `filterData` in interface `DataBoundComponent`
  Parameters:
    `criteria` - Search criteria. If a `DynamicForm` is passed in as this argument instead of a raw criteria object, will be derived by calling `DynamicForm.getValuesAsCriteria()`
    `callback` - callback to invoke when a fetch is complete. Fires only if server contact was required; see `DataBoundComponent.fetchData()` for details
    `requestProperties` - for databound components only - optional additional properties to set on the DSRequest that will be issued

- #### invalidateCache

      public void invalidateCache()

  Description copied from interface: `DataBoundComponent`
  Invalidate the current data cache for this databound component via a call to `this.data.invalidateCache()`. If necessary, this will cause a new fetch to be performed with the current set of criteria for this component.

  Has no effect if this component is not showing a set of filtered data.

  Specified by:
    `invalidateCache` in interface `DataBoundComponent`

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

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

- #### exportClientData

      public void exportClientData()

  Description copied from interface: `DataBoundComponent`
  Exports this component's data with client-side formatters applied, so is suitable for direct display to users. This feature requires the SmartClient server, but does not rely on any server-side DataSources.

  To export unformatted data from this component's dataSource, see `exportData` which does not include client-side formatters, but relies on both the SmartClient server and server-side DataSources.

  Specified by:
    `exportClientData` in interface `DataBoundComponent`
  See Also:
    `DataSource.exportClientData(java.lang.Object[], com.smartgwt.client.data.DSRequest)`

- #### exportClientData

      public void exportClientData(DSRequest requestProperties)

  Description copied from interface: `DataBoundComponent`
  Exports this component's data with client-side formatters applied, so is suitable for direct display to users. This feature requires the SmartClient server, but does not rely on any server-side DataSources.

  To export unformatted data from this component's dataSource, see `exportData` which does not include client-side formatters, but relies on both the SmartClient server and server-side DataSources.

  Specified by:
    `exportClientData` in interface `DataBoundComponent`
  Parameters:
    `requestProperties` - Request properties for the export
  See Also:
    `DataSource.exportClientData(java.lang.Object[], com.smartgwt.client.data.DSRequest)`

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

- #### setLogicalStructure

      public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.grid.ListGridLogicalStructure s)

- #### getLogicalStructure

      public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

  Specified by:
    `getLogicalStructure` in interface `LogicalStructure`
  Overrides:
    `getLogicalStructure` in class `VLayout`