From f4de82bcdafba51e4eed9cae6b2d3e5375ffd115 Mon Sep 17 00:00:00 2001 From: xue <> Date: Tue, 9 May 2006 12:11:38 +0000 Subject: --- .../protected/pages/Controls/Button.page | 2 +- .../protected/pages/Controls/CheckBox.page | 2 +- .../protected/pages/Controls/ColorPicker.page | 2 +- .../quickstart/protected/pages/Controls/Data.page | 2 +- .../protected/pages/Controls/DataGrid.page | 24 +++++++++++----------- .../protected/pages/Controls/DataList.page | 2 +- .../protected/pages/Controls/DatePicker.page | 2 +- .../protected/pages/Controls/Expression.page | 2 +- .../protected/pages/Controls/FileUpload.page | 2 +- .../quickstart/protected/pages/Controls/Head.page | 2 +- .../protected/pages/Controls/HiddenField.page | 2 +- .../protected/pages/Controls/HtmlArea.page | 2 +- .../protected/pages/Controls/HyperLink.page | 2 +- .../quickstart/protected/pages/Controls/Image.page | 2 +- .../protected/pages/Controls/ImageButton.page | 2 +- .../protected/pages/Controls/ImageMap.page | 2 +- .../protected/pages/Controls/InlineFrame.page | 2 +- .../protected/pages/Controls/JavascriptLogger.page | 2 +- .../quickstart/protected/pages/Controls/Label.page | 2 +- .../protected/pages/Controls/LinkButton.page | 2 +- .../quickstart/protected/pages/Controls/List.page | 12 +++++------ .../protected/pages/Controls/Literal.page | 2 +- .../protected/pages/Controls/MultiView.page | 2 +- .../protected/pages/Controls/NewControl.page | 18 ++++++++-------- .../quickstart/protected/pages/Controls/Panel.page | 2 +- .../protected/pages/Controls/PlaceHolder.page | 2 +- .../protected/pages/Controls/RadioButton.page | 2 +- .../protected/pages/Controls/Repeater.page | 2 +- .../protected/pages/Controls/SafeHtml.page | 2 +- .../protected/pages/Controls/Statements.page | 2 +- .../quickstart/protected/pages/Controls/Table.page | 2 +- .../protected/pages/Controls/TextBox.page | 2 +- .../protected/pages/Controls/TextHighlighter.page | 2 +- .../protected/pages/Controls/Validation.page | 16 +++++++-------- .../protected/pages/Controls/Wizard.page | 16 +++++++-------- 35 files changed, 73 insertions(+), 73 deletions(-) (limited to 'demos/quickstart/protected/pages/Controls') diff --git a/demos/quickstart/protected/pages/Controls/Button.page b/demos/quickstart/protected/pages/Controls/Button.page index e58571d3..5c827725 100644 --- a/demos/quickstart/protected/pages/Controls/Button.page +++ b/demos/quickstart/protected/pages/Controls/Button.page @@ -1,6 +1,6 @@ -

TButton

+

TButton

diff --git a/demos/quickstart/protected/pages/Controls/CheckBox.page b/demos/quickstart/protected/pages/Controls/CheckBox.page index 77052997..7f2767c0 100644 --- a/demos/quickstart/protected/pages/Controls/CheckBox.page +++ b/demos/quickstart/protected/pages/Controls/CheckBox.page @@ -1,6 +1,6 @@ -

TCheckBox

+

TCheckBox

diff --git a/demos/quickstart/protected/pages/Controls/ColorPicker.page b/demos/quickstart/protected/pages/Controls/ColorPicker.page index 6e05584a..8909ad98 100644 --- a/demos/quickstart/protected/pages/Controls/ColorPicker.page +++ b/demos/quickstart/protected/pages/Controls/ColorPicker.page @@ -1,6 +1,6 @@ -

TColorPicker

+

TColorPicker

diff --git a/demos/quickstart/protected/pages/Controls/Data.page b/demos/quickstart/protected/pages/Controls/Data.page index 36839582..6a93ec6f 100644 --- a/demos/quickstart/protected/pages/Controls/Data.page +++ b/demos/quickstart/protected/pages/Controls/Data.page @@ -1,6 +1,6 @@ -

