ASPxComboBox篩選問題(不包含簡拼全拼搜索)

主要記錄下由輸入法引發的篩選問題,先寫下用到的屬性(Native是額外的瞭解):編輯器

  • Native:組合框控件是否呈現爲標準的HTML下拉列表框,true:是,false:否,默認爲false;
  • IncrementalFilteringMode:根據輸入框中的文本動態篩選過濾列表選項,None:無篩選功能,默認值爲None
    • None:無篩選功能,默認值爲None
    • StartsWith:搜索從字符串開頭開始,搜所得首個字符非開頭字符會無搜索結果
    • Contains:搜索從任意字符開始均可以
  • DropDownStyle:獲取或設置一個值,該值指定終端用戶更改組合框編輯器的編輯值的方式,默認爲DropDownList
    • DropDown:用戶能夠從下拉列表中選擇編輯器的值容許從下拉框選值,也能夠手動輸入值
    • DropDownList:用戶只能夠從下拉列表中選擇編輯器的值

先貼代碼:ide

 function onValueChange(s, e) {
            if (s.GetSelectedIndex() == -1) {
                s.SetValue(s.lastChangedValue);
                return;
            }
        }
        <h4>不可篩選</h4>
        <span>Native="true":組合框控件呈現爲標準的HTML下拉列表框,默認爲false</span><br />
        <dxe:ASPxComboBox ID="ASPxComboBox1" Width="200" ClientInstanceName="ASPxComboBox1"
            runat="server" ValueField="Code" TextField="Name" Native="true">
        </dxe:ASPxComboBox><br />
        <span>Native="true",默認爲false</span>
        <dxe:ASPxComboBox ID="ASPxComboBox2" Width="200" ClientInstanceName="ASPxComboBox2" runat="server" ValueField="Code" TextField="Name" Native="false"> </dxe:ASPxComboBox> <h4>能夠文字篩選(未考慮簡拼全拼篩選)</h4> <dxe:ASPxComboBox ID="ASPxComboBox3" Width="200" ClientInstanceName="ASPxComboBox3" runat="server" ValueField="Code" TextField="Name" IncrementalFilteringMode="Contains"> </dxe:ASPxComboBox> <h4>能夠文字篩選(未考慮簡拼全拼篩選,輸入法引發的篩選異常)</h4> <dxe:ASPxComboBox ID="ASPxComboBox4" Width="200" ClientInstanceName="ASPxComboBox4" runat="server" ValueField="Code" TextField="Name" DropDownStyle="DropDown" IncrementalFilteringMode="Contains"> <ClientSideEvents SelectedIndexChanged="onValueChange" /> </dxe:ASPxComboBox>

Native屬性的效果:函數

添加篩選功能,要用到IncrementalFilteringMode屬性。當值爲DropDownList時,有些輸入法在拼音輸入時文本直接落在文本框內,DropDownList要求文本框內的值要與列表內的選項匹配才能存活於文本框內,不然就會被自動清除,因此咱們拼音輸入法搜索時能搜到但界面效果很差,看不到輸入的文本。spa

 

 

 當值爲DropDown時效果仍是不錯的,能夠輸入非列表選項裏的值,若是隻容許文本框裏的值必須包含在下拉列表裏,能夠添加事件ClientSideEvents,用函數onValueChange控制,若不存在下拉列表裏,賦值爲空或者以前的選項(例中爲以前的選項)3d

相關文章
相關標籤/搜索