Class ListGridRecord
- All Implemented Interfaces:
- HasHandlers
- Direct Known Subclasses:
- CellRecord,- GroupSummary,- MenuItem,- TreeNode
ListGridField. A ListGridRecord may have additional properties 
  which affect the record's appearance or behavior, or which hold data for use by custom logic 
  or other, related components.
  For example, if a ListGrid is getting its ListGridFields from the following DataSource definition:
  <DataSource ... >
       <fields>
           <field name="field1" ... />
           <field name="field2" ... />
       </fields>
  </DataSource>
  
  
  It might have the following data:
  
  data : [
      {field1: "foo", field2: "bar", customProperty:5},
      {field1: "field1 value", field2: "field2 value", enabled:false}
  ]
  
  
  
  The sample data shown above is in JSON format, and might be how data is returned from a REST 
  web service.
  
  
  Both records shown above have properties whose names match the name property of a
  ListGridField, as well as additional properties. The second record will be disabled due to
  enabled:false; the first record has a property "customProperty" which will
  have no effect by default but which may be accessed by custom logic.
  
The same records could be constructed in Java like so:
  ListGridRecord records[] = new ListGridRecord[2];
  records[0] = new ListGridRecord();
  records[0].setAttribute("field1", "foo");
  records[0].setAttribute("field2", "bar");
  records[0].setAttribute("customProperty", 5);
 
  records[1] = new ListGridRecord();
  records[1].setAttribute("field1", "field1 value");
  records[1].setAttribute("field2", "field2 value");
  records[1].setAttribute("enabled", false);
  
  RecordList recordList = new RecordList();
  recordList.addList(records);
  
  
  
  After a ListGrid is created and has loaded data, records may be accessed via
  
  ListGrid.getDataAsRecordList(),
  which will return a ResultSet (a subclass of
  RecordList) if the listGrid is bound to a DataSource.
  
  
  ListGridRecords are also passed to many events, such as
  cellClick().
  
A ListGridRecord is a wrapper around an ordinary JavaScript Object regardless of how the grid's dataset is loaded (static data, java server, XML web service, etc), where you have access to its properties via setAttribute() and getAttribute() methods:
  record.setAttribute("field1", "foo");
  String value1 = record.getAttribute("field1");
  
  
  
  Note however that simply assigning a value to a record won't cause the display to be
 automatically refreshed - ListGrid.refreshCell() needs to
 be called.  Also,
  consider editValues vs saved values when directly modifying
  ListGridRecords.
  