Data Controls

+

Data Controls

  • diff --git a/demos/quickstart/protected/pages/Controls/DataGrid.page b/demos/quickstart/protected/pages/Controls/DataGrid.page index de6a94e9..ed1ad32b 100644 --- a/demos/quickstart/protected/pages/Controls/DataGrid.page +++ b/demos/quickstart/protected/pages/Controls/DataGrid.page @@ -1,6 +1,6 @@ -

    TDataGrid

    +

    TDataGrid

    TDatagrid is an important control in building complex Web applications. It displays data in a tabular format with rows (also called items) and columns. A row is composed by cells, while columns govern how cells should be displayed according to their association with the columns. Data specified via DataSource or DataSourceID are bound to the rows and feed contents to cells. @@ -12,7 +12,7 @@ TDataGrid is highly interactive. Users can sort the data along specified columns Rows of TDataGrid can be accessed via its Items property. A row (item) can be in one of several modes: browsing, editting and selecting, which affects how cells in the row are displayed. To change an item's mode, modify EditItemIndex or SelectedItemIndex. Note, if an item is in edit mode, then selecting this item will have no effect.

    -

    Columns

    +

    Columns

    Columns of a data grid determine how the associated cells are displayed. For example, cells associated with a TBoundColumn are displayed differently according to their modes. A cell is displayed as a static text if the cell is in browsing mode, a text box if it is in editting mode, and so on.

    @@ -28,7 +28,7 @@ PRADO provides five types of columns:
  • TTemplateColumn displays the cells according to different templates defined for it.
-

Item Styles

+

Item Styles

TDataGrid defines different styles applied to its items. For example, AlternatingItemStyle is applied to alternating items (item 2, 4, 6, etc.) Through these properties, one can set CSS style fields or CSS classes for the items.

@@ -36,7 +36,7 @@ TDataGrid defines different styles applied to its items. For example, Altern Item styles are applied in a hierarchical way. Styles in higher hierarchy will inherit from styles in lower hierarchy. Starting from the lowest hierarchy, the item styles include item's own style, ItemStyle, AlternatingItemStyle, SelectedItemStyle, and EditItemStyle. Therefore, if background color is set as red in ItemStyle, EditItemStyle will also have red background color, unless it is explicitly set to a different value.

-

Events

+

Events

TDataGrid provides several events to facilitate manipulation of its items,

@@ -57,9 +57,9 @@ TDataGrid provides several events to facilitate manipulation of its items, -

Using TDataGrid

+

Using TDataGrid

-

Automatically Generated Columns

+

Automatically Generated Columns

TDataGrid by default will create a list of columns based on the structure of the bound data. TDataGrid will read the first row of the data, extract the field names of the row, and construct a column for each field. Each column is of type TBoundColumn.

