1.easyui
/**
* 下拉框过滤
* @param q
* @param row
* @param keys Array型
* @return
*/
function filterComboboxData(q, row, keys){
if(keys && keys.length > 0){
for(var i=0;i<keys.length;i++){
var result = row[keys[i]].toLowerCase().indexOf(q) > -1;
if(result == true){
return true;
}
}
}else{
var opts = $(this).combobox('options');
return row[opts.textField].toLowerCase().indexOf(q) > -1;
}
}
调用:
<select class="easyui-combobox textbox" id="diagnose2" name="diagnose2" data-options="required:true,valueField:'hcdid',textField:'name',url:'app/menzhen/listAllDiagnosis.do',filter: filterCombo"></select>
function filterCombo(q, row){
var keys = new Array();
keys[keys.length] = 'name';
keys[keys.length] = 'wubicode';
keys[keys.length] = 'pinyincode';
return filterComboboxData(q, row, keys);
}
2.ext
/**
* ext filterCombobox输入过滤
* @param qe
* @param keys Array型
* @return
*/
function filterCombobox(qe,keys){
//combo,query,forceAll,cancel
var combo = qe.combo;
var q = qe.query;
var forceAll = qe.forceAll;
if(forceAll === true || (q.length >= combo.minChars)){
if(combo.lastQuery !== q){
combo.lastQuery = q;
if(combo.mode == 'local'){
combo.selectedIndex = -1;
if(forceAll){
combo.store.clearFilter();
}else{//写自己的模糊过滤条件
combo.store.filterBy(function(record,id){
var result = false;
if(keys && keys.length > 0){
for(var j=0; j=keys.length; j++){
var text = record.get(keys[i]);
var val=combo.getValue();
//过滤掉与输入框的值相等的记录
if(text==val){
return false;
}
result = (text.indexOf(q)!= -1);
if(result == true){
break;
}
}
}else{
var text = record.get(combo.displayField);
var val=combo.getValue();
//过滤掉与输入框的值相等的记录
if(text==val){
return false;
}
result = (text.indexOf(q)!= -1);
}
return result;
});
}
combo.onLoad();
}else{
combo.store.baseParams[combo.queryParam] = q;
combo.store.load({
params: combo.getParams(q)
});
combo.expand();
}
}else{
combo.selectedIndex = -1;
combo.onLoad();
}
}
return false;
}
调用:
new Ext.form.ComboBox({
store: new Ext.data.SimpleStore({
fields: [{name: 'feeId',mapping:'feeId'},{name: 'feeName',mapping:'feeName'},{name: 'spec',mapping:'spec'},
{name: 'unit',mapping:'unit'},{name: 'price',mapping:'price'},{name: 'yibao',mapping:'yibao'}],
data:feeNameData
}),displayField: 'feeName', valueField: 'feeId', mode: 'local',allowBlank: false,
editable: true, hideTrigger:false, selectOnFocus: true,forceSelection: true,triggerAction: 'all',
listeners:{
beforequery: function(qe){
var keys = new Array();
keys[keys.length] = 'name';
keys[keys.length] = 'wubicode';
keys[keys.length] = 'pinyincode';
return filterCombobox(qe,keys);
}
}
})
相关推荐
这个自定义ComboBox下拉框的主要特点包括: 1. **复选框集成**:在下拉列表的每一项中都包含了复选框,用户可以勾选多个选项,这对于需要多选的场景非常有用。例如,用户可能需要从一组类别中选择多个标签或者兴趣...
在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)应用程序中实现一个基于comboBox的全国地址联动功能。ComboBox是WPF中一个常用的控件,它允许用户在下拉列表中选择一个项或者输入自定义内容...
4. 如果你的数据源来自数据库或其他复杂结构,你可能需要先将数据加载到内存中的一个列表,或者使用数据库的模糊查询功能(如SQL的LIKE操作符)来过滤数据,然后再更新ComboBox的DataSource。 通过以上步骤,你就能...
Delphi为StringGrid网格显示控件中增加下拉框功能,也就是在Grid控件中添加Combobox下拉列表的功能,在任意列显示一个ComboBox功能,如演示截图所示,可大大扩展Grid的功能。生成列表: with Sender as TComboBox ...
好用的combobox下拉框
总之,要实现"C# ComboBox(winform) 显示多列 输入自动过滤"的功能,需要对原生ComboBox控件进行扩展,添加多列显示的绘制逻辑和输入过滤的处理机制。通过这样的自定义,我们能够提供更丰富的用户体验,同时增强应用...
总结,实现“ComBoBox下拉框图片文字显示源码”主要涉及自定义控件、处理DrawItem事件、管理图片资源和数据结构。这是一个对用户界面定制化程度较高的功能,适用于需要丰富视觉效果的Windows应用程序。通过这种方式...
实现多选的ComboBox下拉框,一种常见的方法是利用CheckedListBox控件。CheckedListBox允许用户勾选多个项,我们可以将其作为ComboBox的下拉列表。当用户选择一个或多个项后,将选中的项的文本显示在ComboBox的文本...
然而,标准的`ComboBox`并不直接支持模糊查询功能,即输入部分文本后就能显示出匹配的选项。为了实现这一功能,开发者通常需要自定义控件或者扩展`ComboBox`的行为。这里我们讨论的是一个自定义的"带模糊查询的...
本文介绍C# 枚举绑定到ComboBox下拉框的实际开发代码,是开发人员的实际经验总结;绑定原理也适用于其他开发语言,如:Java、C++等
本主题将深入探讨一个特定的自定义控件——“通用型带CheckBox的ComboBox下拉框控件”。这个控件结合了ComboBox的下拉功能和CheckBox的选择特性,使得用户在选择下拉项时能有更多的交互方式。 ComboBox是Windows ...
C#WinForm的ComboBox控件自定义实现自动模糊匹配查找数据的方法 与控件自带的AutoCompleteMode类似,完美实现模糊匹配,解决AutoCompleteMode只能从左向右匹配的问题
本方法和用checkbox, listbox等控件和事件拼凑出来的不同,本方法是一个集成的独立控件,基本实现了控件的顺滑度,下拉框可悬浮等效果,可以认为是comboBox的升级版,使用方便,仅需引用编译好的DLL,直接在toolBox...
本项目“ios-自定义ComboBox下拉框组件”正是为了解决这一问题,它提供了一个类似网页中ComboBox的功能,使得用户可以在输入框中进行选择操作,提升界面的交互性。 该组件的核心在于其自定义的下拉框效果,它允许...
combobox下拉框插件,具体的api可见combobox官网,主要特色是很方便地进行级联选择,这里是js压缩后的版本,使用时之间放入html即可,更加轻巧可用。
下面我们将详细探讨如何实现C# WinForm Combobox控件的模糊查询功能。 首先,我们需要了解Combobox的基本结构和事件。Combobox通常有两种模式:简单模式和dropdown模式。在dropdown模式下,用户可以输入自定义文本...
然而,有时我们可能需要在特定单元格中提供更丰富的交互功能,比如添加一个Combobox(下拉框)来让用户从预设选项中选择。本教程将详细介绍如何在StringGrid中嵌入Combobox控件,以增强用户界面的可操作性和用户体验...
在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)中使用DataGrid控件结合ComboBox实现数据绑定。WPF是.NET Framework的一部分,提供了一种强大的UI开发工具,支持丰富的图形效果和数据绑定...
这个主题涵盖了几个关于ComboBox的高级特性和定制方法,包括改变下拉高度、强制展开下拉列表、实现自动查询功能、创建多列下拉框、应用XP风格以及添加图标到ComboBox。 1. 改变ComboBox下拉高度:默认情况下,...