CustomDataSource
Protected Class CustomDataSource
Description
A CustomDataSource is a clas that can be subclassed to create a custom/on-demand DataSource.

You can create a subclass of CustomDataSource and override methods as desired.

Browse the methods for brief documentation about each method available for overriding.

Important! - To create an on-demand dataSource, you must pass false when setting the count property, ie mydatasource.KeyCount(false)=0.
By doing this, you are responsible for keeping track of selections, and any row reordering that occurs.
This can be a much more complicated task and is only recommended if displaying data from a database.
Otherwise a "managed" DataView/DataSource is recommended.

See the examples CustomData,FileData and DBDataSource in the MainDemoItems, FileBrowserDemo and DataBaseDemo folders for examples.
DBDataSource is unmanaged, the others are custom managed DataSources.
Methods
cancelRowPickup
Called when the user cancels a drag reorder operation by pressing esc.
CellCheck
override to specify cellcheck value
CellCheckEnabled
override to specify if the DesktopCheckbox is enabled
CellFormat
override to specify the cellformat dictionary
CellHasHeight
Override to allow cellHeight checking for a cell
CellHeight
Override to specify as height for the cell
CellHelpTag
Override to specify as helptag for a the cell
CellPicture
Override to provide a picture for the given cell.
CellTag
Override to specify a celltag for a cell
CellText
Override to provide a text value for the cell
CellType
Override to specify the type of the cell
CellValue
Override to specify the value of a cell (variant)
ChildCount
Override to specify the number of child rows below a folder
ClearSelections
Override to handle deselecting all rows
CollapseSelectedRows
Override to handle collapsing any expanded rows currently selected
ColumnAlignment
override to specify Alignment for a column
ColumnCount
Override to specify the number of columns
ColumnFormatString
override to specify a format string for the column
ColumnHeading
Override to specify the heading title for a column
ColumnTag
Override to specify as celltag for a column
ColumnType
Override to specify the type of the cell
Count
override to specify the number of rows to be displayed
When setting up a datasource, assigning a value to Count
defaultRowHeight
override to specify the default RowHeight
DeleteAllRows
override to handle removing all rows from the list
HasCellFormats
return true to allow cell formatting
InsertPickedUpRowsAt
Override to handle dragReorder
isFolder
override to specify rows as folders
isGroup
override to specify row as Group
ParentForDropAtRow
override to specify a folder that will become the parent for a drop at the specified index
pickUpRow
override to handle dragreorder functions
pickUpSelectedRows
override to handle dragreorder operations
raiseCellChanged
Called to inform the dataView that the cell has changed and should be refreshed
raiseCountChanged
Called to inform the DataView that the number of rows has changed
raiseDataChanged
Called to inform the DataView that the list data has been modified and should be refreshed
raiseRowChanged
Called to inform the DataView that a row has changed and should be refreshed
RemoveColumn
override to handle arequest to remove a column
RemoveRow
override to handle a request to remove a row
RowDepth
override to specify indetation level for a row
RowExpanded
override to specify the expanded state of a row
override to handle expanding/collapsing of a row
RowHasCellHeight
overrideto specify whether a row contains cells with specified cell heights
RowHeight
override to specify a height for the row
RowParent
override to specify the parent row for a given row
RowPicture
override to specify the picture for a given row
RowTag
override to specify the tag for a given row
Selected
override to handle selection of rows
override to handle row selection
override to handle cell selection
override to handle cell selection
SelectedCells
override to return a list of selected cells
SelectedRows
override to return a list of selected rows
SelectionCount
override to return the number of selected rows
SortByColumn
override to handle column sorting
TotalRowsHeight
override to specify the overall height of the list in points