See the attributes in the API tab for the full list of special properties on ListGridRecords that will affect the grid's behavior.
- 
Field SummaryFields inherited from class com.smartgwt.client.core.RefDataClassidFields inherited from class com.smartgwt.client.core.DataClassfactoryCreated, factoryProperties
- 
Constructor SummaryConstructorsConstructorDescriptionListGridRecord(JavaScriptObject jsObj) ListGridRecord(Record record) Convenience constructor to build a ListGridRecord from a Record.
- 
Method SummaryModifier and TypeMethodDescriptionName of a CSS style to use as theListGrid.baseStylefor all cells for this particular record.Default property name denoting whether this record can be edited.Default property name denoting whether this record can be removed.Has no effect unlessListGrid.showBackgroundComponentsistrue.When set tofalse, other records cannot be dropped on (i.e., inserted via drag and drop) immediately before this record.When set tofalse, this record cannot be dragged.Default property name denoting whether this record can be expanded.Default property name denoting whether this record can be selected.Name of a CSS style to use for all cells for this particular record.The default value ofListGrid.recordDetailDSProperty.A component that should be rendered on top of this record, similar to arecord componentbut statically defined on the record.String[]Fields where theembeddedComponentwill be displayed, if specified.Sizing policy applied to the embedded component.Default property name denoting whether this record is enabled.If specified as false this record should be ignored when calculating summary totals to be shown in thesummary rowfor this grid.This attribute will automatically be set to true for the record representing the grid-level summary row shown ifListGrid.showGridSummaryis true.This attribute will automatically be set to true for records representing group-level summary rows shown ifListGrid.showGroupSummaryis true.Default property name denoting a separator row.
 When set totrue, defines a horizontal separator in the listGrid object.The HTML to display in this row for fields with fieldType set to link.static ListGridRecordgetOrCreateRef(JavaScriptObject jsObj) Set to false to disable rollover for this individual record whenListGrid.showRollOveris true.Default property name denoting the single value to display for all fields of this row.set_baseStyle(String _baseStyle) Name of a CSS style to use as theListGrid.baseStylefor all cells for this particular record.set_canEdit(Boolean _canEdit) Default property name denoting whether this record can be edited.set_canRemove(Boolean _canRemove) Default property name denoting whether this record can be removed.setBackgroundComponent(Canvas backgroundComponent) Has no effect unlessListGrid.showBackgroundComponentsistrue.setCanAcceptDrop(Boolean canAcceptDrop) When set tofalse, other records cannot be dropped on (i.e., inserted via drag and drop) immediately before this record.setCanDrag(Boolean canDrag) When set tofalse, this record cannot be dragged.setCanExpand(Boolean canExpand) Default property name denoting whether this record can be expanded.setCanSelect(Boolean canSelect) Default property name denoting whether this record can be selected.setCustomStyle(String customStyle) Name of a CSS style to use for all cells for this particular record.setDetailDS(DataSource detailDS) The default value ofListGrid.recordDetailDSProperty.setEmbeddedComponent(Canvas embeddedComponent) A component that should be rendered on top of this record, similar to arecord componentbut statically defined on the record.setEmbeddedComponentFields(String... embeddedComponentFields) Fields where theembeddedComponentwill be displayed, if specified.setEmbeddedComponentPosition(EmbeddedPosition embeddedComponentPosition) Sizing policy applied to the embedded component.setEnabled(Boolean enabled) Default property name denoting whether this record is enabled.setIncludeInSummary(Boolean includeInSummary) If specified as false this record should be ignored when calculating summary totals to be shown in thesummary rowfor this grid.setIsGridSummary(Boolean isGridSummary) This attribute will automatically be set to true for the record representing the grid-level summary row shown ifListGrid.showGridSummaryis true.setIsGroupSummary(Boolean isGroupSummary) This attribute will automatically be set to true for records representing group-level summary rows shown ifListGrid.showGroupSummaryis true.setIsSeparator(Boolean isSeparator) Default property name denoting a separator row.
 When set totrue, defines a horizontal separator in the listGrid object.setLinkText(String linkText) The HTML to display in this row for fields with fieldType set to link.setShowRollOver(Boolean showRollOver) Set to false to disable rollover for this individual record whenListGrid.showRollOveris true.setSingleCellValue(String singleCellValue) Default property name denoting the single value to display for all fields of this row.Methods inherited from class com.smartgwt.client.data.RecordconvertToRecordArray, copyAttributes, copyAttributesInto, getAttributeAsRecordArray, getAttributeAsRecordList, getPaletteDefaults, isARecord, toMapMethods inherited from class com.smartgwt.client.core.RefDataClassgetRef, getRef, internalSetIDMethods inherited from class com.smartgwt.client.core.DataClassapplyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated
- 
Constructor Details- 
ListGridRecordpublic ListGridRecord()
- 
ListGridRecord
- 
ListGridRecordConvenience constructor to build a ListGridRecord from a Record. If the underlying JavaScriptObject is wrapped by a Record, it will be updated to point to the new ListGridRecord.- Parameters:
- record- existing JavaScriptObject wrapper
 
 
- 
- 
Method Details- 
getOrCreateRef
- 
set_baseStyleName of a CSS style to use as theListGrid.baseStylefor all cells for this particular record.The styleName specified with have suffixes appended to it as the record changes state ("Over", "Selected" and so forth) as described by ListGrid.getCellStyle(). For a single, fixed style for a record, usecustomStyleinstead.See ListGrid.getCellStyle()for an overview of various ways to customize styling, both declarative and programmatic.If this property is changed after draw(), to refresh the grid call ListGrid.refreshRow()(orListGrid.markForRedraw()if several rows are being refreshed).If your application's data uses the "_baseStyle" attribute for something else, the property name can be changed via ListGrid.recordBaseStyleProperty.- Parameters:
- _baseStyle- New _baseStyle value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
get_baseStyleName of a CSS style to use as theListGrid.baseStylefor all cells for this particular record.The styleName specified with have suffixes appended to it as the record changes state ("Over", "Selected" and so forth) as described by ListGrid.getCellStyle(). For a single, fixed style for a record, usecustomStyleinstead.See ListGrid.getCellStyle()for an overview of various ways to customize styling, both declarative and programmatic.If this property is changed after draw(), to refresh the grid call ListGrid.refreshRow()(orListGrid.markForRedraw()if several rows are being refreshed).If your application's data uses the "_baseStyle" attribute for something else, the property name can be changed via ListGrid.recordBaseStyleProperty.- Returns:
- Current _baseStyle value. Default value is null
- See Also:
 
