com.smartgwt.client.widgets
Interface DataBoundComponent

All Superinterfaces:
HasDragCompleteHandlers, HasDropCompleteHandlers, HasFetchDataHandlers, com.google.gwt.event.shared.HasHandlers
All Known Implementing Classes:
Calendar, ColumnTree, CubeGrid, DateGrid, DetailViewer, DynamicForm, EditTree, ListGrid, ListPalette, Menu, MenuPalette, PropertySheet, RecordEditor, SearchForm, TableView, TileGrid, TilePalette, Timeline, TreeGrid, TreePalette

public interface DataBoundComponent
extends HasFetchDataHandlers, HasDropCompleteHandlers, HasDragCompleteHandlers

A DataBoundComponent is a widget that can configure itself for viewing or editing objects which share a certain schema by "binding" to the schema for that object (called a "DataSource").

A schema (or DataSource) describes an object as consisting of a set of properties (or "fields").

DataBoundComponents have a dataSource for dealing with binding to DataSources, fields the schema information provided by a DataSource, and manipulating objects or sets of object from the DataSource.

The following visual components currently support databinding:

 DynamicForm
 DetailViewer
 ListGrid
 TreeGrid
 TileGrid
 ColumnTree
 CubeGrid
 
The following non-visual components also support databinding:
 ValuesManager
 ResultSet
 ResultTree
 


Method Summary
 void addFormulaField()
          Convenience method to display a com.smartgwt.client..FormulaBuilder to create a new Formula Field.
 void addSummaryField()
          Convenience method to display a com.smartgwt.client..SummaryBuilder to create a new Summary Field.
 java.lang.Boolean anySelected()
          Whether at least one item is selected
 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 Records passed in explicitly, or by index.
 void deselectRecords(Record[] records)
          Deselect a list of Records passed in explicitly, or by index.
 void disableHilite(java.lang.String hiliteID)
          Disable a hilite
 void disableHiliting()
          Disable all hilites.
 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 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 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.
 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
 java.lang.Boolean getAutoFetchAsFilter()
          If setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via fetchData() or filterData()
 java.lang.Boolean getAutoFetchData()
          If true, when this component is first drawn, automatically call fetchData() or filterData() depending on getAutoFetchAsFilter() .
 TextMatchStyle getAutoFetchTextMatchStyle()
          If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial fetchData() call.
 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.
 com.google.gwt.core.client.JavaScriptObject getDataAsJSList()
           
 FetchMode getDataFetchMode()
          How to fetch and manage records retrieved 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.
 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.
 java.lang.String getDragTrackerStyle()
          CSS Style to apply to the drag tracker when dragging occurs on this component.
 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.String getEditFormulaFieldText()
          Text for a menu item allowing users to edit a formula field
 java.lang.String getEditSummaryFieldText()
          Text for a menu item allowing users to edit the formatter for a field
 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.String getFetchOperation()
          Operation ID this component should use when performing fetch operations.
 java.lang.String getHiliteProperty()
          Marker that can be set on a record to flag that record as hilited.
 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.
 Criteria getInitialCriteria()
          Criteria to use when setAutoFetchData(Boolean) is used.
 com.google.gwt.core.client.JavaScriptObject getOrCreateJsObj()
           
 java.lang.Boolean getPreventDuplicates()
          If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent).
 int getRecordIndex(Record record)
          Get the index of the provided record.
 RecordList getRecordList()
          Return the underlying data of this DataBoundComponent as a RecordList.
 java.lang.String getRemoveOperation()
          Operation ID this component should use when performing remove operations.
 ResultSet getResultSet()
          Return the underlying data of this DataBoundComponent as a ResultSet.
 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 show fields marked detail:true when a DataBoundComponent is given a DataSource but no component.fields.
 java.lang.Boolean getShowHiddenFields()
          Whether to show fields marked hidden:true when a DataBoundComponent is given a DataSource but no component.fields.
 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 getUpdateOperation()
          Operation ID this component should use when performing update operations.
 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 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.
 void invalidateCache()
          Invalidate the current data cache for this databound component via a call to this.data.invalidateCache().
 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 Records passed in explicitly, or by index.
 void selectRecords(int[] records, boolean newState)
          Select/deselect a list of Records passed in explicitly, or by index.
 void selectRecords(Record[] records)
          Select/deselect a list of Records passed in explicitly, or by index.
 void selectRecords(Record[] records, boolean newState)
          Select/deselect a list of Records passed in explicitly, or by index.
 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 setAutoFetchAsFilter(java.lang.Boolean autoFetchAsFilter)
          If setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via fetchData() or filterData()
 void setAutoFetchData(java.lang.Boolean autoFetchData)
          If true, when this component is first drawn, automatically call fetchData() or filterData() depending on getAutoFetchAsFilter() .
 void setAutoFetchTextMatchStyle(TextMatchStyle autoFetchAsFilter)
          If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial fetchData() call.
 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 setDataFetchMode(FetchMode fetchMode)
          How to fetch and manage records retrieved from the server.
 void setDataPageSize(int dataPageSize)
          When using data paging, how many records to fetch at a time.
 void setDataSource(DataSource dataSource)
          Bind to a DataSource.
 void setDragDataAction(DragDataAction dragDataAction)
          Indicates what to do with data dragged into another DataBoundComponent.
 void setDragTrackerStyle(java.lang.String dragTrackerStyle)
          CSS Style to apply to the drag tracker when dragging occurs on this component.
 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 setEditFormulaFieldText(java.lang.String editFormulaFieldText)
          Text for a menu item allowing users to edit a formula field
 void setEditSummaryFieldText(java.lang.String editSummaryFieldText)
          Text for a menu item allowing users to edit the formatter for a field
 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 setFetchOperation(java.lang.String fetchOperation)
          Operation ID this component should use when performing fetch operations.
 void setHiliteProperty(java.lang.String hiliteProperty)
          Marker that can be set on a record to flag that record as hilited.
 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 setInitialCriteria(Criteria initialCriteria)
          Criteria to use when setAutoFetchData(Boolean) is used.
 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 transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent).
 void setRemoveOperation(java.lang.String removeOperation)
          Operation ID this component should use when performing remove operations.
 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 show fields marked detail:true when a DataBoundComponent is given a DataSource but no component.fields.
 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 setTitleField(java.lang.String titleField)
          Sets the best field to use for a user-visible title for an individual record from this component.
 void setUpdateOperation(java.lang.String updateOperation)
          Operation ID this component should use when performing update operations.
 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 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 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.
 
