ext.net中的组合框监听器

时间:2013-03-22 08:10:06

标签: ext.net

我有一个Ext.Net.ComboBox。它已通过使用SQL查询填充。

现在我需要根据输入的文本过滤组合框的元素。

例如。 comboBox包含以下值。

Test1  
Test2  
MyTest  
ComboTest

因此,当我在comboBox中输入值'Com'时,它应该过滤并仅显示ComboTest。 但是如果我输入Test然后Test1,则应显示Test2和ComboTest。

请帮帮我。提前致谢。

修改:参考this

1 个答案:

答案 0 :(得分:0)

根据此主题尝试以下内容:http://forums.ext.net/showthread.php?16466-CLOSED-combobox-search-pattern

<%@ Page Language="C#" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!X.IsAjaxRequest)
        {
            Store store = this.ComboBox1.GetStore();
            store.DataSource = new object[] 
            { 
                new object[] { "1", "ab" },
                new object[] { "2", "ac" },
                new object[] { "3", "ba" },
                new object[] { "4", "bc" },
                new object[] { "5", "ca" },
                new object[] { "6", "cb" }
            };
            store.DataBind();
        }
    }
</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ext.Net Example</title>
</head>
<body>
    <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:ComboBox 
            ID="ComboBox1" 
            runat="server" 
            MinChars="1"
            Mode="Local">
            <Store>
                <ext:Store runat="server">
                    <Reader>
                        <ext:ArrayReader>
                            <Fields>
                                <ext:RecordField Name="value" />
                                <ext:RecordField Name="text" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                </ext:Store>
            </Store>
            <Listeners>
                <BeforeQuery Handler="var q = queryEvent.query;
                                      queryEvent.query = new RegExp(q);
                                      queryEvent.query.length = q.length;" />
            </Listeners>
        </ext:ComboBox>
    </form>
</body>
</html>
相关问题