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:

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
void
Performs databinding.
void
dataSourceViewChanged ( mixed $sender, mixed $param)
protected  void
protected  void
Ensures any pending dataBind is called.
boolean
boolean
integer
void
Traversable
string
protected  void
protected  boolean
protected  boolean
integer
integer
protected  boolean
void
protected  boolean
integer
void
onDataBound ( mixed $param)
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
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$paramevent parameter
Output
Exception

onPreRender

public void onPreRender (TEventParameter $param )

Ensures any pending databind is performed.

This method overrides the parent implementation.

Input
TEventParameter$paramevent 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$senderevent sender
TEventParameter$paramevent 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$valuewhether the custom paging is enabled
Output
Exception

setAllowPaging

public void setAllowPaging (boolean $value )

Input
boolean$valuewhether paging is enabled
Output
Exception

setCurrentPageIndex

public void setCurrentPageIndex (integer $value )

Input
integer$valuethe zero-based index of the current page
Output
Exception
throwsTInvalidDataValueException 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$valuedata source object
Output
Exception

setDataSourceID

public void setDataSourceID (string $value )

Input
string$valueID 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$valuea value indicating whether the databound control is initialized.
Output
Exception

setIsDataBound

protected void setIsDataBound (boolean $value )

Input
boolean$valueif databind has been invoked in this page request
Output
Exception

setPageSize

public void setPageSize (integer $value )

Input
integer$valuethe number of data items on each page.
Output
Exception
throwsTInvalidDataValueException 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$valuewhether a databind call is required.
Output
Exception

setVirtualItemCount

public void setVirtualItemCount (integer $value )

Input
integer$valuevirtual number of data items in the data source.
Output
Exception
throwsTInvalidDataValueException 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$valuedata source to be validated
Output
Traversable the data that is traversable
Exception
throwsTInvalidDataTypeException if the data is neither null nor Traversable