- Home
- About
- Testimonials
- Demos
- Download
- Documentation
- Blogs
- Forum
- Support

Packages:
default
System
System.Caching
System.Collections
System.Data
System.Data.ActiveRecord
System.Data.ActiveRecord.Relations
System.Data.ActiveRecord.Scaffold
System.Data.ActiveReecord.Scaffold.InputBuilder
System.Data.Commom.Sqlite
System.Data.Common
System.Data.Common.Mssql
System.Data.Common.Mysql
System.Data.Common.Oracle
System.Data.Common.Pgsql
System.Data.Common.Sqlite
System.Data.DataGateway
System.Data.SqlMap
System.Data.SqlMap.Configuration
System.Data.SqlMap.Statements
System.Exceptions
System.I18N
System.IO
System.Security
System.Util
System.Web
System.Web.Services
System.Web.UI
System.Web.UI.ActiveControls
System.Web.UI.WebControls
System.Web.UI.WebControls.assets
System.Xml
Classes:
IDataSource
IItemDataRenderer
IRepeatInfoUser
TActiveFileUpload
TBaseDataList
TBaseValidator
TBoundColumn
TBulletedList
TBulletedListDisplayMode
TBulletedListEventParameter
TBulletStyle
TButton
TButtonColumn
TButtonColumnType
TButtonType
TCaptcha
TCaptchaValidator
TCheckBox
TCheckBoxColumn
TCheckBoxList
TCircleHotSpot
TClientScript
TClientScriptLoader
TClientSideValidationSummaryOptions
TColorPicker
TColorPickerClientSide
TColorPickerMode
TCompareValidator
TCompleteWizardStep
TConditional
TContent
TContentDirection
TContentPlaceHolder
TCustomValidator
TDataBoundControl
TDataGrid
TDataGridColumn
TDataGridColumnCollection
TDataGridCommandEventParameter
TDataGridItem
TDataGridItemCollection
TDataGridItemEventParameter
TDataGridItemRenderer
TDataGridPageChangedEventParameter
TDataGridPager
TDataGridPagerButtonType
TDataGridPagerEventParameter
TDataGridPagerMode
TDataGridPagerPosition
TDataGridPagerStyle
TDataGridSortCommandEventParameter
TDataList
TDataListCommandEventParameter
TDataListItem
TDataListItemCollection
TDataListItemEventParameter
TDataListItemRenderer
TDataRenderer
TDataSourceControl
TDataSourceSelectParameters
TDataSourceView
TDataTypeValidator
TDatePicker
TDatePickerClientScript
TDatePickerInputMode
TDatePickerMode
TDatePickerPositionMode
TDisplayStyle
TDraggable
TDropContainer
TDropDownList
TDropDownListColumn
TEditCommandColumn
TEmailAddressValidator
TExpression
TFileUpload
TFont
THiddenField
THorizontalAlign
THotSpot
THotSpotCollection
THotSpotMode
THtmlArea
THtmlElement
THyperLink
THyperLinkColumn
TImage
TImageButton
TImageClickEventParameter
TImageMap
TImageMapEventParameter
TInlineFrame
TInlineFrameAlign
TInlineFrameScrollBars
TItemDataRenderer
TJavascriptLogger
TKeyboard
TLabel
TLinkButton
TListBox
TListControl
TListControlValidator
TListItem
TListItemCollection
TListItemType
TListSelectionMode
TLiteral
TLiteralColumn
TMarkdown
TMetaTag
TMetaTagCollection
TMultiView
TOutputCache
TOutputCacheCalculateKeyEventParameter
TOutputCacheCheckDependencyEventParameter
TPager
TPagerButtonType
TPagerMode
TPagerPageChangedEventParameter
TPanel
TPanelStyle
TPlaceHolder
TPolygonHotSpot
TRadioButton
TRadioButtonList
TRangeValidationDataType
TRangeValidator
TRatingList
TReadOnlyDataSource
TReadOnlyDataSourceView
TRectangleHotSpot
TRegularExpressionValidator
TRepeatDirection
TRepeater
TRepeaterCommandEventParameter
TRepeaterItem
TRepeaterItemCollection
TRepeaterItemEventParameter
TRepeaterItemRenderer
TRepeatInfo
TRepeatLayout
TRequiredFieldValidator
TSafeHtml
TScrollBars
TServerValidateEventParameter
TSlider
TSliderClientScript
TSliderDirection
TStatements
TStyle
TStyleSheet
TTable
TTableCaptionAlign
TTableCell
TTableCellCollection
TTableFooterRow
TTableGridLines
TTableHeaderCell
TTableHeaderRow
TTableHeaderScope
TTableItemStyle
TTableRow
TTableRowCollection
TTableRowSection
TTableStyle
TTabPanel
TTabView
TTabViewCollection
TTemplateColumn
TTemplatedWizardStep
TTextAlign
TTextBox
TTextBoxAutoCompleteType
TTextBoxMode
TTextHighlighter
TTextHighlighterLineNumberStyle
TValidationCompareOperator
TValidationDataType
TValidationSummary
TValidationSummaryDisplayMode
TValidationSummaryDisplayStyle
TValidatorClientSide
TValidatorDisplayStyle
TVerticalAlign
TView
TViewCollection
TWebControl
TWebControlAdapter
TWizard
TWizardFinishNavigationTemplate
TWizardNavigationButtonStyle
TWizardNavigationButtonType
TWizardNavigationContainer
TWizardNavigationEventParameter
TWizardNavigationTemplate
TWizardSideBarListItemTemplate
TWizardSideBarTemplate
TWizardStartNavigationTemplate
TWizardStep
TWizardStepCollection
TWizardStepNavigationTemplate
TWizardStepType
TXmlTransform

