Ext.net ComboBox模糊匹配store数据
前台代码:
<ext:ComboBox ID="cbVcode" runat="server" FieldLabel="申请车号<font color=red>*</font>" EmptyText="请输入申请车牌号" AllowBlank="false" BlankText="申请车号不能为空" StoreID="StoreVcode" ValueField="VCode" DisplayField="VCode" ForceSelection="true" Mode="Local" > <Triggers> <ext:FieldTrigger Icon="Clear" HideTrigger="true" Qtip="清空内容" /> </Triggers> <Listeners> <Select Handler="this.triggers[0].show();cbVcodeSelect();" /> <BeforeQuery Fn="comBoxValueSelect"/> <TriggerClick Handler="if (index == 0) { this.clearValue(); this.triggers[0].hide(); #{cbOilInfo}.clearValue();#{txtDriver}.reset();}" /> </Listeners> </ext:ComboBox>
js代码:
///ComboBox 模糊匹配store数据 var comboxCoun = 0; var comBoxValueSelect = function (e) { //e.triggers[0][e.getRawValue().toString().length == 0 ? hide : show](); var com = e.combo; //第一次输入一个值就绑定ComboBox if (comboxCoun == 0) { com.onLoad(); comboxCoun = 1; } if (!e.forceAll) { var value = e.query; com.store.filterBy(function (record, id) { var text = record.get(com.displayField); return (text.indexOf(value) != -1); }); //com.collapse(); com.expand(); return false; } if (com.getRawValue().length > 0) { com.triggers[0].show(); } else { com.triggers[0].hide(); } //用自己的过滤规则,如写正则式 return (text.indexOf(value)!=-1); }); combo.expand(); return false; } }); }
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
JSON转对象(实体类对象)