Methods inherited from interface com.smartgwt.client.widgets.events.HasFetchDataHandlers
addFetchDataHandler
 
Methods inherited from interface com.smartgwt.client.widgets.events.HasDropCompleteHandlers
addDropCompleteHandler
 
Methods inherited from interface com.smartgwt.client.widgets.events.HasDragCompleteHandlers
addDragCompleteHandler
 
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
 

Method Detail

getOrCreateJsObj

com.google.gwt.core.client.JavaScriptObject getOrCreateJsObj()

setDataFetchMode

void setDataFetchMode(FetchMode fetchMode)
How to fetch and manage records retrieved from the server. See FetchMode.

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

Parameters:
fetchMode - the fetch mode

getDataFetchMode

FetchMode getDataFetchMode()
How to fetch and manage records retrieved from the server. See FetchMode.

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

Returns:
the fetch mode

setDataPageSize

void setDataPageSize(int dataPageSize)
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.

Parameters:
dataPageSize - dataPageSize Default value is 75

getDataPageSize

int getDataPageSize()
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.

Returns:
int

setUseAllDataSourceFields

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.

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.

Parameters:
useAllDataSourceFields - useAllDataSourceFields Default value is false

getUseAllDataSourceFields

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.

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.

Returns:
Boolean

setShowHiddenFields

void setShowHiddenFields(java.lang.Boolean showHiddenFields)
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.

Parameters:
showHiddenFields - showHiddenFields Default value is false

getShowHiddenFields

java.lang.Boolean getShowHiddenFields()
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.

