2013-03-22 37 views
0

我有一个Ext.Net.ComboBox。它已通过使用SQL查询填充。在ext.net中的组合框监听器

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

例如, comboBox包含以下值。

Test1 
Test2 
MyTest 
ComboTest 

因此,当我在comboBox中输入'Com'值时,它应该只筛选和显示ComboTest。 但是如果我输入Test,那么应该显示Test1,Test2和ComboTest。

请帮我一把。提前致谢。

编辑:请参阅this

回答

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>