- 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:
IListControlAdapter
TActiveButton
TActiveCheckBox
TActiveCheckBoxList
TActiveControlAdapter
TActiveCustomValidator
TActiveCustomValidatorClientSide
TActiveDatePicker
TActiveDropDownList
TActiveHiddenField
TActiveHyperLink
TActiveImage
TActiveImageButton
TActiveLabel
TActiveLinkButton
TActiveListBox
TActiveListControlAdapter
TActiveListItemCollection
TActivePageAdapter
TActivePager
TActivePanel
TActiveRadioButton
TActiveRadioButtonList
TActiveRatingList
TActiveTextBox
TAutoComplete
TAutoCompleteEventParameter
TAutoCompleteTemplate
TBaseActiveCallbackControl
TBaseActiveControl
TCallback
TCallbackClientScript
TCallbackClientSide
TCallbackErrorHandler
TCallbackEventParameter
TCallbackOptions
TCallbackPageStateTracker
TCallbackResponseAdapter
TCallbackResponseWriter
TEventTriggeredCallback
TInPlaceTextBox
TInvalidCallbackException
TMapCollectionDiff
TScalarDiff
TStyleDiff
TTimeTriggeredCallback
TTriggeredCallback
TValueTriggeredCallback
TViewStateDiff

Keyword

# Class TAutoComplete

    TComponent
       |
       --TApplicationComponent
          |
          --TControl
             |
             --TWebControl
                |
                --TTextBox
                   |
                   --TActiveTextBox
                      |
                      --TAutoComplete

TAutoComplete class.

TAutoComplete is a textbox that provides a list of suggestion on the current partial word typed in the textbox. The suggestions are requested using callbacks, and raises the onSuggestion event. The events of the TActiveText (from which TAutoComplete is extended from) and onSuggestion are mutually exculsive. That is, if onTextChange and/or OnCallback events are raise, then onSuggestion will not be raise, and vice versa.

The list of suggestions should be set in the onSuggestion event handler. The partial word to match the suggestion is in the TCallbackEventParameter::getCallbackParameter property. The datasource of the TAutoComplete must be set using setDataSource method. This sets the datasource for the suggestions repeater, available through the Suggestions property. Header, footer templates and other properties of the repeater can be access via the Suggestions property and its sub-properties.

The TextCssClass property if set is used to find the element within the Suggestions.ItemTemplate and Suggestions.AlternatingItemTemplate that contains the actual text for the suggestion selected. That is, only text inside elements with CSS class name equal to TextCssClass will be used as suggestions.

To return the list of suggestions back to the browser, supply a non-empty data source and call databind. For example,

     function autocomplete_suggestion($sender, $param)
     {
       $token = $param->getToken(); //the partial word to match
       $sender->setDataSource($this->getSuggestionsFor($token)); //set suggestions
       $sender->dataBind();
     }

The suggestion will be rendered when the dataBind() method is called <strong>during a callback request</strong>.

When an suggestion is selected, that is, when the use has clicked, pressed the "Enter" key, or pressed the "Tab" key, the OnSuggestionSelected event is raised. The TCallbackEventParameter::getCallbackParameter property contains the index of the selected suggestion.

TAutoComplete allows multiple suggestions within one textbox with each word or phrase separated by any characters specified in the Separator property. The Frequency and MinChars properties sets the delay and minimum number of characters typed, respectively, before requesting for sugggestions.

Use onTextChange and/or OnCallback events to handle post backs due to AutoPostBack.

In the Suggestions TRepater item template, all HTML text elements are considered as text for the suggestion. Text within HTML elements with CSS class name "informal" are ignored as text for suggestions.

Since: 3.1
Author: Wei Zhuo <weizhuo[at]gmail[dot]com>

Constants Inherited From TTextBox
DEFAULT_COLUMNS, DEFAULT_ROWS,

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 TRepeater | createRepeater ()
protected TPanel | createResultPanel ()
void | dataBind () Overrides parent implementation. Callback renderSuggestions() when page's IsCallback property is true.
protected string | getClientClassName ()
float | getFrequency ()
integer | getMinChars ()
protected array | getPostBackOptions ()
TPanel | getResultPanel ()
string | getSeparator ()
TRepeater | getSuggestions ()
string | getTextCssClass ()
void | onSuggest ( TCallbackEventParameter $param) This method is invoked when an autocomplete suggestion is requested.
void | onSuggestionSelected ( TCallbackEventParameter $param) This method is invoked when an autocomplete suggestion is selected.
void | raiseCallbackEvent ( TCallbackEventParameter $param) Raises the callback event. This method is overrides the parent implementation.
void | renderCallback ( THtmlWriter $writer) Renders the suggestions during a callback respones.
protected void | renderClientControlScript ( mixed $writer) Override parent implementation, no javascript is rendered here instead the javascript required for active control is registered in addAttributesToRender.
void | renderEndTag ( mixed $writer) Renders the end tag and registers javascript effects library.
protected void | renderResultPanel ( THtmlWriter $writer) Renders the result panel.
void | renderSuggestions ( THtmlWriter $writer) Renders the suggestions repeater.
void | setDataSource ( array $data)
void | setFrequency ( float $value)
void | setMinChars ( integer $value)
string | setSeparator ( mixed $value)
void | setTextCssClass ( string $value)

Methods Inherited From TActiveTextBox
TActiveTextBox::addAttributesToRender(), TActiveTextBox::getActiveControl(), TActiveTextBox::getClientClassName(), TActiveTextBox::getClientSide(), TActiveTextBox::onCallback(), TActiveTextBox::raiseCallbackEvent(), TActiveTextBox::renderClientControlScript(), TActiveTextBox::setText()

Methods Inherited From TTextBox

