主要记录下由输入法引发的筛选问题,先写下用到的属性(Native是额外的了解):编辑器
先贴代码: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