- 
set_canEditDefault property name denoting whether this record can be edited. Property name may be modified for the grid viaListGrid.recordEditProperty.- Parameters:
- _canEdit- New _canEdit value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
get_canEditDefault property name denoting whether this record can be edited. Property name may be modified for the grid viaListGrid.recordEditProperty.- Returns:
- Current _canEdit value. Default value is null
- See Also:
 
- 
set_canRemoveDefault property name denoting whether this record can be removed. Property name may be modified for the grid viaListGrid.recordCanRemoveProperty.- Parameters:
- _canRemove- New _canRemove value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
get_canRemoveDefault property name denoting whether this record can be removed. Property name may be modified for the grid viaListGrid.recordCanRemoveProperty.- Returns:
- Current _canRemove value. Default value is null
- See Also:
 
- 
setBackgroundComponentHas no effect unlessListGrid.showBackgroundComponentsistrue.Canvas created and embedded in the body behind a given record. When set, either as a Canvas or Canvas Properties, will be constructed if necessary, combined with the autoChild properties specified for ListGrid.backgroundComponentand displayed behind this record in the page's z-order, meaning it will only be visible if the cell styling is transparent.- Parameters:
- backgroundComponent- New backgroundComponent value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getBackgroundComponentHas no effect unlessListGrid.showBackgroundComponentsistrue.Canvas created and embedded in the body behind a given record. When set, either as a Canvas or Canvas Properties, will be constructed if necessary, combined with the autoChild properties specified for ListGrid.backgroundComponentand displayed behind this record in the page's z-order, meaning it will only be visible if the cell styling is transparent.- Returns:
- Current backgroundComponent value. Default value is null
 
- 
setCanAcceptDropWhen set tofalse, other records cannot be dropped on (i.e., inserted via drag and drop) immediately before this record.- Parameters:
- canAcceptDrop- New canAcceptDrop value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getCanAcceptDropWhen set tofalse, other records cannot be dropped on (i.e., inserted via drag and drop) immediately before this record.- Returns:
- Current canAcceptDrop value. Default value is null
 
- 
setCanDragWhen set tofalse, this record cannot be dragged. If canDrag is false for any record in the current selection, none of the records will be draggable.- Parameters:
- canDrag- New canDrag value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getCanDragWhen set tofalse, this record cannot be dragged. If canDrag is false for any record in the current selection, none of the records will be draggable.- Returns:
- Current canDrag value. Default value is null
 
- 
setCanExpandDefault property name denoting whether this record can be expanded. Property name may be modified for the grid viaListGrid.canExpandRecordProperty.- Parameters:
- canExpand- New canExpand value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getCanExpandDefault property name denoting whether this record can be expanded. Property name may be modified for the grid viaListGrid.canExpandRecordProperty.- Returns:
- Current canExpand value. Default value is null
 
- 
setCanSelectDefault property name denoting whether this record can be selected. Property name may be modified for the grid viaListGrid.recordCanSelectProperty.- Parameters:
- canSelect- New canSelect value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getCanSelectDefault property name denoting whether this record can be selected. Property name may be modified for the grid viaListGrid.recordCanSelectProperty.- Returns:
- Current canSelect value. Default value is null
 
- 
setCustomStyleName of a CSS style to use for all cells for this particular record.Note that using this property assigns a single, fixed style to the record, so rollover and selection styling are disabled. To provide a series of stateful styles for a record use _baseStyleinstead.See ListGrid.getCellStyle()for an overview of various ways to customize styling, both declarative and programmatic.If this property is changed after draw(), to refresh the grid call ListGrid.refreshRow()(orListGrid.markForRedraw()if several rows are being refreshed).If your application's data uses the "customStyle" attribute for something else, the property name can be changed via ListGrid.recordCustomStyleProperty.- Parameters:
- customStyle- New customStyle value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getCustomStyleName of a CSS style to use for all cells for this particular record.Note that using this property assigns a single, fixed style to the record, so rollover and selection styling are disabled. To provide a series of stateful styles for a record use _baseStyleinstead.See ListGrid.getCellStyle()for an overview of various ways to customize styling, both declarative and programmatic.If this property is changed after draw(), to refresh the grid call ListGrid.refreshRow()(orListGrid.markForRedraw()if several rows are being refreshed).If your application's data uses the "customStyle" attribute for something else, the property name can be changed via ListGrid.recordCustomStyleProperty.- Returns:
- Current customStyle value. Default value is null
- See Also:
 