Returns:
Boolean

setShowDetailFields

void setShowDetailFields(java.lang.Boolean showDetailFields)
Whether to show fields marked detail:true when a DataBoundComponent is given a DataSource but no component.fields.

The detail property is used on DataSource fields to mark fields that shouldn't appear by default in a view that tries to show many records in a small space.

Parameters:
showDetailFields - showDetailFields Default value is false

getShowDetailFields

java.lang.Boolean getShowDetailFields()
Whether to show fields marked detail:true when a DataBoundComponent is given a DataSource but no component.fields.

The detail property is used on DataSource fields to mark fields that shouldn't appear by default in a view that tries to show many records in a small space.

Returns:
Boolean

setShowComplexFields

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.

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

Parameters:
showComplexFields - showComplexFields Default value is true

getShowComplexFields

java.lang.Boolean getShowComplexFields()
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.

Returns:
Boolean

setFetchOperation

void setFetchOperation(java.lang.String fetchOperation)
Operation ID this component should use when performing fetch operations.

Parameters:
fetchOperation - fetchOperation Default value is null

getFetchOperation

java.lang.String getFetchOperation()
Operation ID this component should use when performing fetch operations.

Returns:
String

setUpdateOperation

void setUpdateOperation(java.lang.String updateOperation)
Operation ID this component should use when performing update operations.

Parameters:
updateOperation - updateOperation Default value is null

getUpdateOperation

java.lang.String getUpdateOperation()
Operation ID this component should use when performing update operations.

Returns:
String

setAddOperation

void setAddOperation(java.lang.String addOperation)
Operation ID this component should use when performing add operations.

Parameters:
addOperation - addOperation Default value is null

getAddOperation

java.lang.String getAddOperation()
Operation ID this component should use when performing add operations.

Returns:
String

setRemoveOperation

void setRemoveOperation(java.lang.String removeOperation)
Operation ID this component should use when performing remove operations.

Parameters:
removeOperation - removeOperation Default value is null

getRemoveOperation

java.lang.String getRemoveOperation()
Operation ID this component should use when performing remove operations.

Returns:
String

setExportFields

void setExportFields(java.lang.String[] exportFields)
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.

Parameters:
exportFields - exportFields Default value is null

getExportFields

java.lang.String[] getExportFields()
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.

Returns:
the list of field-names to export.

setExportAll

void setExportAll(java.lang.Boolean exportAll)
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.

Parameters:
exportAll - exportAll Default value is false

getExportAll

java.lang.Boolean getExportAll()
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.

Returns:
Boolean

setPreventDuplicates

void setPreventDuplicates(java.lang.Boolean preventDuplicates)
                          throws java.lang.IllegalStateException
If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via 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.

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

getPreventDuplicates

java.lang.Boolean getPreventDuplicates()
If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via 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.

Returns:
Boolean

setDuplicateDragMessage

void setDuplicateDragMessage(java.lang.String duplicateDragMessage)
                             throws java.lang.IllegalStateException
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.

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

java.lang.String getDuplicateDragMessage()
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.

Returns:
String

setAddDropValues

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. "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, getDropValues() will be called for every databound item dropped on this grid, and an update performed on the item

Parameters:
addDropValues - addDropValues Default value is true

getAddDropValues

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. "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, getDropValues() will be called for every databound item dropped on this grid, and an update performed on the item

Returns:
Boolean

setDropValues

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.

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

Parameters:
dropValues - dropValues Default value is null

getDropValues

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.

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

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

void setUseFlatFields(java.lang.Boolean useFlatFields)
                      throws java.lang.IllegalStateException
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.

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

getUseFlatFields

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.

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.

Returns:
Boolean

setHiliteProperty

void setHiliteProperty(java.lang.String hiliteProperty)
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.

Parameters:
hiliteProperty - hiliteProperty Default value is "_hilite"

getHiliteProperty

java.lang.String getHiliteProperty()
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.

Returns:
String

setDragDataAction

void setDragDataAction(DragDataAction dragDataAction)
Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.

Parameters:
dragDataAction - dragDataAction Default value is Canvas.MOVE