TTextBox::addAttributesToRender(), TTextBox::getAutoCompleteType(), TTextBox::getAutoPostBack(), TTextBox::getAutoTrim(), TTextBox::getCausesValidation(), TTextBox::getClientClassName(), TTextBox::getColumns(), TTextBox::getData(), TTextBox::getDataChanged(), TTextBox::getEnableClientScript(), TTextBox::getIsValid(), TTextBox::getMaxLength(), TTextBox::getPersistPassword(), TTextBox::getPostBackOptions(), TTextBox::getReadOnly(), TTextBox::getRows(), TTextBox::getSafeText(), TTextBox::getSafeTextParser(), TTextBox::getTagName(), TTextBox::getText(), TTextBox::getTextMode(), TTextBox::getValidationGroup(), TTextBox::getValidationPropertyValue(), TTextBox::getWrap(), TTextBox::loadPostData(), TTextBox::onTextChanged(), TTextBox::raisePostDataChangedEvent(), TTextBox::renderClientControlScript(), TTextBox::renderContents(), TTextBox::setAutoCompleteType(), TTextBox::setAutoPostBack(), TTextBox::setAutoTrim(), TTextBox::setCausesValidation(), TTextBox::setColumns(), TTextBox::setData(), TTextBox::setEnableClientScript(), TTextBox::setIsValid(), TTextBox::setMaxLength(), TTextBox::setPersistPassword(), TTextBox::setReadOnly(), TTextBox::setRows(), TTextBox::setText(), TTextBox::setTextMode(), TTextBox::setValidationGroup(), TTextBox::setWrap()

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

## createRepeater

protected TRepeater createRepeater | ()

Output
TRepeater | new instance of TRepater to render the list of suggestions.
Exception

## createResultPanel

protected TPanel createResultPanel | ()

Output
TPanel | new instance of result panel. Default uses TPanel.
Exception

## dataBind

public void dataBind | ()

Overrides parent implementation. Callback renderSuggestions() when page's IsCallback property is true.

Output
Exception

## getClientClassName

protected string getClientClassName | ()

Output
string | corresponding javascript class name for this TActiveButton.
Exception

## getFrequency

public float getFrequency | ()

Output
float | maximum delay (in seconds) before requesting a suggestion.
Exception

## getMinChars

public integer getMinChars | ()

Output
integer | minimum number of characters before requesting a suggestion.
Exception

## getPostBackOptions

protected array getPostBackOptions | ()

Output
array | list of callback options.
Exception

## getResultPanel

public TPanel getResultPanel | ()

Output
TPanel | suggestion results panel.
Exception

## getSeparator

public string getSeparator | ()

Output
string | word or token separators (delimiters).
Exception

## getSuggestions

public TRepeater getSuggestions | ()

Output
TRepeater | suggestion list repeater
Exception

## getTextCssClass

public string getTextCssClass | ()

Output
string | Css class name of the element to use for suggestion.
Exception

## onSuggest

public void onSuggest | (TCallbackEventParameter $param )

This method is invoked when an autocomplete suggestion is requested.

The method raises 'OnSuggest' event. If you override this method, be sure to call the parent implementation so that the event handler can be invoked.

Input
TCallbackEventParameter | $param | event parameter to be passed to the event handlers
Output
Exception

## onSuggestionSelected

public void onSuggestionSelected | (TCallbackEventParameter $param )

This method is invoked when an autocomplete suggestion is selected.

The method raises 'OnSuggestionSelected' event. If you override this method, be sure to call the parent implementation so that the event handler can be invoked.

Input
TCallbackEventParameter | $param | event parameter to be passed to the event handlers
Output
Exception

## raiseCallbackEvent

public void raiseCallbackEvent | (TCallbackEventParameter $param )

Raises the callback event. This method is overrides the parent implementation.

If AutoPostBack is enabled it will raise OnTextChanged event event and then the OnCallback event. The OnSuggest event is raise if the request is to find sugggestions, the OnTextChanged and OnCallback events are NOT raised. This method is mainly used by framework and control developers.

Input
TCallbackEventParameter | $param | the event parameter
Output
Exception

## renderCallback

public void renderCallback | (THtmlWriter $writer )

Renders the suggestions during a callback respones.

Input
THtmlWriter | $writer | the renderer.
Output
Exception

## renderClientControlScript

protected void renderClientControlScript | (mixed $writer )

Override parent implementation, no javascript is rendered here instead the javascript required for active control is registered in addAttributesToRender.

Input
mixed | $writer |
Output
Exception

## renderEndTag

public void renderEndTag | (mixed $writer )

Renders the end tag and registers javascript effects library.

Input
mixed | $writer |
Output
Exception

## renderResultPanel

protected void renderResultPanel | (THtmlWriter $writer )

Renders the result panel.

Input
THtmlWriter | $writer | the renderer.
Output
Exception

## renderSuggestions

public void renderSuggestions | (THtmlWriter $writer )

Renders the suggestions repeater.

Input
THtmlWriter | $writer | the renderer.
Output
Exception

## setDataSource

public void setDataSource | (array $data )

Input
array | $data | data source for suggestions.
Output
Exception

## setFrequency

public void setFrequency | (float $value )

Input
float | $value | maximum delay (in seconds) before requesting a suggestion. Default is 0.4.
Output
Exception

## setMinChars

public void setMinChars | (integer $value )

Input
integer | $value | minimum number of characters before requesting a suggestion.
Output
Exception

## setSeparator

public string setSeparator | (mixed $value )

Input
mixed | $value |
Output
string | word or token separators (delimiters).
Exception

## setTextCssClass

public void setTextCssClass | (string $value )

Input
string | $value | Css class name of the element to use for suggestion.
Output
Exception