Class TDataBoundControl
Direct Known Sub-classes:
TDataBoundControl class.
TDataBoundControl is the based class for controls that need to populate data from data sources. It provides basic properties and methods that allow the derived controls to associate with data sources and retrieve data from them. TBC.... TDataBoundControl is equipped with paging capabilities. By setting AllowPaging to true, the input data will be paged and only one page of data is actually populated into the data-bound control. This saves a lot of memory when dealing with larget datasets. To specify the number of data items displayed on each page, set the PageSize property, and to specify which page of data to be displayed, set CurrentPageIndex. When the size of the original data is too big to be loaded all in the memory, one can enable custom paging. In custom paging, the total number of data items is specified manually via VirtualItemCount, and the data source only needs to contain the current page of data. To enable custom paging, set AllowCustomPaging to true.
| Constants Inherited From TControl |
|
AUTOMATIC_ID_PREFIX,
CLIENT_ID_SEPARATOR,
CS_CHILD_INITIALIZED,
CS_CONSTRUCTED,
CS_INITIALIZED,
CS_LOADED,
CS_PRERENDERED,
CS_STATE_LOADED,
ID_FORMAT,
ID_SEPARATOR,
IS_CHILD_CREATED,
IS_CREATING_CHILD,
IS_DISABLE_THEMING,
IS_DISABLE_VIEWSTATE,
IS_ID_SET,
IS_SKIN_APPLIED,
IS_STYLESHEET_APPLIED,
RF_ADAPTER,
RF_AUTO_BINDINGS,
RF_CHILD_STATE,
RF_CONTROLS,
RF_CONTROLSTATE,
RF_DATA_BINDINGS,
RF_EVENTS,
RF_NAMED_CONTROLS,
RF_NAMED_CONTROLS_ID,
RF_NAMED_OBJECTS,
RF_SKIN_ID,
|
| Method Summary |
|
protected
TPagedDataSource
|
|
|
void
|
Performs databinding.
|
|
void
|
|
|
protected
void
|
|
|
protected
void
|
|
|
boolean
|
|
|
boolean
|
|
|
integer
|
|
|
void
|
|
|
Traversable
|
|
|
string
|
|
|
protected
void
|
|
|
protected
boolean
|
|
|
protected
boolean
|
|
|
integer
|
|
|
integer
|
|
|
protected
boolean
|
|
|
void
|
|
|
protected
boolean
|
|
|
integer
|
|
|
void
|
Raises OnDataBound event.
|
|
void
|
Sets setRequiresDataBinding as true if the control is initialized.
|
|
void
|
Sets page's OnPreLoad event handler as pagePreLoad.
|
|
void
|
Ensures any pending databind is performed.
|
|
void
|
Sets getInitialized as true.
|
|
protected
abstract
void
|
|
|
void
|
Sets a value indicating whether the custom paging should be enabled.
|
|
void
|
|
|
void
|
|
|
void
|
|
|
void
|
Sets the data source object associated with the databound control.
|
|
void
|
|
|
protected
void
|
Sets a value indicating whether the databound control is initialized.
|
|
protected
void
|
|
|
void
|
|
|
protected
void
|
Sets a value indicating whether a databind call is required by the data bound control.
|
|
void
|
|
|
protected
Traversable
|
Validates if the parameter is a valid data source.
|
| Methods Inherited From TWebControl |
|
TWebControl::addAttributesToRender(), TWebControl::clearStyle(), TWebControl::copyBaseAttributes(), TWebControl::createStyle(), TWebControl::getAccessKey(), TWebControl::getBackColor(), TWebControl::getBorderColor(), TWebControl::getBorderStyle(), TWebControl::getBorderWidth(), TWebControl::getCssClass(), TWebControl::getDisplay(), TWebControl::getFont(), TWebControl::getForeColor(), TWebControl::getHasStyle(), TWebControl::getHeight(), TWebControl::getStyle(), TWebControl::getTabIndex(), TWebControl::getTagName(), TWebControl::getToolTip(), TWebControl::getWidth(), TWebControl::render(), TWebControl::renderBeginTag(), TWebControl::renderContents(), TWebControl::renderEndTag(), TWebControl::setAccessKey(), TWebControl::setBackColor(), TWebControl::setBorderColor(), TWebControl::setBorderStyle(), TWebControl::setBorderWidth(), TWebControl::setCssClass(), TWebControl::setDisplay(), TWebControl::setForeColor(), TWebControl::setHeight(), TWebControl::setStyle(), TWebControl::setTabIndex(), TWebControl::setToolTip(), TWebControl::setWidth()
|
| Methods Inherited From TControl |
|
TControl::addedControl(), TControl::addParsedObject(), TControl::addToPostDataLoader(), TControl::applyStyleSheetSkin(), TControl::autoBindProperty(), TControl::autoDataBindProperties(), TControl::bindProperty(), TControl::broadcastEvent(), TControl::bubbleEvent(), TControl::clearChildState(), TControl::clearControlState(), TControl::clearNamingContainer(), TControl::clearViewState(), TControl::convertUniqueIdToClientId(), TControl::createChildControls(), TControl::createControlCollection(), TControl::dataBind(), TControl::dataBindChildren(), TControl::dataBindProperties(), TControl::ensureChildControls(), TControl::findControl(), TControl::findControlsByID(), TControl::findControlsByType(), TControl::focus(), TControl::getAdapter(), TControl::getAllowChildControls(), TControl::getAttribute(), TControl::getAttributes(), TControl::getChildControlsCreated(), TControl::getClientID(), TControl::getControls(), TControl::getControlStage(), TControl::getControlState(), TControl::getCustomData(), TControl::getEnabled(), TControl::getEnableTheming(), TControl::getEnableViewState(), TControl::getHasAdapter(), TControl::getHasAttributes(), TControl::getHasChildInitialized(), TControl::getHasControls(), TControl::getHasInitialized(), TControl::getHasLoaded(), TControl::getHasLoadedPostData(), TControl::getHasPreRendered(), TControl::getID(), TControl::getNamingContainer(), TControl::getPage(), TControl::getParent(), TControl::getRegisteredObject(), TControl::getSkinID(), TControl::getSourceTemplateControl(), TControl::getTemplateControl(), TControl::getUniqueID(), TControl::getViewState(), TControl::getVisible(), TControl::hasAttribute(), TControl::initRecursive(), TControl::isDescendentOf(), TControl::isObjectRegistered(), TControl::loadRecursive(), TControl::loadState(), TControl::loadStateRecursive(), TControl::onDataBinding(), TControl::onInit(), TControl::onLoad(), TControl::onPreRender(), TControl::onUnload(), TControl::preRenderRecursive(), TControl::raiseBubbleEvent(), TControl::registerObject(), TControl::removeAttribute(), TControl::removedControl(), TControl::render(), TControl::renderChildren(), TControl::renderControl(), TControl::saveState(), TControl::saveStateRecursive(), TControl::setAdapter(), TControl::setAttribute(), TControl::setChildControlsCreated(), TControl::setControlStage(), TControl::setControlState(), TControl::setCustomData(), TControl::setEnabled(), TControl::setEnableTheming(), TControl::setEnableViewState(), TControl::setID(), TControl::setPage(), TControl::setSkinID(), TControl::setTemplateControl(), TControl::setViewState(), TControl::setVisible(), TControl::trackViewState(), TControl::traverseChildControls(), TControl::unbindProperty(), TControl::unloadRecursive(), TControl::unregisterObject(), TControl::__get()
|
| Methods Inherited From TComponent |
|
TComponent::addParsedObject(), TComponent::attachEventHandler(), TComponent::canGetProperty(), TComponent::canSetProperty(), TComponent::createdOnTemplate(), TComponent::detachEventHandler(), TComponent::evaluateExpression(), TComponent::evaluateStatements(), TComponent::getEventHandlers(), TComponent::getSubProperty(), TComponent::hasEvent(), TComponent::hasEventHandler(), TComponent::hasProperty(), TComponent::raiseEvent(), TComponent::setSubProperty(), TComponent::__get(), TComponent::__set()
|
| Method Details |
createPagedDataSource
|
dataBind
Performs databinding.
This method overrides the parent implementation by calling performSelect which fetches data from data source and does the actual binding work.
|
dataSourceViewChanged
| public void dataSourceViewChanged |
(mixed $sender , mixed $param ) |
| Input |
| mixed | $sender | |
| mixed | $param | |
| Output |
| Exception |
|
determineDataSource
| protected void determineDataSource |
() |
|
ensureDataBound
| protected void ensureDataBound |
() |
Ensures any pending dataBind is called.
This method calls dataBind if the data source is specified by setDataSourceID or if RequiresDataBinding is true.
|
getAllowCustomPaging
| public boolean getAllowCustomPaging |
() |
| Output |
|
boolean
| whether the custom paging is enabled. Defaults to false. |
| Exception |
|
getAllowPaging
| public boolean getAllowPaging |
() |
| Output |
|
boolean
| whether paging is enabled. Defaults to false. |
| Exception |
|
getCurrentPageIndex
| public integer getCurrentPageIndex |
() |
| Output |
|
integer
| the zero-based index of the current page. Defaults to 0. |
| Exception |
|
getDataMember
| public void getDataMember |
() |
|
getDataSource
| public Traversable getDataSource |
() |
| Output |
|
Traversable
| data source object, defaults to null. |
| Exception |
|
getDataSourceID
| public string getDataSourceID |
() |
| Output |
|
string
| ID path to the data source control. Defaults to empty. |
| Exception |
|
getDataSourceView
| protected void getDataSourceView |
() |
|
getInitialized
| protected boolean getInitialized |
() |
| Output |
|
boolean
| whether the databound control has been initialized. By default, the control is initialized after its viewstate has been restored. |
| Exception |
|
getIsDataBound
| protected boolean getIsDataBound |
() |
| Output |
|
boolean
| whether databind has been invoked in the previous page request |
| Exception |
|
getPageCount
| public integer getPageCount |
() |
| Output |
|
integer
| number of pages of data items available |
| Exception |
|
getPageSize
| public integer getPageSize |
() |
| Output |
|
integer
| the number of data items on each page. Defaults to 10. |
| Exception |
|
getRequiresDataBinding
| protected boolean getRequiresDataBinding |
() |
| Output |
|
boolean
| whether a databind call is required (by the data bound control) |
| Exception |
|
getSelectParameters
| public void getSelectParameters |
() |
|
getUsingDataSourceID
| protected boolean getUsingDataSourceID |
() |
| Output |
|
boolean
| if the databound control uses the data source specified by setDataSourceID, or it uses the data source object specified by setDataSource. |
| Exception |
|
getVirtualItemCount
| public integer getVirtualItemCount |
() |
| Output |
|
integer
| virtual number of data items in the data source. Defaults to 0. |
| Exception |
|
onDataBound
| public void onDataBound |
(mixed $param ) |
Raises OnDataBound event.
This method should be invoked after a databind is performed. It is mainly used by framework and component developers.
| Input |
| mixed | $param | |
| Output |
| Exception |
|
onDataSourceChanged
| public void onDataSourceChanged |
() |
Sets setRequiresDataBinding as true if the control is initialized.
This method is invoked when either setDataSource or setDataSourceID is changed.
|
onInit
Sets page's OnPreLoad event handler as pagePreLoad.
If viewstate is disabled and the current request is a postback, RequiresDataBinding will be set true. This method overrides the parent implementation.
|
onPreRender
Ensures any pending databind is performed.
This method overrides the parent implementation.
|
pagePreLoad
Sets getInitialized as true.
This method is invoked when page raises PreLoad event.
| Input |
| mixed | $sender | event sender |
| TEventParameter | $param | event parameter |
| Output |
| Exception |
|
performDataBinding
| protected abstract void performDataBinding |
(mixed $data ) |
| Input |
| mixed | $data | |
| Output |
| Exception |
|
setAllowCustomPaging
| public void setAllowCustomPaging |
(boolean $value ) |
Sets a value indicating whether the custom paging should be enabled.
When the pager is in custom paging mode, the VirtualItemCount property is used to determine the paging, and the data items in the DataSource are considered to be in the current page.
| Input |
| boolean | $value | whether the custom paging is enabled |
| Output |
| Exception |
|
setAllowPaging
| public void setAllowPaging |
(boolean $value ) |
| Input |
| boolean | $value | whether paging is enabled |
| Output |
| Exception |
|
setCurrentPageIndex
| public void setCurrentPageIndex |
(integer $value ) |
| Input |
| integer | $value | the zero-based index of the current page |
| Output |
| Exception |
| throws | TInvalidDataValueException if the value is less than 0 |
|
setDataMember
| public void setDataMember |
(mixed $value ) |
| Input |
| mixed | $value | |
| Output |
| Exception |
|
setDataSource
| public void setDataSource |
(Traversable|array|string $value ) |
Sets the data source object associated with the databound control.
The data source must implement Traversable interface. If an array is given, it will be converted to xxx. If a string is given, it will be converted to xxx.
| Input |
| Traversable|array|string | $value | data source object |
| Output |
| Exception |
|
setDataSourceID
| public void setDataSourceID |
(string $value ) |
| Input |
| string | $value | ID path to the data source control. The data source control must be locatable via TControl::findControl call. |
| Output |
| Exception |
|
setInitialized
| protected void setInitialized |
(boolean $value ) |
Sets a value indicating whether the databound control is initialized.
If initialized, any modification to DataSource or DataSourceID will set RequiresDataBinding as true.
| Input |
| boolean | $value | a value indicating whether the databound control is initialized. |
| Output |
| Exception |
|
setIsDataBound
| protected void setIsDataBound |
(boolean $value ) |
| Input |
| boolean | $value | if databind has been invoked in this page request |
| Output |
| Exception |
|
setPageSize
| public void setPageSize |
(integer $value ) |
| Input |
| integer | $value | the number of data items on each page. |
| Output |
| Exception |
| throws | TInvalidDataValueException if the value is less than 1 |
|
setRequiresDataBinding
| protected void setRequiresDataBinding |
(boolean $value ) |
Sets a value indicating whether a databind call is required by the data bound control.
If true and the control has been prerendered while it uses the data source specified by setDataSourceID, a databind call will be called by this method.
| Input |
| boolean | $value | whether a databind call is required. |
| Output |
| Exception |
|
setVirtualItemCount
| public void setVirtualItemCount |
(integer $value ) |
| Input |
| integer | $value | virtual number of data items in the data source. |
| Output |
| Exception |
| throws | TInvalidDataValueException if the value is less than 0 |
|
validateDataSource
| protected Traversable validateDataSource |
(Traversable|array|string $value ) |
Validates if the parameter is a valid data source.
If it is a string or an array, it will be converted as a TList object.
| Input |
| Traversable|array|string | $value | data source to be validated |
| Output |
|
Traversable
| the data that is traversable |
| Exception |
| throws | TInvalidDataTypeException if the data is neither null nor Traversable |
|
|