@@ -77,7 +77,7 @@ public function onLoad($param) { -

Manually Specified Columns

+

Manually Specified Columns

Using automatically generated columns gives a quick way of browsing tabular data. In real applications, however, automatically generated columns are often not sufficient because developers have no way customizing their appearance. Manually specified columns are thus more desirable.

@@ -109,7 +109,7 @@ The following example uses manually specified columns to show a list of book inf -

Interacting with TDataGrid

+

Interacting with TDataGrid

Besides the rich data presentation functionalities as demonstrated in previous section, TDataGrid is also highly user interactive. An import usage of TDataGrid is editting or deleting rows of data. The TBoundColumn can adjust the associated cell presentation according to the mode of datagrid items. When an item is in browsing mode, the cell is displayed with a static text; when the item is in editting mode, a textbox is displayed to collect user inputs. TDataGrid provides TEditCommandColumn for switching item modes. In addition, TButtonColumn offers developers the flexibility of creating arbitrary buttons for various user interactions.

@@ -118,7 +118,7 @@ The following example shows how to make the previous book information table an i

-

Sorting

+

Sorting

TDataGrid supports sorting its items according to specific columns. To enable sorting, set AllowSorting to true. This will turn column headers into clickable buttons if their SortExpression property is not empty. When users click on the header buttons, an OnSortCommand event will be raised. Developers can write handlers to respond to the sort command and sort the data according to SortExpression which is specified in the corresponding column.

@@ -127,7 +127,7 @@ The following example turns the datagrid in -

Paging

+

Paging

When dealing with large datasets, paging is helpful in reducing the page size and complexity. TDataGrid has an embedded pager that allows users to specify which page of data they want to see. The pager can be customized via PagerStyle. For example, PagerStyle.Visible determines whether the pager is visible or not; PagerStyle.Position indicates where the pager is displayed; and PagerStyle.Mode specifies what type of pager is displayed, a numeric one or a next-prev one.

@@ -146,7 +146,7 @@ The following example enables the paging functionality of the datagrid shown in

-

Custom Paging

+

Custom Paging

The paging functionality shown above requires loading all data into memory, even though only a portion of them is displayed in a page. For large datasets, this is inefficient and may not always be feasible. TDataGrid provides custom paging to solve this problem. Custom paging only requires the portion of the data to be displayed to end users.

@@ -155,7 +155,7 @@ To enable custom paging, set both AllowPaging and AllowCustomPaging

-

Extending TDataGrid

+

Extending TDataGrid

Besides traditional class inheritance, extensibility of TDataGrid is mainly through developing new datagrid column components. For example, one may want to display an image column. He may use TTemplateColumn to accomplish this task. A better solution is to develop an image column component so that the work can be reused easily in other projects.

diff --git a/demos/quickstart/protected/pages/Controls/DataList.page b/demos/quickstart/protected/pages/Controls/DataList.page index 9d904870..c1ff1147 100644 --- a/demos/quickstart/protected/pages/Controls/DataList.page +++ b/demos/quickstart/protected/pages/Controls/DataList.page @@ -1,6 +1,6 @@ -

TDataList

+

TDataList

TDataList is used to display or modify a list of data items specified by its DataSource or DataSourceID property. Each data item is displayed by a data list item which is a child control of the data list. The Items property contains the list of all data list items.

diff --git a/demos/quickstart/protected/pages/Controls/DatePicker.page b/demos/quickstart/protected/pages/Controls/DatePicker.page index 17d28382..a37ff048 100644 --- a/demos/quickstart/protected/pages/Controls/DatePicker.page +++ b/demos/quickstart/protected/pages/Controls/DatePicker.page @@ -1,6 +1,6 @@ -

TDatePicker

+

TDatePicker

TDatePicker displays a text box for date input purpose. diff --git a/demos/quickstart/protected/pages/Controls/Expression.page b/demos/quickstart/protected/pages/Controls/Expression.page index 80a45a3a..044808c6 100644 --- a/demos/quickstart/protected/pages/Controls/Expression.page +++ b/demos/quickstart/protected/pages/Controls/Expression.page @@ -1,6 +1,6 @@ -

TExpression

+

TExpression

diff --git a/demos/quickstart/protected/pages/Controls/FileUpload.page b/demos/quickstart/protected/pages/Controls/FileUpload.page index 8aa5a0fb..404a144e 100644 --- a/demos/quickstart/protected/pages/Controls/FileUpload.page +++ b/demos/quickstart/protected/pages/Controls/FileUpload.page @@ -1,6 +1,6 @@ -

TFileUpload

+

TFileUpload

diff --git a/demos/quickstart/protected/pages/Controls/Head.page b/demos/quickstart/protected/pages/Controls/Head.page index 269ec404..227b5282 100644 --- a/demos/quickstart/protected/pages/Controls/Head.page +++ b/demos/quickstart/protected/pages/Controls/Head.page @@ -1,6 +1,6 @@ -

THead

+

THead

diff --git a/demos/quickstart/protected/pages/Controls/HiddenField.page b/demos/quickstart/protected/pages/Controls/HiddenField.page index c068d01b..aa2e7c87 100644 --- a/demos/quickstart/protected/pages/Controls/HiddenField.page +++ b/demos/quickstart/protected/pages/Controls/HiddenField.page @@ -1,6 +1,6 @@ -

THiddenField

+

THiddenField

diff --git a/demos/quickstart/protected/pages/Controls/HtmlArea.page b/demos/quickstart/protected/pages/Controls/HtmlArea.page index 0af685d5..00a65573 100644 --- a/demos/quickstart/protected/pages/Controls/HtmlArea.page +++ b/demos/quickstart/protected/pages/Controls/HtmlArea.page @@ -1,6 +1,6 @@ -

THtmlArea

+

THtmlArea

diff --git a/demos/quickstart/protected/pages/Controls/HyperLink.page b/demos/quickstart/protected/pages/Controls/HyperLink.page index afccd041..9fa6bde3 100644 --- a/demos/quickstart/protected/pages/Controls/HyperLink.page +++ b/demos/quickstart/protected/pages/Controls/HyperLink.page @@ -1,6 +1,6 @@ -

THyperLink

+

THyperLink

diff --git a/demos/quickstart/protected/pages/Controls/Image.page b/demos/quickstart/protected/pages/Controls/Image.page index a926c204..1e8df3de 100644 --- a/demos/quickstart/protected/pages/Controls/Image.page +++ b/demos/quickstart/protected/pages/Controls/Image.page @@ -1,6 +1,6 @@ -

TImage

+

TImage

diff --git a/demos/quickstart/protected/pages/Controls/ImageButton.page b/demos/quickstart/protected/pages/Controls/ImageButton.page index b4a8de93..a79ecb6a 100644 --- a/demos/quickstart/protected/pages/Controls/ImageButton.page +++ b/demos/quickstart/protected/pages/Controls/ImageButton.page @@ -1,6 +1,6 @@ -

TImageButton

+

TImageButton

diff --git a/demos/quickstart/protected/pages/Controls/ImageMap.page b/demos/quickstart/protected/pages/Controls/ImageMap.page index 997faad6..002861a3 100644 --- a/demos/quickstart/protected/pages/Controls/ImageMap.page +++ b/demos/quickstart/protected/pages/Controls/ImageMap.page @@ -1,6 +1,6 @@ -

TImageMap

+

TImageMap

diff --git a/demos/quickstart/protected/pages/Controls/InlineFrame.page b/demos/quickstart/protected/pages/Controls/InlineFrame.page index 56e3f382..efd5144d 100644 --- a/demos/quickstart/protected/pages/Controls/InlineFrame.page +++ b/demos/quickstart/protected/pages/Controls/InlineFrame.page @@ -1,6 +1,6 @@ -

TInlineFrame

+

TInlineFrame

diff --git a/demos/quickstart/protected/pages/Controls/JavascriptLogger.page b/demos/quickstart/protected/pages/Controls/JavascriptLogger.page index cff2b7aa..ccb4a27b 100644 --- a/demos/quickstart/protected/pages/Controls/JavascriptLogger.page +++ b/demos/quickstart/protected/pages/Controls/JavascriptLogger.page @@ -1,6 +1,6 @@ -

TJavascriptLogger

+

TJavascriptLogger

diff --git a/demos/quickstart/protected/pages/Controls/Label.page b/demos/quickstart/protected/pages/Controls/Label.page index 69329c8a..b7d5b094 100644 --- a/demos/quickstart/protected/pages/Controls/Label.page +++ b/demos/quickstart/protected/pages/Controls/Label.page @@ -1,6 +1,6 @@ -

TLabel

+

TLabel

diff --git a/demos/quickstart/protected/pages/Controls/LinkButton.page b/demos/quickstart/protected/pages/Controls/LinkButton.page index eb22f9ce..e0255141 100644 --- a/demos/quickstart/protected/pages/Controls/LinkButton.page +++ b/demos/quickstart/protected/pages/Controls/LinkButton.page @@ -1,6 +1,6 @@ -

TLinkButton

+

TLinkButton

diff --git a/demos/quickstart/protected/pages/Controls/List.page b/demos/quickstart/protected/pages/Controls/List.page index cac07330..b5915693 100644 --- a/demos/quickstart/protected/pages/Controls/List.page +++ b/demos/quickstart/protected/pages/Controls/List.page @@ -1,6 +1,6 @@ -

List Controls

+

List Controls

List controls covered in this section all inherit directly or indirectly from TListControl. Therefore, they share the same set of commonly used properties, including,

@@ -48,19 +48,19 @@ $listbox->dataBind(); -

TListBox

+

TListBox

TListBox displays a list box that allows single or multiple selection. Set the property SelectionMode as Single to make a single selection list box, and Multiple a multiple selection list box. The number of rows displayed in the box is specified via the Rows property value.

-

TDropDownList

+

TDropDownList

TDropDownList displays a dropdown list box that allows users to select a single option from a few prespecified ones.

-

TCheckBoxList

+

TCheckBoxList

TCheckBoxList displays a list of checkboxes on a Web page. The alignment of the text besides each checkbox can be specified TextAlign. The layout of the checkboxes can be controlled by the following properties:

@@ -72,13 +72,13 @@ $listbox->dataBind(); -

TRadioButtonList

+

TRadioButtonList

TRadioButtonList is similar to TCheckBoxList in every aspect except that each TRadioButtonList displays a group of radiobuttons. Only one of the radiobuttions can be selected (TCheckBoxList allows multiple selections.)

-

TBulletedList

+

TBulletedList

TBulletedList displays items in a bullet format on a Web page. The style of the bullets can be specified by BulletStyle. When the style is CustomImage, the bullets are displayed as images, which is specified by BulletImageUrl.

diff --git a/demos/quickstart/protected/pages/Controls/Literal.page b/demos/quickstart/protected/pages/Controls/Literal.page index 30a84880..d5d40a13 100644 --- a/demos/quickstart/protected/pages/Controls/Literal.page +++ b/demos/quickstart/protected/pages/Controls/Literal.page @@ -1,6 +1,6 @@ -

TLiteral

+

TLiteral

diff --git a/demos/quickstart/protected/pages/Controls/MultiView.page b/demos/quickstart/protected/pages/Controls/MultiView.page index 7e566181..a22711b6 100644 --- a/demos/quickstart/protected/pages/Controls/MultiView.page +++ b/demos/quickstart/protected/pages/Controls/MultiView.page @@ -1,6 +1,6 @@ -

TMultiView

+

TMultiView

diff --git a/demos/quickstart/protected/pages/Controls/NewControl.page b/demos/quickstart/protected/pages/Controls/NewControl.page index 51d0cc02..8f4b9be9 100644 --- a/demos/quickstart/protected/pages/Controls/NewControl.page +++ b/demos/quickstart/protected/pages/Controls/NewControl.page @@ -1,6 +1,6 @@ -

Writing New Controls

+

Writing New Controls

Writing new controls is often desired by advanced programmers, because they want to reuse the code that they write for dealing with complex presentation and user interactions.

@@ -8,7 +8,7 @@ Writing new controls is often desired by advanced programmers, because they want In general, there are two ways of writing new controls: composition of existing controls and extending existing controls. They all require that the new control inherit from TControl or its child classes.

-

Composition of Existing Controls

+

Composition of Existing Controls

@@ -19,7 +19,7 @@ One can compose a new control in two ways. One is to extend TCompositeContro As an example, we show how to create a labeled textbox called LabeledTextBox using the above two approaches. A labeled textbox displays a label besides a textbox. We want reuse the PRADO provided TLabel and TTextBox to accomplish this task.

-

Composition by Writing Templates

+

Composition by Writing Templates

We need two files: a control class file named LabeledTextBox.php and a control template file named LabeledTextBox.tpl. Both must reside under the same directory.

@@ -46,7 +46,7 @@ In the above, the method call to ensureChildControls() ensures that bot

-

Composition by Overriding createChildControls()

+

Composition by Overriding createChildControls()

For a composite control as simple as LabeledTextBox, it is better to create it by extending TCompositeControl and overriding the createChildControls() method, because it does not use templates and thus saves template parsing time.

@@ -80,7 +80,7 @@ class LabeledTextBox extends TCompositeControl { -

Using LabeledTextBox

+

Using LabeledTextBox

To use LabeledTextBox control, first we need to include the corresponding class file. Then in a page template, we can write lines like the following,

@@ -91,7 +91,7 @@ To use LabeledTextBox control, first we need to include the correspondi In the above, Label.Text is a subproperty of LabeledTextBox, which refers to the Text property of the Label property. For other details of using LabeledTextBox, see the above online examples.

-

Extending Existing Controls

+

Extending Existing Controls

Extending existing controls is the same as conventional class inheritance. It allows developers to customize existing control classes by overriding their properties, methods, events, or creating new ones.

@@ -102,7 +102,7 @@ The difficulty of the task depends on how much an existing class needs to be cus In this section, we mainly introduce the base control classes TControl and TWebControl, showing how they can be customized. We also introduce how to write controls with specific functionalities, such as loading post data, raising post data and databinding with data source.

-

Extending TControl

+

Extending TControl

TControl is the base class of all control classes. Two methods are of the most importance for derived control classes:

@@ -125,7 +125,7 @@ Other important properties and methods include:
  • Control lifecycles - Life page lifecycles, controls also have lifecycles. Each control undergoes the following lifecycles in order: constructor, onInit(), onLoad(), onPreRender(), render(), and onUnload. More details can be found in the page section.
  • -

    Extending TWebControl

    +

    Extending TWebControl

    TWebControl is mainly used as a base class for controls representing HTML elements. It provides a set of properties that are common among HTML elements. It breaks the TControl::render() into the following methods that are more suitable for rendering an HTML element:

    @@ -139,7 +139,7 @@ Other important properties and methods include: When rendering the openning HTML tag, TWebControl calls getTagName() to obtain the tag name. Derived classes may override this method to render different tag names.

    -

    Creating Controls with Special Functionalities

    +

    Creating Controls with Special Functionalities

    If a control wants to respond to client-side events and translate them into server side events (called postback events), such as TButton, it has to implement the IPostBackEventHandler interface.

    diff --git a/demos/quickstart/protected/pages/Controls/Panel.page b/demos/quickstart/protected/pages/Controls/Panel.page index b402cd8f..d507da36 100644 --- a/demos/quickstart/protected/pages/Controls/Panel.page +++ b/demos/quickstart/protected/pages/Controls/Panel.page @@ -1,6 +1,6 @@ -

    TPanel

    +

    TPanel

    diff --git a/demos/quickstart/protected/pages/Controls/PlaceHolder.page b/demos/quickstart/protected/pages/Controls/PlaceHolder.page index 323b1d52..b55d1616 100644 --- a/demos/quickstart/protected/pages/Controls/PlaceHolder.page +++ b/demos/quickstart/protected/pages/Controls/PlaceHolder.page @@ -1,6 +1,6 @@ -

    TPlaceHolder

    +

    TPlaceHolder

    diff --git a/demos/quickstart/protected/pages/Controls/RadioButton.page b/demos/quickstart/protected/pages/Controls/RadioButton.page index 5e1d9d21..b40f37bd 100644 --- a/demos/quickstart/protected/pages/Controls/RadioButton.page +++ b/demos/quickstart/protected/pages/Controls/RadioButton.page @@ -1,6 +1,6 @@ -

    TRadioButton

    +

    TRadioButton

    diff --git a/demos/quickstart/protected/pages/Controls/Repeater.page b/demos/quickstart/protected/pages/Controls/Repeater.page index c40517f3..795e27aa 100644 --- a/demos/quickstart/protected/pages/Controls/Repeater.page +++ b/demos/quickstart/protected/pages/Controls/Repeater.page @@ -1,6 +1,6 @@ -

    TRepeater

    +

    TRepeater

    TRepeater displays its content defined in templates repeatedly based on the given data specified by the DataSource or DataSourceID property. The repeated contents can be retrieved from the Items property. Each item is created by instantiating a template and each is a child control of the repeater.

    diff --git a/demos/quickstart/protected/pages/Controls/SafeHtml.page b/demos/quickstart/protected/pages/Controls/SafeHtml.page index 565c8251..995ceb50 100644 --- a/demos/quickstart/protected/pages/Controls/SafeHtml.page +++ b/demos/quickstart/protected/pages/Controls/SafeHtml.page @@ -1,6 +1,6 @@ -

    TSafeHtml

    +

    TSafeHtml

    diff --git a/demos/quickstart/protected/pages/Controls/Statements.page b/demos/quickstart/protected/pages/Controls/Statements.page index dd26ec1b..3f3bd1fc 100644 --- a/demos/quickstart/protected/pages/Controls/Statements.page +++ b/demos/quickstart/protected/pages/Controls/Statements.page @@ -1,6 +1,6 @@ -

    TStatements

    +

    TStatements

    diff --git a/demos/quickstart/protected/pages/Controls/Table.page b/demos/quickstart/protected/pages/Controls/Table.page index 75fa3fc1..e0f5586e 100644 --- a/demos/quickstart/protected/pages/Controls/Table.page +++ b/demos/quickstart/protected/pages/Controls/Table.page @@ -1,6 +1,6 @@ -

    TTable

    +

    TTable

    diff --git a/demos/quickstart/protected/pages/Controls/TextBox.page b/demos/quickstart/protected/pages/Controls/TextBox.page index 64cb826a..b4d1576f 100644 --- a/demos/quickstart/protected/pages/Controls/TextBox.page +++ b/demos/quickstart/protected/pages/Controls/TextBox.page @@ -1,6 +1,6 @@ -

    TTextBox

    +

    TTextBox

    diff --git a/demos/quickstart/protected/pages/Controls/TextHighlighter.page b/demos/quickstart/protected/pages/Controls/TextHighlighter.page index 40806b02..285a6f3e 100644 --- a/demos/quickstart/protected/pages/Controls/TextHighlighter.page +++ b/demos/quickstart/protected/pages/Controls/TextHighlighter.page @@ -1,6 +1,6 @@ -

    TTextHighlighter

    +

    TTextHighlighter

    diff --git a/demos/quickstart/protected/pages/Controls/Validation.page b/demos/quickstart/protected/pages/Controls/Validation.page index 6d83af3d..a28c8faf 100644 --- a/demos/quickstart/protected/pages/Controls/Validation.page +++ b/demos/quickstart/protected/pages/Controls/Validation.page @@ -1,6 +1,6 @@ -

    Validation Controls

    +

    Validation Controls

    Validation controls, called validators, perform validation on user-entered data values when they are post back to the server. The validation is triggered by a postback control, such as a TButton, a TLinkButton or a TTextBox (under AutoPostBack mode) whose CausesValidation property is true. @@ -32,14 +32,14 @@ Validators share a common set of properties, which are defined in the base class -

    TRequiredFieldValidator

    +

    TRequiredFieldValidator

    TRequiredFieldValidator ensures that the user enters some data in the specified input field. By default, TRequiredFieldValidator will check if the user input is empty or not. The validation fails if the input is empty. By setting InitialValue, the validator can check if the user input is different from InitialValue. If not, the validation fails.

    -

    TRegularExpressionValidator

    +

    TRegularExpressionValidator

    TRegularExpressionValidator verifies the user input against a regular pattern. The validation fails if the input does not match the pattern. The regular expression can be specified by the RegularExpression property. Some commonly used regular expressions include:

    @@ -73,7 +73,7 @@ Note, if the input being validated is empty, TEmailAddressValidator will not do -

    TCompareValidator

    +

    TCompareValidator

    TCompareValidator compares the user input with a constant value specified by ValueToCompare, or another user input specified by ControlToCompare. The Operator property specifies how to compare the values, which includes Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan and LessThanEqual. Before comparison, the values being compared will be converted to the type specified by DataType listed as follows,

    @@ -92,7 +92,7 @@ Note, if the input being validated is empty, TEmailAddressValidator will not do -

    TDataTypeValidator

    +

    TDataTypeValidator

    TDataTypeValidator verifies if the input data is of specific type indicated by DataType. The data types that can be checked against are the same as those in TCompareValidator.

    @@ -104,7 +104,7 @@ TDataTypeValidator verifies if the input data is of specific type indicated by < -

    TRangeValidator

    +

    TRangeValidator

    TRangeValidator verifies whether an input value is within a specified range. TRangeValidator uses three key properties to perform its validation. The MinValue and MaxValue properties specify the minimum and maximum values of the valid range. The DataType property specifies the data type of the value being validated. The value will be first converted into the specified type and then compare with the valid range. The data types that can be checked against are the same as those in TCompareValidator.

    @@ -115,7 +115,7 @@ TRangeValidator verifies whether an input value is within a specified range. TRa -

    TCustomValidator

    +

    TCustomValidator

    TCustomValidator performs user-defined validation (either server-side or client-side or both) on an input control.

    @@ -139,7 +139,7 @@ function ValidationFunctionName(sender, parameter) -

    TValidationSummary

    +

    TValidationSummary

    TValidationSummary displays a summary of validation errors inline on a Web page, in a message box, or both.

    diff --git a/demos/quickstart/protected/pages/Controls/Wizard.page b/demos/quickstart/protected/pages/Controls/Wizard.page index f903e183..ce8bc774 100644 --- a/demos/quickstart/protected/pages/Controls/Wizard.page +++ b/demos/quickstart/protected/pages/Controls/Wizard.page @@ -1,9 +1,9 @@ -

    TWizard

    +

    TWizard

    -

    Overview

    +

    Overview

    TWizard is analogous to the installation wizard commonly used to install software on Windows. It splits a large form and presents the user with a series of smaller forms, called wizard steps, to complete. The following figure shows how a wizard is composed of when presented to users, where step content is the main content of a wizard step for users to complete, header refers to header content common to all steps, navigation contains buttons that allow users to navigate step by step, and side bar contains a list of hyperlinks by which users can reach to any step with one click. The visibility of the side bar can be toggled by setting ShowSideBar.

    @@ -49,15 +49,15 @@ In the above, StepType refers to the type of a wizard step, which can a -

    Using TWizard

    +

    Using TWizard

    -

    A Single-Step Wizard Sample

    +

    A Single-Step Wizard Sample

    In this sample, we use wizard to collect user's preference of color. In the first step, the user is presented with a dropdown list from which he can choose hist favorite color. In the second step, the complete step, his choice in the previous step is displayed. In real application, at this step the choice may be stored in database in the backend.

    -

    Customizing Wizard Styles

    +

    Customizing Wizard Styles

    TWizard defines a whole set of properties for customization of appearance of its various components as shown in the above figure. In particular, the following properties are provided for style customization:

    @@ -69,7 +69,7 @@ In this sample, we use wizard to collect user's preference of color. In the firs -

    Customizing Wizard Navigation

    +

    Customizing Wizard Navigation

    Given a set of wizard steps, TWizard supports three different ways of navigation among them:

    @@ -80,7 +80,7 @@ Given a set of wizard steps, TWizard supports three different ways of n -

    Using Templates in Wizard

    +

    Using Templates in Wizard

    TWizard supports more concrete control of its outlook through templating. In particular, it provides the following template properties that allow complete customization of the wizard's header, navigation and side bar.

    @@ -91,7 +91,7 @@ Given a set of wizard steps, TWizard supports three different ways of n -

    Using Templated Wizard Steps

    +

    Using Templated Wizard Steps

    Wizard steps can also be templated. By using TTemplatedWizardStep, one can customize step content and navigation through its ContentTemplate and NavigationTemplate properties, respectively. This is useful for control developers to build specialized wizards, such as user registration, shopping carts, etc.

    -- cgit v1.2.3

    Composition is the easiest way of creating new controls. It mainly involves instantiating existing controls, configuring them and making them the constituent components. The properties of the constituent components are exposed through subproperties.