- 
setDetailDSThe default value ofListGrid.recordDetailDSProperty.Note : This is an advanced setting - Parameters:
- detailDS- New detailDS value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getDetailDSThe default value ofListGrid.recordDetailDSProperty.- Returns:
- Current detailDS value. Default value is null
 
- 
setEmbeddedComponentA component that should be rendered on top of this record, similar to arecord componentbut statically defined on the record.The embedded component will default to covering all fields of the record, but specific fields can be specified via embeddedComponentFields.By default, the embeddedComponent will fill the entire vertical and horizontal space of the record (or of the specified fields). embeddedComponentPositioncan be set to control exact sizing behavior.When a record with an embeddedComponentis eliminated from view by filtering or because it is not currently rendered due toincremental rendering, the ListGrid mayCanvas.hide()orCanvas.clear()it.If the current dataset is completely replaced (by a call to ListGrid.setData()orListGrid.setDataSource(), for example), any embedded component isdeparented(which implies beingclear()ed).When a ListGrid is destroyed, it will destroy() all embedded components regardless of whether they are currently visible. Use a call toListGrid.setData()immediately before destroying the ListGrid to avoid this effect when unwanted.For more advanced control over the lifecycle of components displayed over records, including deferred creation and pooling, use the record componentssubsystem.- Parameters:
- embeddedComponent- New embeddedComponent value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getEmbeddedComponentA component that should be rendered on top of this record, similar to arecord componentbut statically defined on the record.The embedded component will default to covering all fields of the record, but specific fields can be specified via embeddedComponentFields.By default, the embeddedComponent will fill the entire vertical and horizontal space of the record (or of the specified fields). embeddedComponentPositioncan be set to control exact sizing behavior.When a record with an embeddedComponentis eliminated from view by filtering or because it is not currently rendered due toincremental rendering, the ListGrid mayCanvas.hide()orCanvas.clear()it.If the current dataset is completely replaced (by a call to ListGrid.setData()orListGrid.setDataSource(), for example), any embedded component isdeparented(which implies beingclear()ed).When a ListGrid is destroyed, it will destroy() all embedded components regardless of whether they are currently visible. Use a call toListGrid.setData()immediately before destroying the ListGrid to avoid this effect when unwanted.For more advanced control over the lifecycle of components displayed over records, including deferred creation and pooling, use the record componentssubsystem.- Returns:
- Current embeddedComponent value. Default value is null
- See Also:
 
- 
setEmbeddedComponentFieldsFields where theembeddedComponentwill be displayed, if specified.Regardless of the order of fields specified, the component will appear from whichever field is earlier in the current visible order to whichever field is later, inclusive of the specified fields. To have the component appear in just one field, either specify a single-element Array or specific a two element Array with both fields the same. If either field is hidden or invalid (no such field), the component will occupy only a single field. If both fields are hidden, the component will be hidden until one or more of the fields are shown. - Parameters:
- embeddedComponentFields- New embeddedComponentFields value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getEmbeddedComponentFieldsFields where theembeddedComponentwill be displayed, if specified.Regardless of the order of fields specified, the component will appear from whichever field is earlier in the current visible order to whichever field is later, inclusive of the specified fields. To have the component appear in just one field, either specify a single-element Array or specific a two element Array with both fields the same. If either field is hidden or invalid (no such field), the component will occupy only a single field. If both fields are hidden, the component will be hidden until one or more of the fields are shown. - Returns:
- Current embeddedComponentFields value. Default value is null
- See Also:
 
- 
setEmbeddedComponentPositionSizing policy applied to the embedded component. Default behavior if unspecified is the same asEmbeddedPosition"within" (fill space allocated to the record, including the ability use percentage sizing and snapTo offset). Use "expand" to have the record expand to accommodate the embedded components' specified sizes instead.- Parameters:
- embeddedComponentPosition- New embeddedComponentPosition value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getEmbeddedComponentPositionSizing policy applied to the embedded component. Default behavior if unspecified is the same asEmbeddedPosition"within" (fill space allocated to the record, including the ability use percentage sizing and snapTo offset). Use "expand" to have the record expand to accommodate the embedded components' specified sizes instead.- Returns:
- Current embeddedComponentPosition value. Default value is null
- See Also:
 
