com.smartgwt.client.widgets.grid
Class ColumnTree

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.smartgwt.client.widgets.BaseWidget
              extended by com.smartgwt.client.widgets.Canvas
                  extended by com.smartgwt.client.widgets.layout.Layout
                      extended by com.smartgwt.client.widgets.grid.ColumnTree
All Implemented Interfaces:
HasAttachHandlers, HasHandlers, EventListener, HasVisibility, IsWidget, LogicalStructure, DataBoundComponent, HasClickHandlers, HasDoubleClickHandlers, HasDragCompleteHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropCompleteHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFetchDataHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasNodeSelectedHandlers, HasMembersChangedHandlers

public class ColumnTree
extends Layout
implements HasNodeSelectedHandlers, DataBoundComponent

The Smart GWT system supports hierarchical data (also referred to as tree data due to its "branching" organization) with:

For information on DataBinding Trees, see TreeDataBinding.

A ColumnTree shows a single branch of the underlying Tree horizontally, from left to right. Thus, the leftmost column shows all the top-level nodes. When the user clicks one of those nodes, a new column is shown immediately to the right of the top-level column, showing the selected node's children. Additional columns are shown as required to present lower-level children. The behavior of ColumnTree is similar to that of the Browser interface in the Apple™ iTunes™ application.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
 
Field Summary
 
Fields inherited from class com.smartgwt.client.widgets.BaseWidget
config, configOnly, id, nativeObject, scClassName
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
ColumnTree()
           
ColumnTree(JavaScriptObject jsObj)
           
 
Method Summary
 HandlerRegistration addDragCompleteHandler(DragCompleteHandler handler)
          Add a com.smartgwt.client.widgets.DragCompleteHandler.
 HandlerRegistration addDropCompleteHandler(DropCompleteHandler handler)
          Add a com.smartgwt.client.widgets.DropCompleteHandler.
 HandlerRegistration addFetchDataHandler(FetchDataHandler handler)
          Add a fetchData handler.
 void addFormulaField()
          Convenience method to display a com.smartgwt.client..FormulaBuilder to create a new Formula Field.
 HandlerRegistration addNodeSelectedHandler(NodeSelectedHandler handler)
          Add a onNodeSelected handler.
 void addSummaryField()
          Convenience method to display a com.smartgwt.client..SummaryBuilder to create a new Summary Field.
 Boolean anySelected()
          Whether at least one item is selected
 Boolean anySelected(int colNum)
          Whether at least one item is selected in the supplied column (the first column if none is passed)
static void changeAutoChildDefaults(String autoChildName, Canvas defaults)
          Changes the defaults for Canvas AutoChildren named autoChildName.
static void changeAutoChildDefaults(String autoChildName, FormItem defaults)
          Changes the defaults for FormItem AutoChildren named autoChildName.
protected  JavaScriptObject create()
           
 void deselectAllRecords()
           Deselect all records
 void deselectAllRecords(int colNum)
          Deselect all records in the supplied column (the first column if none is passed)
 void deselectRecord(int record)
          Deselect a Record passed in explicitly, or by index.
 void deselectRecord(int record, int colNum)
          Deselect a Record passed in explicitly, or by index.
 void deselectRecord(Record record)
          Deselect a Record passed in explicitly, or by index.
 void deselectRecord(Record[] records)
          Deselect a list of Records passed in explicitly, or by index.
 void deselectRecord(Record record, int colNum)
           
 void deselectRecords(int[] records)
          Deselect a list of Records passed in explicitly, or by index.
 void deselectRecords(int[] records, int colNum)
          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 deselectRecords(Record[] records, int colNum)
          Deselect a list of Records passed in explicitly, or by index.
 void disableHilite(String hiliteID)
          Disable a hilite
 void disableHiliting()
          Disable all hilites.
 void editFields()
          Shows a FieldPicker interface allowing end-users to rearrange the order and visibiility of the fields in the associated DataBoundComponent.
 void editHilites()
          Shows a HiliteEditor interface allowing end-users to edit the data-hilites currently in use by this DataBoundComponent.
 void enableHilite(String hiliteID)
          Enable / disable a hilites
 void enableHilite(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.
 Record find(AdvancedCriteria adCriteria)
          Filters all objects according to the AdvancedCriteria passed and returns the first matching object or null if not found
 Record[] findAll(AdvancedCriteria adCriteria)
          Filters all objects according to the AdvancedCriteria passed
 int findIndex(AdvancedCriteria adCriteria)
          Finds the index of the first Record that matches with the AdvacendCriteria passed.
 int findNextIndex(int startIndex, AdvancedCriteria adCriteria)
          Like RecordList.findIndex(java.util.Map), but considering the startIndex parameter.
 int findNextIndex(int startIndex, AdvancedCriteria adCriteria, int endIndex)
          Like RecordList.findIndex(java.util.Map), but considering the startIndex and endIndex parameters.
 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.
 String getAddFormulaFieldText()
          Text for a menu item allowing users to add a formula field
 String getAddOperation()
          Operation ID this component should use when performing add operations.
 String getAddSummaryFieldText()
          Text for a menu item allowing users to add a formula field
 Boolean getAutoFetchAsFilter()
          If DataBoundComponent.setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via DataBoundComponent.fetchData() or DataBoundComponent.filterData()
 Boolean getAutoFetchData()
          If true, when this component is first drawn, automatically call DataBoundComponent.fetchData() or DataBoundComponent.filterData() depending on DataBoundComponent.getAutoFetchAsFilter() .
 TextMatchStyle getAutoFetchTextMatchStyle()
          If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial DataBoundComponent.fetchData() call.
 IButton getBackButton()
          When using single-column mode, this is the "Back" button that you see hovering above the column UI and that allows backward navigation.
 String getBackButtonTitle()
          When using single-column mode, this i18n property dictates the title for the button docked to the top left which allows navigation back through the column tree.
 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.
 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.
 String getClosedIconSuffix()
          This suffix will be appended to the folderIcon for closed folders.
 ListGrid getColumn()
          Note : This API is non-functional (always returns null) and exists only to make you aware that this MultiAutoChild exists.
 ListGrid getColumnProperties()
          Standard set of properties to apply to each generated column in this columnTree.
 void getColumnTitle(TreeNode node, int colNum)
          Returns the title to show for the header of indicated column.
 ListGrid getCustomColumnProperties(TreeNode node, int colNum)
          Additional properties to apply to the ListGrid that will show the indicated column.
 String getCustomIconOpenProperty()
          This property allows the developer to rename the default node.showOpenIcon property.
 String getCustomIconProperty()
          This property allows the developer to customize the icon displayed next to a node.
 Tree getData()
          A Tree object consisting of nested TreeNodes to display in this ColumnTree.
 JavaScriptObject getDataAsJSList()
           
 FetchMode getDataFetchMode()
          How to fetch and manage records retrieve from the server.
 int getDataPageSize()
          When using data paging, how many records to fetch at a time.
 DataSource getDataSource()
          The DataSource that this component should bind to for default fields and for performing DataSource requests.
 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.
 String getDragTrackerStyle()
          CSS Style to apply to the drag tracker when dragging occurs on this component.
 String getDropIconSuffix()
          If showDropIcons is true, this suffix will be appended to the folderIcon when the user drop-hovers over some folder.
 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.
 String getDuplicateDragMessage()
          Message to show when a user attempts to transfer duplicate records into this component, and preventDuplicates is enabled.
 String getEditFormulaFieldText()
          Text for a menu item allowing users to edit a formula field
 String getEditSummaryFieldText()
          Text for a menu item allowing users to edit the formatter for a field
 Boolean getExportAll()
          Setting exportAll to true prevents the component from passing its list of fields to the export call.
 String[] getExportFields()
          The list of field-names to export.
 String getFetchOperation()
          Operation ID this component should use when performing fetch operations.
 String getFirstColumnTitle()
          A title for the leftmost column if showHeaders is set (the remaining columns have their titles derived from the item selected in the column to the left).
 String getFolderIcon()
          The URL of the base icon for all folder nodes in this columnTree.
 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.
 String getHiliteState()
          Get the current hilites encoded as a String, for saving.
 String getIcon(TreeNode node)
          Get the appropriate icon for a node.
 Criteria getInitialCriteria()
          Criteria to use when DataBoundComponent.setAutoFetchData(Boolean) is used.
 Boolean getLoadDataOnDemand()
          For databound columnTree instances, should the entire tree of data be loaded on initial fetch, or should each column be loaded as needed.
 com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()
           
 String getNodeIcon()
          The filename of the default icon for all leaf nodes in this grid.
 String getOpenIconSuffix()
          If showOpenIcons is true, this suffix will be appended to the folderIcon for open folders in this grid.
static ColumnTree getOrCreateRef(JavaScriptObject jsObj)
           
 Boolean getPreventDuplicates()
          If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent).
 Boolean getProgressiveLoading()
          Indicates whether or not this component will load its data progressively
 TreeNode getRecord(int index)
          Retrieve a record by index.
 TreeNode getRecord(int index, Integer colNum)
          Retrieve a record by index.
 int getRecordIndex(Record record)
          Get the index of the provided record.
 RecordList getRecordList()
          Return the underlying data of this DataBoundComponent as a RecordList.
 String getRemoveOperation()
          Operation ID this component should use when performing remove operations.
 ResultSet getResultSet()
          Return the underlying data of this DataBoundComponent as a ResultSet.
 Record getSelectedRecord()
          Get the selected record, that is, the parent of the nodes in the rightmost visible column.
 ListGridRecord[] getSelection(int colNum)
          Returns the array of objects selected in the specified column of the columnTree
 Boolean getShowComplexFields()
          Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no component.fields.
 Boolean getShowCustomIconOpen()
          Should folder nodes showing custom icons (set via the customIconProperty), show open state images when the folder is opened.
 Boolean getShowDetailFields()
          Whether to show fields marked detail:true when a DataBoundComponent is given a DataSource but no component.fields.
 Boolean getShowDropIcons()
          If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon folder icon.
 Boolean getShowHeaders()
          If set, each column in the ColumnTree will show a header with the title of the selected node from the column to the left.
 Boolean getShowHiddenFields()
          Whether to show fields marked hidden:true when a DataBoundComponent is given a DataSource but no component.fields.
 Boolean getShowMultipleColumns()
          When set to false, only displays a single column at a time, showing a slide animation when moving between columns.
 Boolean getShowNodeCount()
          If set, and showHeaders is also set, each column's header will show a count of the number of nodes in that column
 Boolean getShowOpenIcons()
          If true, show a different icon for open folders than closed folders.
 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".
 String getTitleFieldValue(Record record)
          Get the value of the titleField for the passed record
 String getUpdateOperation()
          Operation ID this component should use when performing update operations.
 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.
 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 navigateBack()
          Navigate to the previous column.
protected  void onInit_ColumnTree()
           