getDragDataAction

DragDataAction getDragDataAction()
Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.

Returns:
DragDataAction

setDragTrackerStyle

void setDragTrackerStyle(java.lang.String dragTrackerStyle)
CSS Style to apply to the drag tracker when dragging occurs on this component.

Parameters:
dragTrackerStyle - dragTrackerStyle Default value is "gridDragTracker"

getDragTrackerStyle

java.lang.String getDragTrackerStyle()
CSS Style to apply to the drag tracker when dragging occurs on this component.

Returns:
String

setCanAddFormulaFields

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.

User-added formula fields can be persisted via ListGrid.getFieldState() and ListGrid.setFieldState(java.lang.String).

Parameters:
canAddFormulaFields - canAddFormulaFields Default value is false

addSummaryField

void addSummaryField()
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.


addFormulaField

void addFormulaField()
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.


getCanAddFormulaFields

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.

User-added formula fields can be persisted via ListGrid.getFieldState() and ListGrid.setFieldState(java.lang.String).

Returns:
Boolean

setAddFormulaFieldText

void setAddFormulaFieldText(java.lang.String addFormulaFieldText)
Text for a menu item allowing users to add a formula field

Parameters:
addFormulaFieldText - addFormulaFieldText Default value is "Add formula column..."

getAddFormulaFieldText

java.lang.String getAddFormulaFieldText()
Text for a menu item allowing users to add a formula field

Returns:
String

setEditFormulaFieldText

void setEditFormulaFieldText(java.lang.String editFormulaFieldText)
Text for a menu item allowing users to edit a formula field

Parameters:
editFormulaFieldText - editFormulaFieldText Default value is "Edit formula..."

getEditFormulaFieldText

java.lang.String getEditFormulaFieldText()
Text for a menu item allowing users to edit a formula field

Returns:
String

setCanAddSummaryFields

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.

User-added summary fields can be persisted via ListGrid.getFieldState() and ListGrid.setFieldState(java.lang.String).

Parameters:
canAddSummaryFields - canAddSummaryFields Default value is false

getCanAddSummaryFields

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.

User-added summary fields can be persisted via ListGrid.getFieldState() and ListGrid.setFieldState(java.lang.String).

Returns:
Boolean

setAddSummaryFieldText

void setAddSummaryFieldText(java.lang.String addSummaryFieldText)
Text for a menu item allowing users to add a formula field

Parameters:
addSummaryFieldText - addSummaryFieldText Default value is "Add summary column..."

getAddSummaryFieldText

java.lang.String getAddSummaryFieldText()
Text for a menu item allowing users to add a formula field

Returns:
String

setEditSummaryFieldText

void setEditSummaryFieldText(java.lang.String editSummaryFieldText)
Text for a menu item allowing users to edit the formatter for a field

Parameters:
editSummaryFieldText - editSummaryFieldText Default value is "Edit summary format..."

getEditSummaryFieldText

java.lang.String getEditSummaryFieldText()
Text for a menu item allowing users to edit the formatter for a field

Returns:
String

selectRecord

void selectRecord(Record record)
Select/deselect a Record passed in explicitly, or by index.

Parameters:
record - record (or row number) to select

selectRecord

void selectRecord(int record)
Select/deselect a Record passed in explicitly, or by index.

Parameters:
record - record (or row number) to select

selectRecord

void selectRecord(int record,
                  boolean newState)
Select/deselect a Record passed in explicitly, or by index.

Parameters:
record - record (or row number) to select
newState - new selection state (if null, defaults to true)

selectRecord

void selectRecord(Record record,
                  boolean newState)
Select/deselect a Record passed in explicitly, or by index.

Parameters:
record - record (or row number) to select
newState - new selection state (if null, defaults to true)

selectRecords

void selectRecords(int[] records)
Select/deselect a list of Records passed in explicitly, or by index.

Parameters:
records - records (or row numbers) to select

selectRecords

void selectRecords(int[] records,
                   boolean newState)
Select/deselect a list of Records passed in explicitly, or by index.