Keyword

# Class TDataBoundControl

    TComponent
       |
       --TApplicationComponent
          |
          --TControl
             |
             --TWebControl
                |
                --TDataBoundControl

#### Direct Known Sub-classes:

TListControl , TBaseDataList , TRepeater

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.

Since: 3.0
Author: Qiang Xue <qiang.xue@gmail.com>

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 | createPagedDataSource ()
void | dataBind () Performs databinding.
void | dataSourceViewChanged ( mixed $sender, mixed $param)
protected void | determineDataSource ()
protected void | ensureDataBound () Ensures any pending dataBind is called.
boolean | getAllowCustomPaging ()
boolean | getAllowPaging ()
integer | getCurrentPageIndex ()
void | getDataMember ()
Traversable | getDataSource ()
string | getDataSourceID ()
protected void | getDataSourceView ()
protected boolean | getInitialized ()
protected boolean | getIsDataBound ()
integer | getPageCount ()
integer | getPageSize ()
protected boolean | getRequiresDataBinding ()
void | getSelectParameters ()
protected boolean | getUsingDataSourceID ()
integer | getVirtualItemCount ()
void | onDataBound ( mixed $param) Raises OnDataBound event.
void | onDataSourceChanged () Sets setRequiresDataBinding as true if the control is initialized.
void | onInit ( TEventParameter $param) Sets page's OnPreLoad event handler as pagePreLoad.
void | onPreRender ( TEventParameter $param) Ensures any pending databind is performed.
void | pagePreLoad ( mixed $sender, TEventParameter $param) Sets getInitialized as true.
protected abstract void | performDataBinding ( mixed $data)
void | setAllowCustomPaging ( boolean $value) Sets a value indicating whether the custom paging should be enabled.
void | setAllowPaging ( boolean $value)
void | setCurrentPageIndex ( integer $value)
void | setDataMember ( mixed $value)
void | setDataSource ( Traversable|array|string $value) Sets the data source object associated with the databound control.
void | setDataSourceID ( string $value)
protected void | setInitialized ( boolean $value) Sets a value indicating whether the databound control is initialized.
protected void | setIsDataBound ( boolean $value)
void | setPageSize ( integer $value)
protected void | setRequiresDataBinding ( boolean $value) Sets a value indicating whether a databind call is required by the data bound control.
void | setVirtualItemCount ( integer $value)
protected Traversable | validateDataSource ( Traversable|array|string $value) 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 TApplicationComponent
TApplicationComponent::getApplication(), TApplicationComponent::getRequest(), TApplicationComponent::getResponse(), TApplicationComponent::getService(), TApplicationComponent::getSession(), TApplicationComponent::getUser(), TApplicationComponent::publishAsset(), TApplicationComponent::publishFilePath()

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

Constant Summary

Method Details

## createPagedDataSource

protected TPagedDataSource createPagedDataSource | ()

Output
TPagedDataSource | creates a paged data source
Exception

## dataBind

public void dataBind | ()

Performs databinding.

This method overrides the parent implementation by calling performSelect which fetches data from data source and does the actual binding work.

Output
Exception

## dataSourceViewChanged

public void dataSourceViewChanged | (mixed $sender , mixed $param )

Input
mixed | $sender |
mixed | $param |
Output
Exception

## determineDataSource

protected void determineDataSource | ()

Output
Exception

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

Output
Exception

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

Output
Exception

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

Output
Exception

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

Output
Exception

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

Output
Exception

## onInit

public void onInit | (TEventParameter $param )

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.

Input
TEventParameter | $param | event parameter
Output
Exception

## onPreRender

public void onPreRender | (TEventParameter $param )

Ensures any pending databind is performed.

This method overrides the parent implementation.

Input
TEventParameter | $param | event parameter
Output
Exception

## pagePreLoad

public void pagePreLoad | (mixed $sender , TEventParameter $param )

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