Active Controls (AJAX enabled Controls)
See the Introduction
for a quick overview of the concept behind active controls (AJAX enabled controls).
Most active controls have a property of
ActiveControl and
a sub-property ClientSide
that provides many properties to customize the controls. The
CallbackClient property of the
TPage class provides many methods to update and alter the client-side content
during a callback request. Active controls is reliant on a collection
of javascript classes.
For a quick demo of active controls, try the
TActiveButton control. See also the later part of the Currency Converter tutorial for a more in depth example.
Standard Active Controls
-
TActiveButton
represents a click button on a Web page. It can be used to trigger a callback request.
-
TActiveCheckBox
represents a checkbox on a Web page. It can be used to collect two-state user input
and can trigger a callback request.
-
TActiveCustomValidator
validates a particular control using a callback request.
-
TActiveDatePicker
adds a date picker that permits the suer to choose a date.
-
TActiveFileUpload
displays a file upload field on a page and uses an iframe to permit handling of the
file upload in a callback.
-
TActiveHiddenField
displays a hidden input field that can be changed upon callback.
-
TActiveHyperLink
represents a hyperlink on a Web page.
-
TActiveImage
represents an image on a Web page.
-
TActiveImageButton
represents a click button that has an image as the background.
It is can be used to trigger a callback request.
-
TActiveLabel
represents a label on a Web page.
The label can be customized via various CSS attributes.
-
TActiveLinkButton
represents a hyperlink that can perform a callback request.
-
TActiveMultiView
represents a container for a group of TView controls, each of which is container for other controls.
At any time, at most one TView is visible. It's the active counterpart of TMultiView.
-
TActivePanel
represents a container for other controls on a Web page. In HTML,
it is displayed as a <div> element. The panel's contents
can be replaced during a callback request.
-
TActivePager
generates UI that allows users to interactively specify which page of
data to be displayed in a data-bound control.
-
TActiveRadioButton
represents a radiobutton on a Web page.
It is mainly used in a group from which users make a choice. It can
be used to perform a callback request.
-
TActiveRatingList
is an EXPERIMENTAL class that displays clickable images that represent a TRadioButtonList.
-
TActiveTextBox
represents a text input field on a Web page.
It can collect single-line, multi-line or password text input from users.
It can be used to perform a callback request.
Active List Controls
-
TActiveCheckBoxList
displays a list of checkboxes on a Web page and each checkbox
can trigger a callback request.
-
TActiveDropDownList
displays a dropdown list box that allows users to select a
single option from a few prespecified ones. It can be used
to perform a callback request.
-
TActiveListBox
displays a list box that allows single or multiple selection. It can be used
to perform a callback request.
-
TActiveRadioButtonList
is similar to TActiveCheckBoxList in every aspect except that each
TActiveRadioButtonList displays a group of radiobuttons. Each radio button
can perform a callback request.
Active Data Controls
-
TActiveDataList
is used to display or modify a list of data items. It is the
active counterpart to the original TDataList control.
-
TActiveDataGrid
displays data in a tabular format with rows and columns. It is the
active counterpart to the original TDataGrid control.
-
TActiveRepeater
displays its content defined in templates repeatedly based on the given data.
It is the active counterpart to the original TRepeater control.
Extended Active Controls
-
TAutoComplete
extends TActiveTextBox to offer text completion suggestions.
-
TCallback
a generic control that can perform callback requests.
-
TEventTriggeredCallback
triggers a callback request based on HTML DOM events.
-
TInPlaceTextBox
represents a label that can be edited by clicked.
-
TTimeTriggeredCallback
triggers a callback request based on time elapsed.
-
TValueTriggeredCallback
monitors (using a timer) an attribute of an HTML element and triggers a callback request
when the attribute value changes.
-
TDropContainer & TDraggable represents drag and drop containers.
The former will make its child controls "draggable" while the latter will raise a callback when a draggable
control is dropped on it.
Active Control Abilities
The following table shows the Active Controls that can trigger a
callback event and whether the control will raise a PostBack event
if Javascript was disabled on the client's browser.
Active Control Basic Infrastructure Classes
The following classes provide the basic infrastructure classes required to
realize the active controls. They can be useful to develop new active controls, but Prado users tipically don't need
to use them.
-
TActiveControlAdapter
TActiveControlAdapter customizes the parent TControl class for active control classes.
It tracks changes in the viewstate values of the control and update
differences of the client-side HTML element attributes.
-
TActiveListControlAdapter
TActiveListControlAdapter allows the adapted list controls to change the selections
on the client-side during a callback request.
-
TActivePageAdapter
TActivePageAdapter process the page life-cycle for callback requests.
-
TBaseActiveControl
TBaseActiveControl class provided additional basic properties common for every
active control. An instance of TBaseActiveControl or its decendent
TBaseActiveCallbackControl is created by TActiveControlAdapter::getBaseActiveControl()
method.
The EnableUpdate property determines wether the active
control is allowed to update the contents of the client-side when the callback
response returns.
-
TCallbackResponseAdapter
TCallbackResponseAdapter alters the THttpResponse's outputs.
A TCallbackResponseWriter is used instead of the TTextWrite when
createHtmlWriter is called. Each call to createHtmlWriter will create
a new TCallbackResponseWriter. When flushContent() is called each
instance of TCallbackResponseWriter's content is flushed.
The callback response data can be set using the ResponseData property.
Active Control Infrastructure Advanced Classes
The following classes provide advanced properties and events needed to realize the active controls.
A Prado user can use them to customize active controls behaviour and interact directly with the client side during a callback.
-
TCallbackClientScript
methods to manipulate the client-side HTML elements, also includes methods
to invoke javascript Effects on HTML elements.
-
TCallbackClientSide
is used to specify client-side callback request options and client-side event handlers.
-
TCallbackEventParameter
provides the parameter passed during the callback request.
-
TCallbackOptions
allows a common set of callback client-side options to be attached to one or more active controls.