protected  void onInit()
           
 void selectAllRecords()
          Select all records
 void selectAllRecords(int colNum)
          Select all records in the supplied column (the first column if none is passed)
 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(int record, boolean newState, int colNum)
          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 selectRecord(Record record, boolean newState, int colNum)
          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(int[] records, boolean newState, int colNum)
          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 selectRecords(Record[] records, boolean newState, int colNum)
          Select/deselect a list of Records passed in explicitly, or by index.
 void setAddDropValues(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(String addFormulaFieldText)
          Text for a menu item allowing users to add a formula field
 void setAddOperation(String addOperation)
          Operation ID this component should use when performing add operations.
 void setAddSummaryFieldText(String addSummaryFieldText)
          Text for a menu item allowing users to add a formula field
 void setAutoFetchAsFilter(Boolean autoFetchAsFilter)
          If DataBoundComponent.setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via DataBoundComponent.fetchData() or DataBoundComponent.filterData()
 void setAutoFetchData(Boolean autoFetchData)
          If true, when this component is first drawn, automatically call DataBoundComponent.fetchData() or DataBoundComponent.filterData() depending on DataBoundComponent.getAutoFetchAsFilter() .
 void setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)
          If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial DataBoundComponent.fetchData() call.
 void setBackButtonTitle(String backButtonTitle)
          When using single-column mode, this i18n property dictates the title for the button docked to the top left which allows navigation back through the column tree.
 void setCanAddFormulaFields(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(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 setClosedIconSuffix(String closedIconSuffix)
          This suffix will be appended to the folderIcon for closed folders.
 void setColumnProperties(ListGrid columnProperties)
          Standard set of properties to apply to each generated column in this columnTree.
 void setCustomIconOpenProperty(String customIconOpenProperty)
          This property allows the developer to rename the default node.showOpenIcon property.
 void setCustomIconProperty(String customIconProperty)
          This property allows the developer to customize the icon displayed next to a node.
 void setData(Tree data)
          A Tree object consisting of nested TreeNodes to display in this ColumnTree.
 void setDataFetchMode(FetchMode dataFetchMode)
          How to fetch and manage records retrieve from the server.
 void setDataPageSize(int dataPageSize)
          When using data paging, how many records to fetch at a time.
 void setDataSource(DataSource dataSource)
          Bind to a DataSource.
 void setDataSource(DataSource dataSource, ListGridField... fields)
          Bind to a DataSource.
static void setDefaultProperties(ColumnTree columnTreeProperties)
          Class level method to set the default properties of this class.
 void setDragDataAction(DragDataAction dragDataAction)
          Indicates what to do with data dragged into another DataBoundComponent.
 void setDragTrackerStyle(String dragTrackerStyle)
          CSS Style to apply to the drag tracker when dragging occurs on this component.
 void setDropIconSuffix(String dropIconSuffix)
          If showDropIcons is true, this suffix will be appended to the folderIcon when the user drop-hovers over some folder.
 void setDropValues(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(String duplicateDragMessage)
          Message to show when a user attempts to transfer duplicate records into this component, and preventDuplicates is enabled.
 void setEditFormulaFieldText(String editFormulaFieldText)
          Text for a menu item allowing users to edit a formula field
 void setEditSummaryFieldText(String editSummaryFieldText)
          Text for a menu item allowing users to edit the formatter for a field
 void setExportAll(Boolean exportAll)
          Setting exportAll to true prevents the component from passing its list of fields to the export call.
 void setExportFields(String[] exportFields)
          The list of field-names to export.
 void setFetchOperation(String fetchOperation)
          Operation ID this component should use when performing fetch operations.
 void setFields(ListGridField... fields)
          An array of field objects, specifying the order, layout, dynamic calculation, and sorting behavior of each field in each column in the columnTree object.
 void setFirstColumnTitle(String firstColumnTitle)
          A title for the leftmost column if showHeaders is set (the remaining columns have their titles derived from the item selected in the column to the left).
 void setFolderIcon(String folderIcon)
          The URL of the base icon for all folder nodes in this columnTree.
 void setHiliteProperty(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(String hiliteState)
          Set the current hilites based on a hiliteState String previously returned from getHilitesState.
 void setInitialCriteria(Criteria initialCriteria)
          Criteria to use when DataBoundComponent.setAutoFetchData(Boolean) is used.
 void setLoadDataOnDemand(Boolean loadDataOnDemand)
          For databound columnTree instances, should the entire tree of data be loaded on initial fetch, or should each column be loaded as needed.
 com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.grid.ColumnTreeLogicalStructure s)
           
 void setNodeIcon(String nodeIcon)
          The filename of the default icon for all leaf nodes in this grid.
 void setOpenIconSuffix(String openIconSuffix)
          If showOpenIcons is true, this suffix will be appended to the folderIcon for open folders in this grid.
 void setPreventDuplicates(Boolean preventDuplicates)
          If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent).
 void setProgressiveLoading(Boolean progressiveLoading)
          Indicates whether or not this component will load its data progressively
 void setRemoveOperation(String removeOperation)
          Operation ID this component should use when performing remove operations.
 void setShowComplexFields(Boolean showComplexFields)
          Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no component.fields.
 void setShowCustomIconOpen(Boolean showCustomIconOpen)
          Should folder nodes showing custom icons (set via the customIconProperty), show open state images when the folder is opened.
 void setShowDetailFields(Boolean showDetailFields)
          Whether to show fields marked detail:true when a DataBoundComponent is given a DataSource but no component.fields.
 void setShowDropIcons(Boolean showDropIcons)
          If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon folder icon.
 void setShowHeaders(Boolean showHeaders)
          If set, each column in the ColumnTree will show a header with the title of the selected node from the column to the left.
 void setShowHiddenFields(Boolean showHiddenFields)
          Whether to show fields marked hidden:true when a DataBoundComponent is given a DataSource but no component.fields.
 void setShowMultipleColumns(Boolean showMultipleColumns)
          When set to false, only displays a single column at a time, showing a slide animation when moving between columns.
 void setShowNodeCount(Boolean showNodeCount)
          If set, and showHeaders is also set, each column's header will show a count of the number of nodes in that column
 void setShowOpenIcons(Boolean showOpenIcons)
          If true, show a different icon for open folders than closed folders.
 void setTitleField(String titleField)
          Sets the best field to use for a user-visible title for an individual record from this component.
 void setUpdateOperation(String updateOperation)
          Operation ID this component should use when performing update operations.
 void setUseAllDataSourceFields(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(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 shouldShowHeader(TreeNode node, int colNum)
          Whether the indicated column should show a header.
 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 class com.smartgwt.client.widgets.layout.Layout
addMember, addMember, addMember, addMember, addMemberPostCreate, addMemberPostCreate, addMemberPreCreate, addMemberPreCreate, addMembers, addMembers, addMembersChangedHandler, getAnimateMembers, getAnimateMemberTime, getCanDropComponents, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutTopMargin, getLeaveScrollbarGap, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersMargin, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, onInit_Layout, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutTopMargin, setLeaveScrollbarGap, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinMemberSize, setOverflow, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember
 
Methods inherited from class com.smartgwt.client.widgets.Canvas
addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getKeepInParentRect, getLayoutAlign, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getShrinkElementOnHide, getSkinImgDir, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapResizeToGrid, getSnapTo, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, parentResized, printComponents, redraw, redraw, removeChild, removeChild, removePeer, removePeer, resizeBy, resizeTo, resizeTo, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setOpacity, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setShrinkElementOnHide, setSkinImgDir, setSmoothFade, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToGrid, setSnapTo, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop
 
Methods inherited from class com.smartgwt.client.widgets.BaseWidget
addDrawHandler, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setID, setJavaScriptObject, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent, unsinkEvents
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.smartgwt.client.widgets.DataBoundComponent
getOrCreateJsObj
 
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
 

Constructor Detail

ColumnTree

public ColumnTree()

ColumnTree

public ColumnTree(JavaScriptObject jsObj)
Method Detail

getOrCreateRef

public static ColumnTree getOrCreateRef(JavaScriptObject jsObj)

changeAutoChildDefaults

public static void changeAutoChildDefaults(String autoChildName,
                                           Canvas defaults)
Changes the defaults for Canvas AutoChildren named autoChildName.

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

changeAutoChildDefaults

public static void changeAutoChildDefaults(String autoChildName,
                                           FormItem defaults)
Changes the defaults for FormItem AutoChildren named autoChildName.

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

create

protected JavaScriptObject create()
Overrides:
create in class Layout

getBackButton

public IButton getBackButton()
                      throws IllegalStateException
When using single-column mode, this is the "Back" button that you see hovering above the column UI and that allows backward navigation.

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

Returns:
IButton
Throws:
IllegalStateException - if this widget has not yet been rendered.

setBackButtonTitle

public void setBackButtonTitle(String backButtonTitle)
When using single-column mode, this i18n property dictates the title for the button docked to the top left which allows navigation back through the column tree.

Parameters:
backButtonTitle - Default value is "Back"

getBackButtonTitle

public String getBackButtonTitle()
When using single-column mode, this i18n property dictates the title for the button docked to the top left which allows navigation back through the column tree.

Returns:
String

setClosedIconSuffix

public void setClosedIconSuffix(String closedIconSuffix)
This suffix will be appended to the folderIcon for closed folders. If showOpenIcons is set to false this suffix will also be appended to open folders' icons.

Parameters:
closedIconSuffix - Default value is "closed"

getClosedIconSuffix

public String getClosedIconSuffix()
This suffix will be appended to the folderIcon for closed folders. If showOpenIcons is set to false this suffix will also be appended to open folders' icons.

Returns:
String

getColumn

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

Instance of ListGrid used to display each column of the tree.

Returns:
null

setCustomIconOpenProperty

public void setCustomIconOpenProperty(String customIconOpenProperty)
This property allows the developer to rename the default node.showOpenIcon property.

Note : This is an advanced setting

Parameters:
customIconOpenProperty - Default value is "showOpenIcon"
See Also:
TreeGrid.setCustomIconProperty(java.lang.String), TreeGrid.setShowCustomIconOpen(java.lang.Boolean)

getCustomIconOpenProperty

public String getCustomIconOpenProperty()
This property allows the developer to rename the default node.showOpenIcon property.

Returns:
String
See Also:
TreeGrid.getCustomIconProperty(), TreeGrid.getShowCustomIconOpen()

setCustomIconProperty

public void setCustomIconProperty(String customIconProperty)
This property allows the developer to customize the icon displayed next to a node. Set node[grid.customIconProperty] to the URL of the desired icon to display and it will be shown instead of the standard nodeIcon for this node.
Note that if showCustomIconOpen is true for this grid, customized icons for folder nodes will be appended with the openIconSuffix suffix on state change, as with the standard folderIcon. Also note that for custom folder icons, the closedIconSuffix will never be appended.

Parameters:
customIconProperty - Default value is "icon"

getCustomIconProperty

public String getCustomIconProperty()
This property allows the developer to customize the icon displayed next to a node. Set node[grid.customIconProperty] to the URL of the desired icon to display and it will be shown instead of the standard nodeIcon for this node.
Note that if showCustomIconOpen is true for this grid, customized icons for folder nodes will be appended with the openIconSuffix suffix on state change, as with the standard folderIcon. Also note that for custom folder icons, the closedIconSuffix will never be appended.

Returns:
String

setData

public void setData(Tree data)
A Tree object consisting of nested TreeNodes to display in this ColumnTree. The data property will typically not be explicitly specified for databound ColumnTrees, where the data is returned from the server via databound component methods such as fetchData()

If this method is called after the component has been drawn/initialized: Set the Tree object this ColumnTree will view

Parameters:
data - Tree to show. Default value is null

getData

public Tree getData()
A Tree object consisting of nested TreeNodes to display in this ColumnTree. The data property will typically not be explicitly specified for databound ColumnTrees, where the data is returned from the server via databound component methods such as fetchData()

Returns:
Returns the Tree object this ColumnTree is viewing

setDataFetchMode

public void setDataFetchMode(FetchMode dataFetchMode)
How to fetch and manage records retrieve from the server. See FetchMode.

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

Specified by:
setDataFetchMode in interface DataBoundComponent
Parameters:
dataFetchMode - Default value is "paged"
See Also:
Databinding overview and related methods

getDataFetchMode

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

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

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

setFields

public void setFields(ListGridField... fields)
An array of field objects, specifying the order, layout, dynamic calculation, and sorting behavior of each field in each column in the columnTree object. In ColumnTrees, the fields array specifies sub-columns within each main column. Each field in the fields array is a ListGridField object.

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

Parameters:
fields - Default value is null
See Also:
ListGridField, Databinding overview and related methods

setFirstColumnTitle

public void setFirstColumnTitle(String firstColumnTitle)
                         throws IllegalStateException
A title for the leftmost column if showHeaders is set (the remaining columns have their titles derived from the item selected in the column to the left). Ignored if showHeaders is not set.

Note: if you do not want a heading for the first column leave this attribute at its default value of " ". If you set it to null or the empty string, Smart GWT will fall back to displaying the field's name in the heading.

Parameters:
firstColumnTitle - Default value is " "
Throws:
IllegalStateException - this property cannot be changed after the component has been created

getFirstColumnTitle

public String getFirstColumnTitle()
A title for the leftmost column if showHeaders is set (the remaining columns have their titles derived from the item selected in the column to the left). Ignored if showHeaders is not set.

Note: if you do not want a heading for the first column leave this attribute at its default value of " ". If you set it to null or the empty string, Smart GWT will fall back to displaying the field's name in the heading.

Returns:
String

setFolderIcon

public void setFolderIcon(String folderIcon)
The URL of the base icon for all folder nodes in this columnTree. Note that this URL will have openIconSuffix or closedIconSuffix appended to indicate state changes if appropriate - see documentation on showOpenIcons

Parameters:
folderIcon - See SCImgURL . Default value is "[SKIN]folder.gif"

getFolderIcon

public String getFolderIcon()
The URL of the base icon for all folder nodes in this columnTree. Note that this URL will have openIconSuffix or closedIconSuffix appended to indicate state changes if appropriate - see documentation on showOpenIcons

Returns:
See SCImgURL

setLoadDataOnDemand

public void setLoadDataOnDemand(Boolean loadDataOnDemand)
                         throws IllegalStateException
For databound columnTree instances, should the entire tree of data be loaded on initial fetch, or should each column be loaded as needed. If unset the default ResultTree.loadDataOnDemand setting will be used.

Parameters:
loadDataOnDemand - Default value is null
Throws:
IllegalStateException - this property cannot be changed after the component has been created
See Also:
Databinding overview and related methods

getLoadDataOnDemand

public Boolean getLoadDataOnDemand()
For databound columnTree instances, should the entire tree of data be loaded on initial fetch, or should each column be loaded as needed. If unset the default ResultTree.loadDataOnDemand setting will be used.

Returns:
Boolean
See Also:
Databinding overview and related methods

setNodeIcon

public void setNodeIcon(String nodeIcon)
The filename of the default icon for all leaf nodes in this grid. To specify a custom image for an individual node, set the customIconProperty directly on the node.

Parameters:
nodeIcon - See SCImgURL . Default value is "[SKIN]file.gif"
See Also:
Miller Columns Example

getNodeIcon

public String getNodeIcon()
The filename of the default icon for all leaf nodes in this grid. To specify a custom image for an individual node, set the customIconProperty directly on the node.

Returns:
See SCImgURL
See Also:
Miller Columns Example

setOpenIconSuffix

public void setOpenIconSuffix(String openIconSuffix)
If showOpenIcons is true, this suffix will be appended to the folderIcon for open folders in this grid.

Parameters:
openIconSuffix - Default value is "open"

getOpenIconSuffix

public String getOpenIconSuffix()
If showOpenIcons is true, this suffix will be appended to the folderIcon for open folders in this grid.

Returns:
String

setShowCustomIconOpen

public void setShowCustomIconOpen(Boolean showCustomIconOpen)
Should folder nodes showing custom icons (set via the customIconProperty), show open state images when the folder is opened. If true, the openIconSuffix will be appended to the image URL (so "customFolder.gif" might be replaced with "customFolder_open.gif").
Note that the closedIconSuffix is never appended to custom folder icons.
Can be overridden at the node level via the default property showOpenIcon and that property can be renamed via customIconOpenProperty.

Note : This is an advanced setting

Parameters:
showCustomIconOpen - Default value is false

getShowCustomIconOpen

public Boolean getShowCustomIconOpen()
Should folder nodes showing custom icons (set via the customIconProperty), show open state images when the folder is opened. If true, the openIconSuffix will be appended to the image URL (so "customFolder.gif" might be replaced with "customFolder_open.gif").
Note that the closedIconSuffix is never appended to custom folder icons.
Can be overridden at the node level via the default property showOpenIcon and that property can be renamed via customIconOpenProperty.

Returns:
Boolean

setShowDetailFields

public void setShowDetailFields(Boolean showDetailFields)
                         throws IllegalStateException
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.

Specified by:
setShowDetailFields in interface DataBoundComponent
Parameters:
showDetailFields - Default value is true
Throws:
IllegalStateException - this property cannot be changed after the component has been created
See Also:
Databinding overview and related methods

getShowDetailFields

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

Specified by:
getShowDetailFields in interface DataBoundComponent
Returns:
Boolean
See Also:
Databinding overview and related methods

setShowHeaders

public void setShowHeaders(Boolean showHeaders)
                    throws IllegalStateException
If set, each column in the ColumnTree will show a header with the title of the selected node from the column to the left.

Parameters:
showHeaders - Default value is false
Throws:
IllegalStateException - this property cannot be changed after the component has been created

getShowHeaders

public Boolean getShowHeaders()
If set, each column in the ColumnTree will show a header with the title of the selected node from the column to the left.

Returns:
Boolean

setShowMultipleColumns

public void setShowMultipleColumns(Boolean showMultipleColumns)
When set to false, only displays a single column at a time, showing a slide animation when moving between columns.

Parameters:
showMultipleColumns - Default value is null

getShowMultipleColumns

public Boolean getShowMultipleColumns()
When set to false, only displays a single column at a time, showing a slide animation when moving between columns.

Returns:
Boolean

setShowNodeCount

public void setShowNodeCount(Boolean showNodeCount)
                      throws IllegalStateException
If set, and showHeaders is also set, each column's header will show a count of the number of nodes in that column

Parameters:
showNodeCount - Default value is false
Throws:
IllegalStateException - this property cannot be changed after the component has been created

getShowNodeCount

public Boolean getShowNodeCount()
If set, and showHeaders is also set, each column's header will show a count of the number of nodes in that column

Returns:
Boolean

setShowOpenIcons

public void setShowOpenIcons(Boolean showOpenIcons)
If true, show a different icon for open folders than closed folders. This is achieved by appending the openIconSuffix onto the folderIcon URL [for example "[SKIN]/folder.gif" might be replaced by "[SKIN]/folder_open.gif".
Note If this property is set to false the same icon is shown for open folders as for closed folders, unless a custom folder icon was specified. This will be determined by folderIcon plus the closedIconSuffix.

Parameters:
showOpenIcons - Default value is true
See Also:
Miller Columns Example

getShowOpenIcons

public Boolean getShowOpenIcons()
If true, show a different icon for open folders than closed folders. This is achieved by appending the openIconSuffix onto the folderIcon URL [for example "[SKIN]/folder.gif" might be replaced by "[SKIN]/folder_open.gif".
Note If this property is set to false the same icon is shown for open folders as for closed folders, unless a custom folder icon was specified. This will be determined by folderIcon plus the closedIconSuffix.

Returns:
Boolean
See Also:
Miller Columns Example

getColumnTitle

public void getColumnTitle(TreeNode node,
                           int colNum)
Returns the title to show for the header of indicated column. Only called if ColumnTree.shouldShowHeader returns true for this column.

By default, returns firstColumnTitle for the first column, and for subsequent columns, the result of this.data.getTitle() called on the node passed to this function.

Parameters:
node - parent node for the nodes to be shown in the column
colNum - index of the column

getIcon

public String getIcon(TreeNode node)
Get the appropriate icon for a node.

By default icons are derived from folderIcon and nodeIcon. Custom icons for individual nodes can be overridden by setting the customIconProperty on a node.

If you want to suppress icons altogether, provide an override of this method that simply returns null.

Note that the full icon URL will be derived by applying Canvas.getImgURL to the value returned from this method.

Parameters:
node - tree node in question
Returns:
URL for the icon to show for this node

getRecord

public TreeNode getRecord(int index)
Retrieve a record by index.

If colNum is passed, returns the record found in that column at that index, or null if the column doesn't exist or the index is too high.

With no colNum parameter, a record's index is it's position counting from the first record of the first column and including all records in each column. Note that both index and colNum are zero-based - so the first column is column 0, not column 1.

Parameters:
index - index of record to return.
Returns:
node at the specified index

getRecord

public TreeNode getRecord(int index,
                          Integer colNum)
Retrieve a record by index.

If colNum is passed, returns the record found in that column at that index, or null if the column doesn't exist or the index is too high.

With no colNum parameter, a record's index is it's position counting from the first record of the first column and including all records in each column. Note that both index and colNum are zero-based - so the first column is column 0, not column 1.

Parameters:
index - index of record to return.
colNum - optional index of the column
Returns:
node at the specified index

getSelectedRecord

public Record getSelectedRecord()
Get the selected record, that is, the parent of the nodes in the rightmost visible column.

This is generally the most recently clicked node unless programmatic navigation has taken place.

If only the first column is showing, the root node is returned (which can be detected via Tree.isRoot).

Returns:
the selected record

navigateBack

public void navigateBack()
Navigate to the previous column.


shouldShowHeader

public void shouldShowHeader(TreeNode node,
                             int colNum)
Whether the indicated column should show a header. Returns this.showHeaders by default, override for different behavior.

Parameters:
node - parent node for the nodes to be shown in the column
colNum - index of the column

setDefaultProperties

public static void setDefaultProperties(ColumnTree columnTreeProperties)
Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

Parameters:
columnTreeProperties - properties that should be used as new defaults when instances of this class are created

onInit

protected void onInit()
Overrides:
onInit in class Layout

onInit_ColumnTree

protected void onInit_ColumnTree()

setDropIconSuffix

public void setDropIconSuffix(String dropIconSuffix)
If showDropIcons is true, this suffix will be appended to the folderIcon when the user drop-hovers over some folder.

Parameters:
dropIconSuffix - dropIconSuffix Default value is "drop"

getDropIconSuffix

public String getDropIconSuffix()
If showDropIcons is true, this suffix will be appended to the folderIcon when the user drop-hovers over some folder.

Returns:
String

setShowDropIcons

public void setShowDropIcons(Boolean showDropIcons)
If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon folder icon. This is achieved by appending the dropIconSuffix onto the folderIcon URL (for example "[SKIN]/folder.gif" may be replaced by "[SKIN]/folder_drop.gif").

Parameters:
showDropIcons - showDropIcons Default value is true

getShowDropIcons

public Boolean getShowDropIcons()
If true, when the user drags a droppable target over a folder in this TreeGrid, show a different icon folder icon. This is achieved by appending the dropIconSuffix onto the folderIcon URL (for example "[SKIN]/folder.gif" may be replaced by "[SKIN]/folder_drop.gif").

Returns:
Boolean

deselectRecord

public void deselectRecord(Record record,
                           int colNum)

deselectRecord

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

Synonym for selectRecord(record, false)

Parameters:
record - row number to deselect
colNum - the column number

deselectRecords

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

Synonym for selectRecords(records, false)

Parameters:
records - records (or row numbers) to deselect
colNum - the col num

deselectRecord

public void deselectRecord(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

deselectRecords

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

Synonym for selectRecords(records, false)

Parameters:
records - records (or row numbers) to deselect
colNum - the col num

selectRecord

public void selectRecord(int record,
                         boolean newState,
                         int colNum)
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)
colNum - Column number

selectRecord

public void selectRecord(Record record,
                         boolean newState,
                         int colNum)
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)
colNum - Column number

selectRecords

public void selectRecords(int[] records,
                          boolean newState,
                          int colNum)
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)
colNum - Column number

selectRecords

public void selectRecords(Record[] records,
                          boolean newState,
                          int colNum)
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)
colNum - Column number

getSelection

public ListGridRecord[] getSelection(int colNum)
Returns the array of objects selected in the specified column of the columnTree

Parameters:
colNum - Column within the columnTree to return the selection for
Returns:
(ArrayofListGridRecord) list of records, empty list if nothing selected

selectAllRecords

public void selectAllRecords(int colNum)
Select all records in the supplied column (the first column if none is passed)

Parameters:
colNum - Column number

deselectAllRecords

public void deselectAllRecords(int colNum)
Deselect all records in the supplied column (the first column if none is passed)

Parameters:
colNum - Column number

anySelected

public Boolean anySelected(int colNum)
Whether at least one item is selected in the supplied column (the first column if none is passed)

Parameters:
colNum - Column number
Returns:
true == at least one item is selected in the supplied column, false == nothing at all is selected in the supplied column (note that there may be selections in other columns in this columnTree)

addNodeSelectedHandler

public HandlerRegistration addNodeSelectedHandler(NodeSelectedHandler handler)
Add a onNodeSelected handler.

Notification method fired when a node is selected. Return false to suppress default behavior.

Specified by:
addNodeSelectedHandler in interface HasNodeSelectedHandlers
Parameters:
handler - the onNodeSelected handler
Returns:
HandlerRegistration used to remove this handler

setColumnProperties

public void setColumnProperties(ListGrid columnProperties)
                         throws IllegalStateException
Standard set of properties to apply to each generated column in this columnTree. Developers may also override ColumnTree.getCustomColumnProperties to return dynamic properties based on the node being displayed.

Note : This is an advanced setting

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

getColumnProperties

public ListGrid getColumnProperties()
Standard set of properties to apply to each generated column in this columnTree. Developers may also override ColumnTree.getColumnProperties to return dynamic properties based on the node being displayed.

Returns:
"template" listGrid with attributes that will be applied to each generated column

getCustomColumnProperties

public ListGrid getCustomColumnProperties(TreeNode node,
                                          int colNum)
Additional properties to apply to the ListGrid that will show the indicated column. Returns null by default. This method can be overridden to allow, for example, different styling, icons or row heights per column.

Parameters:
node - parent node for the nodes to be shown in the column
colNum - index of the column
Returns:
"template" listgrid with dynamically determined attributes to apply to the generated column.

setDataSource

public void setDataSource(DataSource dataSource,
                          ListGridField... fields)
Bind to a DataSource.

Binding to a DataSource means that the component will use the DataSource to provide default data for its fields.

When binding to a new DataSource, if the component has any existing "fields" or has a dataset, these will be discarded by default, since it is assumed the new DataSource may represent a completely unrelated set of objects. If the old "fields" are still relevant, pass them to setDataSource().

Parameters:
dataSource -
fields -

setDataPageSize

public void setDataPageSize(int dataPageSize)
Description copied from interface: DataBoundComponent
When using data paging, how many records to fetch at a time. The value of this attribute is passed on to the auto-constructed ResultSet object for this component. In effect, this gives you control over the resultSize attribute for this component.

Note that regardless of the dataPageSize setting, a component will always fetch all of data that it needs to draw. Settings such as showAllRecords, drawAllMaxCells and drawAheadRatio can cause more rows than the configured dataPageSize to be fetched.

Specified by:
setDataPageSize in interface DataBoundComponent
Parameters:
dataPageSize - dataPageSize Default value is 75

getDataPageSize

public int getDataPageSize()
Description copied from interface: DataBoundComponent
When using data paging, how many records to fetch at a time. The value of this attribute is passed on to the auto-constructed ResultSet object for this component. In effect, this gives you control over the resultSize attribute for this component.

Note that regardless of the dataPageSize setting, a component will always fetch all of data that it needs to draw. Settings such as showAllRecords, drawAllMaxCells and drawAheadRatio can cause more rows than the configured dataPageSize to be fetched.

Specified by:
getDataPageSize in interface DataBoundComponent
Returns:
int

setUseAllDataSourceFields

public void setUseAllDataSourceFields(Boolean useAllDataSourceFields)
Description copied from interface: DataBoundComponent
If true, the set of fields given by the "default binding" (see fields) is used, with any fields specified in component.fields acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

If component.fields contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

Specified by:
setUseAllDataSourceFields in interface DataBoundComponent
Parameters:
useAllDataSourceFields - useAllDataSourceFields Default value is false

getUseAllDataSourceFields

public Boolean getUseAllDataSourceFields()
Description copied from interface: DataBoundComponent
If true, the set of fields given by the "default binding" (see fields) is used, with any fields specified in component.fields acting as overrides that can suppress or modify the display of individual fields, without having to list the entire set of fields that should be shown.

If component.fields contains fields that are not found in the DataSource, they will be shown after the most recently referred to DataSource field. If the new fields appear first, they will be shown first.

Specified by:
getUseAllDataSourceFields in interface DataBoundComponent
Returns:
Boolean

setShowHiddenFields

public void setShowHiddenFields(Boolean showHiddenFields)
Description copied from interface: DataBoundComponent
Whether to show fields marked hidden:true when a DataBoundComponent is given a DataSource but no component.fields.

The hidden property is used on DataSource fields to mark fields that are never of meaning to an end user.

Specified by:
setShowHiddenFields in interface DataBoundComponent
Parameters:
showHiddenFields - showHiddenFields Default value is false

getShowHiddenFields

public Boolean getShowHiddenFields()
Description copied from interface: DataBoundComponent
Whether to show fields marked hidden:true when a DataBoundComponent is given a DataSource but no component.fields.

The hidden property is used on DataSource fields to mark fields that are never of meaning to an end user.

Specified by:
getShowHiddenFields in interface DataBoundComponent
Returns:
Boolean

setShowComplexFields

public void setShowComplexFields(Boolean showComplexFields)
Description copied from interface: DataBoundComponent
Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no component.fields.

If true, the component will show fields that declare a complex type, for example, a field 'shippingAddress' that declares type 'Address', where 'Address' is the ID of a DataSource that declares the fields of a shipping address (city, street name, etc).

Such fields may need custom formatters or editors in order to create a usable interface, for example, an Address field in a ListGrid might use a custom formatter to combine the relevant fields of an address into one column, and might use a pop-up dialog for editing.

Note : This is an advanced setting

Specified by:
setShowComplexFields in interface DataBoundComponent
Parameters:
showComplexFields - showComplexFields Default value is true

getShowComplexFields

public Boolean getShowComplexFields()
Description copied from interface: DataBoundComponent
Whether to show fields of non-atomic types when a DataBoundComponent is given a DataSource but no component.fields.

If true, the component will show fields that declare a complex type, for example, a field 'shippingAddress' that declares type 'Address', where 'Address' is the ID of a DataSource that declares the fields of a shipping address (city, street name, etc).

Such fields may need custom formatters or editors in order to create a usable interface, for example, an Address field in a ListGrid might use a custom formatter to combine the relevant fields of an address into one column, and might use a pop-up dialog for editing.

Specified by:
getShowComplexFields in interface DataBoundComponent
Returns:
Boolean

setFetchOperation

public void setFetchOperation(String fetchOperation)
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing fetch operations.

Specified by:
setFetchOperation in interface DataBoundComponent
Parameters:
fetchOperation - fetchOperation Default value is null

getFetchOperation

public String getFetchOperation()
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing fetch operations.

Specified by:
getFetchOperation in interface DataBoundComponent
Returns:
String

setUpdateOperation

public void setUpdateOperation(String updateOperation)
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing update operations.

Specified by:
setUpdateOperation in interface DataBoundComponent
Parameters:
updateOperation - updateOperation Default value is null

getUpdateOperation

public String getUpdateOperation()
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing update operations.

Specified by:
getUpdateOperation in interface DataBoundComponent
Returns:
String

setAddOperation

public void setAddOperation(String addOperation)
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing add operations.

Specified by:
setAddOperation in interface DataBoundComponent
Parameters:
addOperation - addOperation Default value is null

getAddOperation

public String getAddOperation()
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing add operations.

Specified by:
getAddOperation in interface DataBoundComponent
Returns:
String

setRemoveOperation

public void setRemoveOperation(String removeOperation)
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing remove operations.

Specified by:
setRemoveOperation in interface DataBoundComponent
Parameters:
removeOperation - removeOperation Default value is null

getRemoveOperation

public String getRemoveOperation()
Description copied from interface: DataBoundComponent
Operation ID this component should use when performing remove operations.

Specified by:
getRemoveOperation in interface DataBoundComponent
Returns:
String

setExportFields

public void setExportFields(String[] exportFields)
Description copied from interface: DataBoundComponent
The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

If exportFields is not provided, the exported output includes all visible fields from this component, sorted as they appear.

Specified by:
setExportFields in interface DataBoundComponent
Parameters:
exportFields - exportFields Default value is null

getExportFields

public String[] getExportFields()
Description copied from interface: DataBoundComponent
The list of field-names to export. If provided, the field-list in the exported output is limited and sorted as per the list.

If exportFields is not provided, the exported output includes all visible fields from this component, sorted as they appear.

Specified by:
getExportFields in interface DataBoundComponent
Returns:
the list of field-names to export.

setExportAll

public void setExportAll(Boolean exportAll)
Description copied from interface: DataBoundComponent
Setting exportAll to true prevents the component from passing its list of fields to the export call. The result is the export of all visible fields from fields.

If exportAll is false, an export operation will first consider exportFields, if it's set, and fall back on all visible fields from fields otherwise.

Specified by:
setExportAll in interface DataBoundComponent
Parameters:
exportAll - exportAll Default value is false

getExportAll

public Boolean getExportAll()
Description copied from interface: DataBoundComponent
Setting exportAll to true prevents the component from passing its list of fields to the export call. The result is the export of all visible fields from fields.

If exportAll is false, an export operation will first consider exportFields, if it's set, and fall back on all visible fields from fields otherwise.

Specified by:
getExportAll in interface DataBoundComponent
Returns:
Boolean

setPreventDuplicates

public void setPreventDuplicates(Boolean preventDuplicates)
                          throws IllegalStateException
Description copied from interface: DataBoundComponent
If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent). When a duplicate transfer is detected, a dialog will appear showing the duplicateDragMessage.

If the component either does not have a DataSource or has a DataSource with no primaryKey declared, duplicate checking is off by default. If duplicate checking is enabled, it looks for an existing record in the dataset that has all of the properties of the dragged record, and considers that a duplicate.

For DragDataAction:"copy" where the target DataSource is related to the source DataSource by foreignKey, a duplicate means that the target list, as filtered by the current criteria, already has a record whose value for the foreignKey field matches the primaryKey of the record being transferred.

For example, consider dragging "employees" to "teams", where "teams" has a field "teams.employeeId" which is a foreignKey pointing to "employees.id", and the target grid has search criteria causing it to show all the members of one team. A duplicate - adding an employee to the same team twice - is when the target grid's dataset contains an record with "employeeId" matching the "id" field of the dropped employee.

Specified by:
setPreventDuplicates in interface DataBoundComponent
Parameters:
preventDuplicates - preventDuplicates Default value is null
Throws:
IllegalStateException - this property cannot be changed after the component has been created

getPreventDuplicates

public Boolean getPreventDuplicates()
Description copied from interface: DataBoundComponent
If set, detect and prevent duplicate records from being transferred to this component, either via drag and drop or via DataBoundComponent.transferSelectedData(com.smartgwt.client.widgets.DataBoundComponent). When a duplicate transfer is detected, a dialog will appear showing the duplicateDragMessage.

If the component either does not have a DataSource or has a DataSource with no primaryKey declared, duplicate checking is off by default. If duplicate checking is enabled, it looks for an existing record in the dataset that has all of the properties of the dragged record, and considers that a duplicate.

For DragDataAction:"copy" where the target DataSource is related to the source DataSource by foreignKey, a duplicate means that the target list, as filtered by the current criteria, already has a record whose value for the foreignKey field matches the primaryKey of the record being transferred.

For example, consider dragging "employees" to "teams", where "teams" has a field "teams.employeeId" which is a foreignKey pointing to "employees.id", and the target grid has search criteria causing it to show all the members of one team. A duplicate - adding an employee to the same team twice - is when the target grid's dataset contains an record with "employeeId" matching the "id" field of the dropped employee.

Specified by:
getPreventDuplicates in interface DataBoundComponent
Returns:
Boolean

setDuplicateDragMessage

public void setDuplicateDragMessage(String duplicateDragMessage)
                             throws IllegalStateException
Description copied from interface: DataBoundComponent
Message to show when a user attempts to transfer duplicate records into this component, and preventDuplicates is enabled. If set to null, duplicates will not be reported and the dragged duplicates will not be saved.

Specified by:
setDuplicateDragMessage in interface DataBoundComponent
Parameters:
duplicateDragMessage - duplicateDragMessage Default value is "Duplicates not allowed"
Throws:
IllegalStateException - this property cannot be changed after the component has been created

getDuplicateDragMessage

public String getDuplicateDragMessage()
Description copied from interface: DataBoundComponent
Message to show when a user attempts to transfer duplicate records into this component, and preventDuplicates is enabled. If set to null, duplicates will not be reported and the dragged duplicates will not be saved.

Specified by:
getDuplicateDragMessage in interface DataBoundComponent
Returns:
String

setAddDropValues

public void setAddDropValues(Boolean addDropValues)
Description copied from interface: DataBoundComponent
Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key. "Drop values" are properties of the dropped item that you wish to change (and persist) as a result of the item being dropped on this grid.

If this value is true and this component is databound, DataBoundComponent.getDropValues() will be called for every databound item dropped on this grid, and an update performed on the item

Specified by:
setAddDropValues in interface DataBoundComponent
Parameters:
addDropValues - addDropValues Default value is true

getAddDropValues

public Boolean getAddDropValues()
Description copied from interface: DataBoundComponent
Indicates whether to add "drop values" to items dropped on this component, if both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key. "Drop values" are properties of the dropped item that you wish to change (and persist) as a result of the item being dropped on this grid.

If this value is true and this component is databound, DataBoundComponent.getDropValues() will be called for every databound item dropped on this grid, and an update performed on the item

Specified by:
getAddDropValues in interface DataBoundComponent
Returns:
Boolean

setDropValues

public void setDropValues(Map dropValues)
Description copied from interface: DataBoundComponent
When an item is dropped on this component, and addDropValues is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.

If this property is not defined, Smart GWT defaults to returning the selection criteria currently in place for this component. Thus, any databound items (for example, rows from other grids bound to the same DataSource) dropped on the grid will, by default, be subjected to an update that makes them conform to the grid's current filter criteria.

Note : This is an advanced setting

Specified by:
setDropValues in interface DataBoundComponent
Parameters:
dropValues - dropValues Default value is null

getDropValues

public Map getDropValues()
Description copied from interface: DataBoundComponent
When an item is dropped on this component, and addDropValues is true and both the source and target widgets are databound, either to the same DataSource or to different DataSources that are related via a foreign key, this object provides the "drop values" that Smart GWT will apply to the dropped object before updating it.

If this property is not defined, Smart GWT defaults to returning the selection criteria currently in place for this component. Thus, any databound items (for example, rows from other grids bound to the same DataSource) dropped on the grid will, by default, be subjected to an update that makes them conform to the grid's current filter criteria.

Note : This is an advanced setting

Specified by:
getDropValues in interface DataBoundComponent
Returns:
Returns the "drop values" to apply to a record dropped on this component prior to update. Only applicable to databound components - see dropValues for more details. If multiple records are being dropped, this method is called for each of them in turn.

This method returns the following:

  • Nothing, if addDropValues is false
  • dropValues, if that property is set. If the component's criteria object is applicable (as explained in the next item), it is merged into dropValues, with properties in dropValues taking precedence.
  • The component's criteria object, if the most recent textMatchStyle for the component was "exact" and it is simple criteria (ie, not an AdvancedCriteria object)
  • Otherwise nothing

You can override this method if you need more complex setting of drop values than can be provided by simply supplying a dropValues object.


setProgressiveLoading

public void setProgressiveLoading(Boolean progressiveLoading)
Indicates whether or not this component will load its data progressively

Parameters:
progressiveLoading -
See Also:
ProgressiveLoading, DataSource.setProgressiveLoading(java.lang.Boolean)

getProgressiveLoading

public Boolean getProgressiveLoading()
Indicates whether or not this component will load its data progressively

Returns:
See Also:
ProgressiveLoading, DataSource.getProgressiveLoading()

setUseFlatFields

public void setUseFlatFields(Boolean useFlatFields)
                      throws IllegalStateException
Description copied from interface: DataBoundComponent
The useFlatFields flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.

useFlatFields is typically used with imported metadata, such as XMLTools.loadXMLSchema(java.lang.String, com.smartgwt.client.data.XSDLoadCallback) from a XMLTools.loadWSDL(java.lang.String, com.smartgwt.client.data.WSDLLoadCallback), as a means of eliminating levels of XML nesting that aren't meaningful in a user interface, without the cumbersome and fragile process of mapping form fields to XML structures.

For example, having called WebService.getInputDS(java.lang.String) to retrieve the input message schema for a web service operation whose input message looks like this:

 <FindServices>
     <searchFor>search text</searchFor>
     <Options>
         <caseSensitive>false</caseSensitive>
     </Options>
     <IncludeInSearch>
         <serviceName>true</serviceName>
         <documentation>true</documentation>
         <keywords>true</keywords>
     </IncludeInSearch>
 </FindServices>
 
Setting useFlatFields on a DynamicForm that is bound to this input message schema would result in 5 FormItem reflecting the 5 simple type fields in the message.

For this form, the result of DynamicForm.getValues() might look like:

{
    searchFor: "search text",
    caseSensitive: false,
    serviceName: true,
    documentation : true,
    keywords : true
 }
When contacting a WebService, these values can be automatically mapped to the structure of the input message for a web service operation by setting useFlatFields (for use with WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)) or by setting useFlatFields (for use with a DataSource that is 'bound to a WSDL web service' via wsOperation).

Using these two facilities in conjunction (component.useFlatFields and request.useFlatFields) allows gratuitous nesting to be consistently bypassed in both the user presentation and when providing the data for XML messages.

You can also set useFlatFields to automatically enable "flattened" XML serialization (request.useFlatFields) for all DataSource requests of a particular operationType.

Note that useFlatFields is not generally recommended for use with structures where multiple simple type fields exist with the same name, however if used with such a structure, the first field to use a given name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will be present as a field when data binding.

Specified by:
setUseFlatFields in interface DataBoundComponent
Parameters:
useFlatFields - useFlatFields Default value is null
Throws:
IllegalStateException - this property cannot be changed after the component has been created

getUseFlatFields

public Boolean getUseFlatFields()
Description copied from interface: DataBoundComponent
The useFlatFields flag causes all simple type fields anywhere in a nested set of DataSources to be exposed as a flat list for form binding.

useFlatFields is typically used with imported metadata, such as XMLTools.loadXMLSchema(java.lang.String, com.smartgwt.client.data.XSDLoadCallback) from a XMLTools.loadWSDL(java.lang.String, com.smartgwt.client.data.WSDLLoadCallback), as a means of eliminating levels of XML nesting that aren't meaningful in a user interface, without the cumbersome and fragile process of mapping form fields to XML structures.

For example, having called WebService.getInputDS(java.lang.String) to retrieve the input message schema for a web service operation whose input message looks like this:

 <FindServices>
     <searchFor>search text</searchFor>
     <Options>
         <caseSensitive>false</caseSensitive>
     </Options>
     <IncludeInSearch>
         <serviceName>true</serviceName>
         <documentation>true</documentation>
         <keywords>true</keywords>
     </IncludeInSearch>
 </FindServices>
 
Setting useFlatFields on a DynamicForm that is bound to this input message schema would result in 5 FormItem reflecting the 5 simple type fields in the message.

For this form, the result of DynamicForm.getValues() might look like:

{
    searchFor: "search text",
    caseSensitive: false,
    serviceName: true,
    documentation : true,
    keywords : true
 }
When contacting a WebService, these values can be automatically mapped to the structure of the input message for a web service operation by setting useFlatFields (for use with WebService.callOperation(java.lang.String, java.util.Map, java.lang.String, com.smartgwt.client.data.WebServiceCallback)) or by setting useFlatFields (for use with a DataSource that is 'bound to a WSDL web service' via wsOperation).

Using these two facilities in conjunction (component.useFlatFields and request.useFlatFields) allows gratuitous nesting to be consistently bypassed in both the user presentation and when providing the data for XML messages.

You can also set useFlatFields to automatically enable "flattened" XML serialization (request.useFlatFields) for all DataSource requests of a particular operationType.

Note that useFlatFields is not generally recommended for use with structures where multiple simple type fields exist with the same name, however if used with such a structure, the first field to use a given name wins. "first" means the first field encountered in a depth first search. "wins" means only the first field will be present as a field when data binding.

Specified by:
getUseFlatFields in interface DataBoundComponent
Returns:
Boolean

setHiliteProperty

public void setHiliteProperty(String hiliteProperty)
Description copied from interface: DataBoundComponent
Marker that can be set on a record to flag that record as hilited. Should be set to a value that matches id for a hilite defined on this component.

Specified by:
setHiliteProperty in interface DataBoundComponent
Parameters:
hiliteProperty - hiliteProperty Default value is "_hilite"

getHiliteProperty

public String getHiliteProperty()
Description copied from interface: DataBoundComponent
Marker that can be set on a record to flag that record as hilited. Should be set to a value that matches id for a hilite defined on this component.

Specified by:
getHiliteProperty in interface DataBoundComponent
Returns:
String

editFields

public void editFields()
Shows a FieldPicker interface allowing end-users to rearrange the order and visibiility of the fields in the associated DataBoundComponent.


editHilites

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

Specified by:
editHilites in interface DataBoundComponent

getHiliteState

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

Specified by:
getHiliteState in interface DataBoundComponent
Returns:
the hilite state

setHiliteState

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

Specified by:
setHiliteState in interface DataBoundComponent
Parameters:
hiliteState - hilites state encoded as a String

setHilites

public void setHilites(Hilite[] hilites)
Accepts an array of hilite objects and applies them to this DataBoundComponent. See also getHilites for a method of retrieving the hilite array for storage, including hilites manually added by the user.

Specified by:
setHilites in interface DataBoundComponent
Parameters:
hilites - array of hilite objects

getHilites

public Hilite[] getHilites()
Return the set of hilite-objects currently applied to this DataBoundComponent. These can be saved for storage and then restored to a component later via setHilites().

Specified by:
getHilites in interface DataBoundComponent
Returns:
array of hilite objects

setDragDataAction

public void setDragDataAction(DragDataAction dragDataAction)
Description copied from interface: DataBoundComponent
Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.

Specified by:
setDragDataAction in interface DataBoundComponent
Parameters:
dragDataAction - dragDataAction Default value is Canvas.MOVE

getDragDataAction

public DragDataAction getDragDataAction()
Description copied from interface: DataBoundComponent
Indicates what to do with data dragged into another DataBoundComponent. See DragDataAction type for details.

Specified by:
getDragDataAction in interface DataBoundComponent
Returns:
DragDataAction

setDragTrackerStyle

public void setDragTrackerStyle(String dragTrackerStyle)
Description copied from interface: DataBoundComponent
CSS Style to apply to the drag tracker when dragging occurs on this component.

Specified by:
setDragTrackerStyle in interface DataBoundComponent
Parameters:
dragTrackerStyle - dragTrackerStyle Default value is "gridDragTracker"

getDragTrackerStyle

public String getDragTrackerStyle()
Description copied from interface: DataBoundComponent
CSS Style to apply to the drag tracker when dragging occurs on this component.

Specified by:
getDragTrackerStyle in interface DataBoundComponent
Returns:
String

setCanAddFormulaFields

public void setCanAddFormulaFields(Boolean canAddFormulaFields)
Description copied from interface: DataBoundComponent
Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the com.smartgwt.client..FormulaBuilder.

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

Specified by:
setCanAddFormulaFields in interface DataBoundComponent
Parameters:
canAddFormulaFields - canAddFormulaFields Default value is false

addSummaryField

public void addSummaryField()
Description copied from interface: DataBoundComponent
Convenience method to display a com.smartgwt.client..SummaryBuilder to create a new Summary Field. This is equivalent to calling DataBoundComponentGen#editSummaryField with no parameter.

Specified by:
addSummaryField in interface DataBoundComponent

addFormulaField

public void addFormulaField()
Description copied from interface: DataBoundComponent
Convenience method to display a com.smartgwt.client..FormulaBuilder to create a new Formula Field. This is equivalent to calling DataBoundComponentGen#editFormulaField with no parameter.

Specified by:
addFormulaField in interface DataBoundComponent

getCanAddFormulaFields

public Boolean getCanAddFormulaFields()
Description copied from interface: DataBoundComponent
Adds an item to the header context menu allowing users to launch a dialog to define a new field based on values present in other fields, using the com.smartgwt.client..FormulaBuilder.

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

Specified by:
getCanAddFormulaFields in interface DataBoundComponent
Returns:
Boolean

setAddFormulaFieldText

public void setAddFormulaFieldText(String addFormulaFieldText)
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to add a formula field

Specified by:
setAddFormulaFieldText in interface DataBoundComponent
Parameters:
addFormulaFieldText - addFormulaFieldText Default value is "Add formula column..."

getAddFormulaFieldText

public String getAddFormulaFieldText()
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to add a formula field

Specified by:
getAddFormulaFieldText in interface DataBoundComponent
Returns:
String

setEditFormulaFieldText

public void setEditFormulaFieldText(String editFormulaFieldText)
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to edit a formula field

Specified by:
setEditFormulaFieldText in interface DataBoundComponent
Parameters:
editFormulaFieldText - editFormulaFieldText Default value is "Edit formula..."

getEditFormulaFieldText

public String getEditFormulaFieldText()
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to edit a formula field

Specified by:
getEditFormulaFieldText in interface DataBoundComponent
Returns:
String

setCanAddSummaryFields

public void setCanAddSummaryFields(Boolean canAddSummaryFields)
Description copied from interface: DataBoundComponent
Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the com.smartgwt.client..SummaryBuilder.

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

Specified by:
setCanAddSummaryFields in interface DataBoundComponent
Parameters:
canAddSummaryFields - canAddSummaryFields Default value is false

getCanAddSummaryFields

public Boolean getCanAddSummaryFields()
Description copied from interface: DataBoundComponent
Adds an item to the header context menu allowing users to launch a dialog to define a new text field that can contain both user-defined text and the formatted values present in other fields, using the com.smartgwt.client..SummaryBuilder.

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

Specified by:
getCanAddSummaryFields in interface DataBoundComponent
Returns:
Boolean

setAddSummaryFieldText

public void setAddSummaryFieldText(String addSummaryFieldText)
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to add a formula field

Specified by:
setAddSummaryFieldText in interface DataBoundComponent
Parameters:
addSummaryFieldText - addSummaryFieldText Default value is "Add summary column..."

getAddSummaryFieldText

public String getAddSummaryFieldText()
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to add a formula field

Specified by:
getAddSummaryFieldText in interface DataBoundComponent
Returns:
String

setEditSummaryFieldText

public void setEditSummaryFieldText(String editSummaryFieldText)
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to edit the formatter for a field

Specified by:
setEditSummaryFieldText in interface DataBoundComponent
Parameters:
editSummaryFieldText - editSummaryFieldText Default value is "Edit summary format..."

getEditSummaryFieldText

public String getEditSummaryFieldText()
Description copied from interface: DataBoundComponent
Text for a menu item allowing users to edit the formatter for a field

Specified by:
getEditSummaryFieldText in interface DataBoundComponent
Returns:
String

findAll

public Record[] findAll(AdvancedCriteria adCriteria)
Filters all objects according to the AdvancedCriteria passed

Parameters:
adCriteria - AdvancedCriteria to use to filter results
Returns:
all matching Objects or null if none found

find

public Record find(AdvancedCriteria adCriteria)
Filters all objects according to the AdvancedCriteria passed and returns the first matching object or null if not found

Parameters:
adCriteria - AdvancedCriteria to use to filter results
Returns:
first matching object or null if not found

findIndex

public int findIndex(AdvancedCriteria adCriteria)
Finds the index of the first Record that matches with the AdvacendCriteria passed.

Parameters:
adCriteria - AdvancedCriteria to use to filter results
Returns:
index of the first matching Record or -1 if not found

findNextIndex

public int findNextIndex(int startIndex,
                         AdvancedCriteria adCriteria,
                         int endIndex)
Like RecordList.findIndex(java.util.Map), but considering the startIndex and endIndex parameters.

Parameters:
startIndex - first index to consider
adCriteria - AdvancedCriteria to use to filter results
endIndex - last index to consider
Returns:
index of the first matching Record or -1 if not found

findNextIndex

public int findNextIndex(int startIndex,
                         AdvancedCriteria adCriteria)
Like RecordList.findIndex(java.util.Map), but considering the startIndex parameter.

Parameters:
startIndex - first index to consider
adCriteria - AdvancedCriteria to use to filter results
Returns:
index of the first matching Record or -1 if not found

selectRecord

public void selectRecord(Record record)
Description copied from interface: DataBoundComponent
Select/deselect a Record passed in explicitly, or by index.

Specified by:
selectRecord in interface DataBoundComponent
Parameters:
record - record (or row number) to select

selectRecord

public void selectRecord(int record)
Description copied from interface: DataBoundComponent
Select/deselect a Record passed in explicitly, or by index.

Specified by:
selectRecord in interface DataBoundComponent
Parameters:
record - record (or row number) to select

selectRecord

public void selectRecord(int record,
                         boolean newState)
Description copied from interface: DataBoundComponent
Select/deselect a Record passed in explicitly, or by index.

Specified by:
selectRecord in interface DataBoundComponent
Parameters:
record - record (or row number) to select
newState - new selection state (if null, defaults to true)

selectRecord

public void selectRecord(Record record,
                         boolean newState)
Description copied from interface: DataBoundComponent
Select/deselect a Record passed in explicitly, or by index.

Specified by:
selectRecord in interface DataBoundComponent
Parameters:
record - record (or row number) to select
newState - new selection state (if null, defaults to true)

selectRecords

public void selectRecords(int[] records)
Description copied from interface: DataBoundComponent
Select/deselect a list of Records passed in explicitly, or by index.

Specified by:
selectRecords in interface DataBoundComponent
Parameters:
records - records (or row numbers) to select

selectRecords

public void selectRecords(int[] records,
                          boolean newState)
Description copied from interface: DataBoundComponent
Select/deselect a list of Records passed in explicitly, or by index.

Specified by:
selectRecords in interface DataBoundComponent
Parameters:
records - records (or row numbers) to select
newState - new selection state

selectRecords

public void selectRecords(Record[] records)
Description copied from interface: DataBoundComponent
Select/deselect a list of Records passed in explicitly, or by index.

Specified by:
selectRecords in interface DataBoundComponent
Parameters:
records - records (or row numbers) to select

selectRecords

public void selectRecords(Record[] records,
                          boolean newState)
Description copied from interface: DataBoundComponent
Select/deselect a list of Records passed in explicitly, or by index.

Specified by:
selectRecords in interface DataBoundComponent
Parameters:
records - records (or row numbers) to select
newState - new selection state (if null, defaults to true)

deselectRecord

public void deselectRecord(Record record)
Description copied from interface: DataBoundComponent
Deselect a Record passed in explicitly, or by index.

Synonym for selectRecord(record, false)

Specified by:
deselectRecord in interface DataBoundComponent
Parameters:
record - record (or row number) to deselect

deselectRecord

public void deselectRecord(int record)
Description copied from interface: DataBoundComponent
Deselect a Record passed in explicitly, or by index.

Synonym for selectRecord(record, false)

Specified by:
deselectRecord in interface DataBoundComponent
Parameters:
record - record (or row number) to deselect

deselectRecords

public void deselectRecords(int[] records)
Description copied from interface: DataBoundComponent
Deselect a list of Records passed in explicitly, or by index.

Synonym for selectRecords(records, false)

Specified by:
deselectRecords in interface DataBoundComponent
Parameters:
records - records (or row numbers) to deselect

deselectRecords

public void deselectRecords(Record[] records)
Description copied from interface: DataBoundComponent
Deselect a list of Records passed in explicitly, or by index.

Synonym for selectRecords(records, false)

Specified by:
deselectRecords in interface DataBoundComponent
Parameters:
records - records (or row numbers) to deselect

selectAllRecords

public void selectAllRecords()
Description copied from interface: DataBoundComponent
Select all records

Specified by:
selectAllRecords in interface DataBoundComponent

deselectAllRecords

public void deselectAllRecords()
Description copied from interface: DataBoundComponent
Deselect all records

Specified by:
deselectAllRecords in interface DataBoundComponent

anySelected

public Boolean anySelected()
Description copied from interface: DataBoundComponent
Whether at least one item is selected

Specified by:
anySelected in interface DataBoundComponent
Returns:
true == at least one item is selected false == nothing at all is selected

enableHilite

public void enableHilite(String hiliteID)
Description copied from interface: DataBoundComponent
Enable / disable a hilites

Specified by:
enableHilite in interface DataBoundComponent
Parameters:
hiliteID - ID of hilite to enable

enableHilite

public void enableHilite(String hiliteID,
                         boolean enable)
Description copied from interface: DataBoundComponent
Enable / disable a hilites

Specified by:
enableHilite in interface DataBoundComponent
Parameters:
hiliteID - ID of hilite to enable
enable - new enabled state to apply - if null, defaults to true

disableHilite

public void disableHilite(String hiliteID)
Description copied from interface: DataBoundComponent
Disable a hilite

Specified by:
disableHilite in interface DataBoundComponent
Parameters:
hiliteID - ID of hilite to disable

enableHiliting

public void enableHiliting()
Description copied from interface: DataBoundComponent
Enable all hilites.

Specified by:
enableHiliting in interface DataBoundComponent

enableHiliting

public void enableHiliting(boolean enable)
Description copied from interface: DataBoundComponent
Enable all hilites.

Specified by:
enableHiliting in interface DataBoundComponent
Parameters:
enable - new enabled state to apply - if null, defaults to true

disableHiliting

public void disableHiliting()
Description copied from interface: DataBoundComponent
Disable all hilites.

Specified by:
disableHiliting in interface DataBoundComponent

getDragData

public Record[] getDragData()
Description copied from interface: DataBoundComponent
During a drag-and-drop interaction, this method returns the set of records being dragged out of the component. In the default implementation, this is the list of currently selected records.

This method is consulted by ListGrid.willAcceptDrop().

Specified by:
getDragData in interface DataBoundComponent
Returns:
Array of Records that are currently selected.

transferSelectedData

public void transferSelectedData(DataBoundComponent source)
Description copied from interface: DataBoundComponent
Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction. This method acts on the dropped records exactly as if they had been dropped in an actual drag / drop interaction, including any special databound behavior invoked by calling DataBoundComponent.getDropValues() for each dropped record.

To transfer all data in, for example, a ListGrid, call grid.selection.selectAll() first.

Note that drag/drop type transfers of records between components are asynchronous operations: Smart GWT may need to perform server turnarounds to establish whether dropped records already exist in the target component. Therefore, it is possible to issue a call to transferSelectedData() and/or the drop() method of a databound component whilst a transfer is still active. When this happens, Smart GWT adds the second and subsequent transfer requests to a queue and runs them one after the other. If you want to be notified when a transfer process has actually completed, use addDropCompleteHandler. See the Dragging documentation for an overview of list grid drag/drop data transfer.

Specified by:
transferSelectedData in interface DataBoundComponent
Parameters:
source - source component from which the records will be tranferred

transferSelectedData

public void transferSelectedData(DataBoundComponent source,
                                 int index)
Description copied from interface: DataBoundComponent
Simulates a drag / drop type transfer of the selected records in some other component to this component, without requiring any user interaction. This method acts on the dropped records exactly as if they had been dropped in an actual drag / drop interaction, including any special databound behavior invoked by calling DataBoundComponent.getDropValues() for each dropped record.

To transfer all data in, for example, a ListGrid, call grid.selection.selectAll() first.

Note that drag/drop type transfers of records between components are asynchronous operations: Smart GWT may need to perform server turnarounds to establish whether dropped records already exist in the target component. Therefore, it is possible to issue a call to transferSelectedData() and/or the drop() method of a databound component whilst a transfer is still active. When this happens, Smart GWT adds the second and subsequent transfer requests to a queue and runs them one after the other. If you want to be notified when a transfer process has actually completed, use addDropCompleteHandler. See the Dragging documentation for an overview of list grid drag/drop data transfer.

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

getRecordIndex

public int getRecordIndex(Record record)
Description copied from interface: DataBoundComponent
Get the index of the provided record.

Override in subclasses to provide more specific behaviour, for instance, when data holds a large number of records

Specified by:
getRecordIndex in interface DataBoundComponent
Parameters:
record - the record whose index is to be retrieved
Returns:
indexindex of the record, or -1 if not found

getTitleFieldValue

public String getTitleFieldValue(Record record)
Description copied from interface: DataBoundComponent
Get the value of the titleField for the passed record

Override in subclasses

Specified by:
getTitleFieldValue in interface DataBoundComponent
Parameters:
record - the record whose index is to be retrieved
Returns:
valuethe value of the titleField for the passed record

setTitleField

public void setTitleField(String titleField)
Description copied from interface: DataBoundComponent
Sets the best field to use for a user-visible title for an individual record from this component.

Specified by:
setTitleField in interface DataBoundComponent

getTitleField

public String getTitleField()
Description copied from interface: DataBoundComponent
Method to return the fieldName which represents the "title" for records in this Component.
If this.titleField is explicitly specified it will always be used. Otherwise, default implementation will check titleField for databound components.
For non databound components returns the first defined field name of "title", "name", or "id". If we dont find any field-names that match these titles, the first field in the component will be used instead.

Specified by:
getTitleField in interface DataBoundComponent
Returns:
fieldName the title field for this component.

setDataSource

public void setDataSource(DataSource dataSource)
Description copied from interface: DataBoundComponent
Bind to a DataSource. Binding to a DataSource means that the component will use the DataSource to provide default data for its fields.

When binding a previously-bound componenet to a new DataSource, if the component has any existing "fields" or has a dataset, these will be discarded by default, since it is assumed the new DataSource may represent a completely unrelated set of objects. If the old "fields" are still relevant, you may be able to refer to setDataSource(dataSource, fields) as an alternative method if the widget has an implementation of it.

Specified by:
setDataSource in interface DataBoundComponent
Parameters:
dataSource - DataSource to bind to. Default value is null

getDataSource

public DataSource getDataSource()
Description copied from interface: DataBoundComponent
The DataSource that this component should bind to for default fields and for performing DataSource requests.

Specified by:
getDataSource in interface DataBoundComponent
Returns:
DataSource

setAutoFetchData

public void setAutoFetchData(Boolean autoFetchData)
                      throws IllegalStateException
Description copied from interface: DataBoundComponent
If true, when this component is first drawn, automatically call DataBoundComponent.fetchData() or DataBoundComponent.filterData() depending on DataBoundComponent.getAutoFetchAsFilter() . Criteria for this fetch may be picked up from initialCriteria and textMatchStyle may be specified via DataBoundComponent.getAutoFetchTextMatchStyle().

NOTE: If autoFetchData is set, calling ListGrid.fetchData() before draw will cause two requests to be issued, one from the manual call to fetchData() and one from the autoFetchData setting. The second request will use only initialCriteria and not any other criteria or settings from the first request. Generally, turn off autoFetchData if you are going to manually call fetchData() at any time.

Specified by:
setAutoFetchData in interface DataBoundComponent
Parameters:
autoFetchData - autoFetchData
Throws:
IllegalStateException

getAutoFetchData

public Boolean getAutoFetchData()
Description copied from interface: DataBoundComponent
If true, when this component is first drawn, automatically call DataBoundComponent.fetchData() or DataBoundComponent.filterData() depending on DataBoundComponent.getAutoFetchAsFilter() . Criteria for this fetch may be picked up from initialCriteria and textMatchStyle may be specified via DataBoundComponent.getAutoFetchTextMatchStyle().

NOTE: If autoFetchData is set, calling ListGrid.fetchData() before draw will cause two requests to be issued, one from the manual call to fetchData() and one from the autoFetchData setting. The second request will use only initialCriteria and not any other criteria or settings from the first request. Generally, turn off autoFetchData if you are going to manually call fetchData() at any time.

Specified by:
getAutoFetchData in interface DataBoundComponent
Returns:
autoFetchData autoFetchData

setAutoFetchTextMatchStyle

public void setAutoFetchTextMatchStyle(TextMatchStyle autoFetchTextMatchStyle)
                                throws IllegalStateException
Description copied from interface: DataBoundComponent
If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial DataBoundComponent.fetchData() call.

Specified by:
setAutoFetchTextMatchStyle in interface DataBoundComponent
Throws:
IllegalStateException

getAutoFetchTextMatchStyle

public TextMatchStyle getAutoFetchTextMatchStyle()
Description copied from interface: DataBoundComponent
If autoFetchData is true, this attribute allows the developer to specify a textMatchStyle for the initial DataBoundComponent.fetchData() call.

Specified by:
getAutoFetchTextMatchStyle in interface DataBoundComponent
Returns:
autoFetchTextMatchStyle autoFetchTextMatchStyle

setAutoFetchAsFilter

public void setAutoFetchAsFilter(Boolean autoFetchAsFilter)
                          throws IllegalStateException
Description copied from interface: DataBoundComponent
If DataBoundComponent.setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via DataBoundComponent.fetchData() or DataBoundComponent.filterData()

Specified by:
setAutoFetchAsFilter in interface DataBoundComponent
Parameters:
autoFetchAsFilter - autoFetchAsFilter
Throws:
IllegalStateException

getAutoFetchAsFilter

public Boolean getAutoFetchAsFilter()
Description copied from interface: DataBoundComponent
If DataBoundComponent.setAutoFetchData(Boolean) is true, this attribute determines whether the initial fetch operation should be performed via DataBoundComponent.fetchData() or DataBoundComponent.filterData()

Specified by:
getAutoFetchAsFilter in interface DataBoundComponent
Returns:
auto fetch as filter

setInitialCriteria

public void setInitialCriteria(Criteria initialCriteria)
                        throws IllegalStateException
Description copied from interface: DataBoundComponent
Criteria to use when DataBoundComponent.setAutoFetchData(Boolean) is used.

Specified by:
setInitialCriteria in interface DataBoundComponent
Parameters:
initialCriteria - the initial criteria
Throws:
IllegalStateException - this property cannot be changed after the component has been created

getInitialCriteria

public Criteria getInitialCriteria()
Description copied from interface: DataBoundComponent
Criteria to use when DataBoundComponent.setAutoFetchData(Boolean) is used.

Specified by:
getInitialCriteria in interface DataBoundComponent
Returns:
the criteria

fetchData

public void fetchData()
Description copied from interface: DataBoundComponent
Retrieves data from the DataSource that matches the specified criteria.

When fetchData() is first called, if data has not already been provided via setData(), this method will create a ResultSet, which will be configured based on component settings such as fetchOperation and dataPageSize, as well as the general purpose dataProperties. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

NOTE: do not use both autoFetchData and a call to fetchData() - this may result in two DSRequests to fetch data. Use either autoFetchData and setAutoFetchCriteria() or a manual call to fetchData() passing criteria.

Whether a ResultSet was automatically created or provided via setData(), subsequent calls to fetchData() will simply call resultSet.setCriteria().

Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call willFetchData(criteria) to determine if new criteria will result in a server fetch.

If you need to force data to be re-fetched, you can call invalidateCache() and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using invalidateCache() there is no need to also call fetchData() and in fact this could produce unexpected results.

This method takes an optional callback parameter (set to a DSCallback) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use resultSet.willFetchData() to determine whether or not a server fetch will occur when fetchData() is called with new criteria.

In addition to the callback parameter for this method, developers can use resultSet.addDataArrivedHandler to be notified every time data is loaded.

Specified by:
fetchData in interface DataBoundComponent

fetchData

public void fetchData(Criteria criteria)
Description copied from interface: DataBoundComponent
Retrieves data from the DataSource that matches the specified criteria.

When fetchData() is first called, if data has not already been provided via setData(), this method will create a ResultSet, which will be configured based on component settings such as fetchOperation and dataPageSize, as well as the general purpose dataProperties. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

NOTE: do not use both autoFetchData and a call to fetchData() - this may result in two DSRequests to fetch data. Use either autoFetchData and setAutoFetchCriteria() or a manual call to fetchData() passing criteria.

Whether a ResultSet was automatically created or provided via setData(), subsequent calls to fetchData() will simply call resultSet.setCriteria().

Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call willFetchData(criteria) to determine if new criteria will result in a server fetch.

If you need to force data to be re-fetched, you can call invalidateCache() and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using invalidateCache() there is no need to also call fetchData() and in fact this could produce unexpected results.

This method takes an optional callback parameter (set to a DSCallback) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use resultSet.willFetchData() to determine whether or not a server fetch will occur when fetchData() is called with new criteria.

In addition to the callback parameter for this method, developers can use resultSet.addDataArrivedHandler to be notified every time data is loaded.

Specified by:
fetchData in interface DataBoundComponent
Parameters:
criteria - Search criteria. If a DynamicForm is passed in as this argument instead of a raw criteria object, will be derived by calling DynamicForm.getValuesAsCriteria()

fetchData

public void fetchData(Criteria criteria,
                      DSCallback callback)
Description copied from interface: DataBoundComponent
Retrieves data from the DataSource that matches the specified criteria.

When fetchData() is first called, if data has not already been provided via setData(), this method will create a ResultSet, which will be configured based on component settings such as fetchOperation and dataPageSize, as well as the general purpose dataProperties. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

NOTE: do not use both autoFetchData and a call to fetchData() - this may result in two DSRequests to fetch data. Use either autoFetchData and setAutoFetchCriteria() or a manual call to fetchData() passing criteria.

Whether a ResultSet was automatically created or provided via setData(), subsequent calls to fetchData() will simply call resultSet.setCriteria().

Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call willFetchData(criteria) to determine if new criteria will result in a server fetch.

If you need to force data to be re-fetched, you can call invalidateCache() and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using invalidateCache() there is no need to also call fetchData() and in fact this could produce unexpected results.

This method takes an optional callback parameter (set to a DSCallback) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use resultSet.willFetchData() to determine whether or not a server fetch will occur when fetchData() is called with new criteria.

In addition to the callback parameter for this method, developers can use resultSet.addDataArrivedHandler to be notified every time data is loaded.

Specified by:
fetchData in interface DataBoundComponent
Parameters:
criteria - Search criteria. If a DynamicForm is passed in as this argument instead of a raw criteria object, will be derived by calling DynamicForm.getValuesAsCriteria()
callback - callback to invoke when a fetch is complete. Fires only if server contact was required

fetchData

public void fetchData(Criteria criteria,
                      DSCallback callback,
                      DSRequest requestProperties)
Description copied from interface: DataBoundComponent
Retrieves data from the DataSource that matches the specified criteria.

When fetchData() is first called, if data has not already been provided via setData(), this method will create a ResultSet, which will be configured based on component settings such as fetchOperation and dataPageSize, as well as the general purpose dataProperties. The created ResultSet will automatically send a DSRequest to retrieve data from the dataSource, and from then on will automatically manage paging through large datasets, as well as performing filtering and sorting operations inside the browser when possible - see the ResultSet docs for details.

NOTE: do not use both autoFetchData and a call to fetchData() - this may result in two DSRequests to fetch data. Use either autoFetchData and setAutoFetchCriteria() or a manual call to fetchData() passing criteria.

Whether a ResultSet was automatically created or provided via setData(), subsequent calls to fetchData() will simply call resultSet.setCriteria().

Changes to criteria may or may not result in a DSRequest to the server due to client-side filtering. You can call willFetchData(criteria) to determine if new criteria will result in a server fetch.

If you need to force data to be re-fetched, you can call invalidateCache() and new data will automatically be fetched from the server using the current criteria and sort direction. NOTE: when using invalidateCache() there is no need to also call fetchData() and in fact this could produce unexpected results.

This method takes an optional callback parameter (set to a DSCallback) to fire when the fetch completes. Note that this callback will not fire if no server fetch is performed. In this case the data is updated synchronously, so as soon as this method completes you can interact with the new data. If necessary, you can use resultSet.willFetchData() to determine whether or not a server fetch will occur when fetchData() is called with new criteria.

In addition to the callback parameter for this method, developers can use resultSet.addDataArrivedHandler to be notified every time data is loaded.

Specified by:
fetchData in interface DataBoundComponent
Parameters:
criteria - Search criteria. If a DynamicForm is passed in as this argument instead of a raw criteria object, will be derived by calling DynamicForm.getValuesAsCriteria()
callback - callback to invoke when a fetch is complete. Fires only if server contact was required
requestProperties - additional properties to set on the DSRequest that will be issued

filterData

public void filterData()
Description copied from interface: DataBoundComponent
Retrieves data that matches the provided criteria and displays the matching data in this component.

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

Specified by:
filterData in interface DataBoundComponent

filterData

public void filterData(Criteria criteria)
Description copied from interface: DataBoundComponent
Retrieves data that matches the provided criteria and displays the matching data in this component.

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

Specified by:
filterData in interface DataBoundComponent
Parameters:
criteria - Search criteria. If a DynamicForm is passed in as this argument instead of a raw criteria object, will be derived by calling DynamicForm.getValuesAsCriteria()

filterData

public void filterData(Criteria criteria,
                       DSCallback callback)
Description copied from interface: DataBoundComponent
Retrieves data that matches the provided criteria and displays the matching data in this component.

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

Specified by:
filterData in interface DataBoundComponent
Parameters:
criteria - Search criteria. If a DynamicForm is passed in as this argument instead of a raw criteria object, will be derived by calling DynamicForm.getValuesAsCriteria()
callback - callback to invoke when a fetch is complete. Fires only if server contact was required; see DataBoundComponent.fetchData() for details

filterData

public void filterData(Criteria criteria,
                       DSCallback callback,
                       DSRequest requestProperties)
Description copied from interface: DataBoundComponent
Retrieves data that matches the provided criteria and displays the matching data in this component.

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

Specified by:
filterData in interface DataBoundComponent
Parameters:
criteria - Search criteria. If a DynamicForm is passed in as this argument instead of a raw criteria object, will be derived by calling DynamicForm.getValuesAsCriteria()
callback - callback to invoke when a fetch is complete. Fires only if server contact was required; see DataBoundComponent.fetchData() for details
requestProperties - for databound components only - optional additional properties to set on the DSRequest that will be issued

invalidateCache

public void invalidateCache()
Description copied from interface: DataBoundComponent
Invalidate the current data cache for this databound component via a call to this.data.invalidateCache(). If necessary, this will cause a new fetch to be performed with the current set of criteria for this component.

Has no effect if this component is not showing a set of filtered data.

Specified by:
invalidateCache in interface DataBoundComponent

getResultSet

public ResultSet getResultSet()
Description copied from interface: DataBoundComponent
Return the underlying data of this DataBoundComponent as a ResultSet.

Note that this method should only be called after initial data has been fetched by this DataBoundComponent.

Specified by:
getResultSet in interface DataBoundComponent
Returns:
ResultSet, or null if the underlying data is not a ResultSet
See Also:
DataBoundComponent.fetchData()

getRecordList

public RecordList getRecordList()
Description copied from interface: DataBoundComponent
Return the underlying data of this DataBoundComponent as a RecordList.

Depending on the component configuration, the actual JavaScript instance of the returned RecordList may be one of several types:

The underlying type determines the structure of the returned data. An Array or ResultSet represents a list of records, but a Tree or ResultTree represents a list of open rows in the tree, including groups or other nodes which contain no records.

Specified by:
getRecordList in interface DataBoundComponent
Returns:
the RecordList

getDataAsJSList

public JavaScriptObject getDataAsJSList()
Specified by:
getDataAsJSList in interface DataBoundComponent

exportData

public void exportData()
Description copied from interface: DataBoundComponent
Uses a "fetch" operation on the current DataSource to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.

A variety of DSRequest settings, such as exportAs and exportFilename, affect the exporting process: see exportResults for further detail.

Note that data exported via this method does not include any client-side formatting and relies on both the Smart GWT server and server-side DataSources. To export client-data with formatters applied, see exportClientData, which still requires the Smart GWT server but does not rely on server-side DataSources.

For more information on exporting data, see DataSource.exportData.

Specified by:
exportData in interface DataBoundComponent
See Also:
DataBoundComponentMethods overview and related methods

exportData

public void exportData(DSRequest requestProperties)
Description copied from interface: DataBoundComponent
Uses a "fetch" operation on the current DataSource to retrieve data that matches the current filter and sort criteria for this component, then exports the resulting data to a file or window in the requested format.

A variety of DSRequest settings, such as exportAs and exportFilename, affect the exporting process: see exportResults for further detail.

Note that data exported via this method does not include any client-side formatting and relies on both the Smart GWT server and server-side DataSources. To export client-data with formatters applied, see exportClientData, which still requires the Smart GWT server but does not rely on server-side DataSources.

For more information on exporting data, see DataSource.exportData.

Specified by:
exportData in interface DataBoundComponent
Parameters:
requestProperties - additional properties to set on the DSRequest that will be issued
See Also:
DataBoundComponentMethods overview and related methods

addFetchDataHandler

public HandlerRegistration addFetchDataHandler(FetchDataHandler handler)
Add a fetchData handler.

Notification function fired on fetchData() or filterData()

Specified by:
addFetchDataHandler in interface HasFetchDataHandlers
Parameters:
handler - the filterData handler
Returns:
HandlerRegistration used to remove this handler

addDropCompleteHandler

public HandlerRegistration addDropCompleteHandler(DropCompleteHandler handler)
Add a com.smartgwt.client.widgets.DropCompleteHandler. See that class's documentation for a definition of "drop complete", and how it differs from "drag complete" (com.smartgwt.client.widgets.DragCompleteHandler).

Specified by:
addDropCompleteHandler in interface HasDropCompleteHandlers
Parameters:
handler - the DropCompleteHandler
Returns:
HandlerRegistration used to remove this handler

addDragCompleteHandler

public HandlerRegistration addDragCompleteHandler(DragCompleteHandler handler)
Add a com.smartgwt.client.widgets.DragCompleteHandler. See that class's documentation for a definition of "drag complete", and how it differs from "drop complete" (com.smartgwt.client.widgets.DropCompleteHandler).

Specified by:
addDragCompleteHandler in interface HasDragCompleteHandlers
Parameters:
handler - the DropCompleteHandler
Returns:
HandlerRegistration used to remove this handler

setLogicalStructure

public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.grid.ColumnTreeLogicalStructure s)

getLogicalStructure

public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()
Specified by:
getLogicalStructure in interface LogicalStructure
Overrides:
getLogicalStructure in class Layout