Parameters:
records - records (or row numbers) to select
newState - new selection state

selectRecords

void selectRecords(Record[] records)
Select/deselect a list of Records passed in explicitly, or by index.

Parameters:
records - records (or row numbers) to select

selectRecords

void selectRecords(Record[] records,
                   boolean newState)
Select/deselect a list of Records passed in explicitly, or by index.

Parameters:
records - records (or row numbers) to select
newState - new selection state (if null, defaults to true)

deselectRecord

void deselectRecord(Record record)
Deselect a Record passed in explicitly, or by index.

Synonym for selectRecord(record, false)

Parameters:
record - record (or row number) to deselect

deselectRecord

void deselectRecord(int record)
Deselect a Record passed in explicitly, or by index.

Synonym for selectRecord(record, false)

Parameters:
record - record (or row number) to deselect

deselectRecords

void deselectRecords(int[] records)
Deselect a list of Records passed in explicitly, or by index.

Synonym for selectRecords(records, false)

Parameters:
records - records (or row numbers) to deselect

deselectRecords

void deselectRecords(Record[] records)
Deselect a list of Records passed in explicitly, or by index.

Synonym for selectRecords(records, false)

Parameters:
records - records (or row numbers) to deselect

selectAllRecords

void selectAllRecords()
Select all records


deselectAllRecords

void deselectAllRecords()
Deselect all records


anySelected

java.lang.Boolean anySelected()
Whether at least one item is selected

Returns:
true == at least one item is selected false == nothing at all is selected

enableHilite

void enableHilite(java.lang.String hiliteID)
Enable / disable a hilites

Parameters:
hiliteID - ID of hilite to enable

enableHilite

void enableHilite(java.lang.String hiliteID,
                  boolean enable)
Enable / disable a hilites

Parameters:
hiliteID - ID of hilite to enable
enable - new enabled state to apply - if null, defaults to true

disableHilite

void disableHilite(java.lang.String hiliteID)
Disable a hilite

Parameters:
hiliteID - ID of hilite to disable

enableHiliting

void enableHiliting()
Enable all hilites.


enableHiliting

void enableHiliting(boolean enable)
Enable all hilites.

Parameters:
enable - new enabled state to apply - if null, defaults to true

disableHiliting

void disableHiliting()
Disable all hilites.


getDragData

Record[] getDragData()
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 ListGrid.willAcceptDrop().

Returns:
Array of Records that are currently selected.

transferSelectedData

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

Parameters:
source - source component from which the records will be tranferred

transferSelectedData

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

Parameters:
source - source component from which the records will be tranferred
index - target index (drop position) of the rows within this grid.

getRecordIndex

int getRecordIndex(Record record)
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

Parameters:
record - the record whose index is to be retrieved
Returns:
indexindex of the record, or -1 if not found

getTitleFieldValue

java.lang.String getTitleFieldValue(Record record)
Get the value of the titleField for the passed record

Override in subclasses

Parameters:
record - the record whose index is to be retrieved
Returns:
valuethe value of the titleField for the passed record

getTitleField

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". If we dont find any field-names that match these titles, the first field in the component will be used instead.

Returns:
fieldName the title field for this component.

setTitleField

void setTitleField(java.lang.String titleField)
Sets the best field to use for a user-visible title for an individual record from this component.

Parameters:
fieldName - the title field for this component.

setDataSource

void setDataSource(DataSource dataSource)
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.

Parameters:
dataSource - DataSource to bind to. Default value is null

getDataSource

DataSource getDataSource()
The DataSource that this component should bind to for default fields and for performing DataSource requests.

Returns:
DataSource

fetchData

void fetchData()
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.


fetchData

void fetchData(Criteria criteria)
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.

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

void fetchData(Criteria criteria,
               DSCallback callback)
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.

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

void fetchData(Criteria criteria,
               DSCallback callback,
               DSRequest requestProperties)
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.

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

void filterData()
Retrieves data that matches the provided criteria and displays the matching data in this component.

This method behaves exactly like ListGrid.fetchData() except that textMatchStyle is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

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

