2

我正在使用具有组合框功能的 Ajax 工具包,正在显示的项目大约是 40,000,所以我想在其上应用过滤器,以便用户在组合框中键入一个字母,并且相应的以字母“a”开头的条目将是显示在组合框中。

我可以有一个想法,我没有使用 Radcombobox,它是一个最简单的组合框。

<asp:ComboBox ID="AppComCombx" runat="server" 
                                CssClass="dropdownpersonal textfont" 
                                onselectedindexchanged="AppComCombx_SelectedIndexChanged" AutoPostBack="true"> 
</asp:ComboBox>
4

2 回答 2

0

试试这个 :AutoCompleteMode = "SuggestAppend"

像这样

<ajaxToolkit:ComboBox ID="ComboBox1" runat="server"
     AutoPostBack="False"
     DropDownStyle="DropDownList"
     AutoCompleteMode="SuggestAppend"
     CaseSensitive="False"
     CssClass=""
     ItemInsertLocation="Append" /> 

欲了解更多信息,请点击此处

于 2012-10-01T08:50:45.897 回答
0

使用下面的脚本添加到ScriptManagerjs 文件的引用中,并使用SuggestNone模式进行组合

Sys.Application.add_load(function () {
    Sys.Extended.UI.ComboBox.prototype._ensureHighlightedIndex = function () {
        // highlight an index according to textbox value
        var textBoxValue = this.get_textBoxControl().value;

        // first, check the current highlighted index
        if (this._highlightedIndex != null && this._highlightedIndex >= 0
            && this._isExactMatch(this._optionListItems[this._highlightedIndex].text, textBoxValue)) {
            return;
        }

        // need to find the correct index
        var firstMatch = -1;
        var ensured = false;
        var children = this.get_optionListControl().childNodes;

        for (var i = 0; i < this._optionListItems.length; i++) {
            var itemText = this._optionListItems[i].text;
            children[i].style.display = this._isPrefixMatch(itemText, textBoxValue) ? "list-item" : "none";

            if (!ensured && this._isExactMatch(itemText, textBoxValue)) {
                this._highlightListItem(i, true);
                ensured = true;
            }
            // if in DropDownList mode, save first match.
            else if (!ensured && firstMatch < 0 && this._highlightSuggestedItem) {
                if (this._isPrefixMatch(itemText, textBoxValue)) {
                    firstMatch = i;
                }
            }
        }

        if (!ensured) {
            this._highlightListItem(firstMatch, true);
        }
    };
});

在这种情况下,AutoCompleteExtender 是更好的选择,因为 ComboBox 将呈现页面上的所有项目

于 2012-10-01T10:50:11.437 回答