- 
setEnabledDefault property name denoting whether this record is enabled. Property name may be modified for some grid viaListGrid.recordEnabledProperty.- Parameters:
- enabled- New enabled value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getEnabledDefault property name denoting whether this record is enabled. Property name may be modified for some grid viaListGrid.recordEnabledProperty.- Returns:
- Current enabled value. Default value is null
- See Also:
 
- 
setIncludeInSummaryIf specified as false this record should be ignored when calculating summary totals to be shown in thesummary rowfor this grid.Note that includeInSummaryis the default property name for this attribute, but it may be modified viaListGrid.includeInSummaryProperty.- Parameters:
- includeInSummary- New includeInSummary value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getIncludeInSummaryIf specified as false this record should be ignored when calculating summary totals to be shown in thesummary rowfor this grid.Note that includeInSummaryis the default property name for this attribute, but it may be modified viaListGrid.includeInSummaryProperty.- Returns:
- Current includeInSummary value. Default value is null
 
- 
setIsGridSummaryThis attribute will automatically be set to true for the record representing the grid-level summary row shown ifListGrid.showGridSummaryis true.Note that isGridSummaryis the default property name for this attribute but it may be modified by settingListGrid.gridSummaryRecordProperty- Parameters:
- isGridSummary- New isGridSummary value. Default value is false
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getIsGridSummaryThis attribute will automatically be set to true for the record representing the grid-level summary row shown ifListGrid.showGridSummaryis true.Note that isGridSummaryis the default property name for this attribute but it may be modified by settingListGrid.gridSummaryRecordProperty- Returns:
- Current isGridSummary value. Default value is false
 
- 
setIsGroupSummaryThis attribute will automatically be set to true for records representing group-level summary rows shown ifListGrid.showGroupSummaryis true.Note that isGroupSummaryis the default property name for this attribute but it may be modified by settingListGrid.groupSummaryRecordProperty- Parameters:
- isGroupSummary- New isGroupSummary value. Default value is false
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getIsGroupSummaryThis attribute will automatically be set to true for records representing group-level summary rows shown ifListGrid.showGroupSummaryis true.Note that isGroupSummaryis the default property name for this attribute but it may be modified by settingListGrid.groupSummaryRecordProperty- Returns:
- Current isGroupSummary value. Default value is false
 
- 
setIsSeparatorDefault property name denoting a separator row.
 When set totrue, defines a horizontal separator in the listGrid object. Typically this is specified as the only property of a record object, since a record withisSeparator:truewill not display any values.
 Note: this attribute name is governed byListGrid.isSeparatorProperty.- Parameters:
- isSeparator- New isSeparator value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
 
- 
getIsSeparatorDefault property name denoting a separator row.
 When set totrue, defines a horizontal separator in the listGrid object. Typically this is specified as the only property of a record object, since a record withisSeparator:truewill not display any values.
 Note: this attribute name is governed byListGrid.isSeparatorProperty.- Returns:
- Current isSeparator value. Default value is null
 
- 
setLinkTextThe HTML to display in this row for fields with fieldType set to link. This overridesListGridField.linkText.- Parameters:
- linkText- New linkText value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getLinkTextThe HTML to display in this row for fields with fieldType set to link. This overridesListGridField.linkText.- Returns:
- Current linkText value. Default value is null
- See Also:
 
- 
setShowRollOverSet to false to disable rollover for this individual record whenListGrid.showRollOveris true.Note this property can be renamed to prevent collision with data members - see ListGrid.recordShowRollOverProperty.- Parameters:
- showRollOver- New showRollOver value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getShowRollOverSet to false to disable rollover for this individual record whenListGrid.showRollOveris true.Note this property can be renamed to prevent collision with data members - see ListGrid.recordShowRollOverProperty.- Returns:
- Current showRollOver value. Default value is null
- See Also:
 
- 
setSingleCellValueDefault property name denoting the single value to display for all fields of this row. If this property 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 this property.
 Note: this attribute name is governed byListGrid.singleCellValueProperty.- Parameters:
- singleCellValue- New singleCellValue value. Default value is null
- Returns:
- ListGridRecordinstance, for chaining setter calls
- See Also:
 
- 
getSingleCellValueDefault property name denoting the single value to display for all fields of this row. If this property 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 this property.
 Note: this attribute name is governed byListGrid.singleCellValueProperty.- Returns:
- Current singleCellValue value. Default value is null
- See Also:
 
 
-