void filterData(Criteria criteria)
Retrieves data that matches the provided criteria and displays the matching data in this component.

This method behaves exactly like ListGrid.fetchData() except that textMatchStyle is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

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 fetchData() for details

filterData

void filterData(Criteria criteria,
                DSCallback callback)
Retrieves data that matches the provided criteria and displays the matching data in this component.

This method behaves exactly like ListGrid.fetchData() except that textMatchStyle is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

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 fetchData() for details

filterData

void filterData(Criteria criteria,
                DSCallback callback,
                DSRequest requestProperties)
Retrieves data that matches the provided criteria and displays the matching data in this component.

This method behaves exactly like ListGrid.fetchData() except that textMatchStyle is automatically set to "substring" so that String-valued fields are matched by case-insensitive substring comparison.

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 fetchData() for details
requestProperties - for databound components only - optional additional properties to set on the DSRequest that will be issued

setAutoFetchData

void setAutoFetchData(java.lang.Boolean autoFetchData)
If true, when this component is first drawn, automatically call fetchData() or filterData() depending on getAutoFetchAsFilter() . Criteria for this fetch may be picked up from initialCriteria and textMatchStyle may be specified via 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.

Parameters:
autoFetchData - autoFetchData

getAutoFetchData

java.lang.Boolean getAutoFetchData()
If true, when this component is first drawn, automatically call fetchData() or filterData() depending on getAutoFetchAsFilter() . Criteria for this fetch may be picked up from initialCriteria and textMatchStyle may be specified via 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.

Returns:
autoFetchData autoFetchData

setAutoFetchAsFilter

void setAutoFetchAsFilter(java.lang.Boolean autoFetchAsFilter)
If setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via fetchData() or filterData()

Parameters:
autoFetchAsFilter - autoFetchAsFilter

getAutoFetchAsFilter

java.lang.Boolean getAutoFetchAsFilter()
If setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via fetchData() or filterData()

Returns:
auto fetch as filter

setAutoFetchTextMatchStyle

void setAutoFetchTextMatchStyle(TextMatchStyle autoFetchAsFilter)
If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial fetchData() call.

Parameters:
autoFetchTextMatchStyle - autoFetchTextMatchStyle

getAutoFetchTextMatchStyle

TextMatchStyle getAutoFetchTextMatchStyle()
If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial fetchData() call.

Returns:
autoFetchTextMatchStyle autoFetchTextMatchStyle

setInitialCriteria

void setInitialCriteria(Criteria initialCriteria)
                        throws java.lang.IllegalStateException
Criteria to use when setAutoFetchData(Boolean) is used.

Parameters:
initialCriteria - the initial criteria
Throws:
java.lang.IllegalStateException - this property cannot be changed after the component has been created

getInitialCriteria

Criteria getInitialCriteria()
Criteria to use when setAutoFetchData(Boolean) is used.

Returns:
the criteria

invalidateCache

void invalidateCache()
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.


getResultSet

ResultSet getResultSet()
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.

Returns:
ResultSet, or null if the underlying data is not a ResultSet
See Also:
fetchData()

getRecordList

RecordList getRecordList()
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:

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.

Returns:
the RecordList

getDataAsJSList

com.google.gwt.core.client.JavaScriptObject getDataAsJSList()

exportData

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.

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.

See Also:
DataBoundComponentMethods overview and related methods

exportData

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.

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.

Parameters:
requestProperties - additional properties to set on the DSRequest that will be issued
See Also:
DataBoundComponentMethods overview and related methods

editHilites

void editHilites()
Shows a HiliteEditor interface allowing end-users to edit the data-hilites currently in use by this DataBoundComponent.


getHiliteState

java.lang.String getHiliteState()
Get the current hilites encoded as a String, for saving.

Returns:
the hilite state

setHiliteState

void setHiliteState(java.lang.String hiliteState)
Set the current hilites based on a hiliteState String previously returned from getHilitesState.

Parameters:
hiliteState - hilites state encoded as a String

setHilites

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.

Parameters:
hilites - array of hilite objects

getHilites

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().

Returns:
array of hilite objects