1、调用方式
//部门组合框
var dpCombo = new MyComboBox( {
dataUrl : 'comboServer.jsp',
fieldLabel:'所属部门',
displayField : 'name',
valueField : 'idno',
params : {
type : 'department'//部门,即字段名称
}
});
2、MyComboBox.js
MyComboBox = Ext.extend(Ext.form.ComboBox, {
displayField : this.displayField,
valueField : this.valueField,
width:150,
editable:false,
emptyText : '请选择',// 默认值
mode : 'remote',
triggerAction : 'all',
initComponent : function() {
// 在组件初始化期间调用的代码
this.children = [];
// 调用父类构造函数(必须)
MyComboBox.superclass.initComponent.apply(this, arguments);
// 设置数据源
this.store = new Ext.data.Store( {
baseParams : this.params || {},
proxy : new Ext.data.HttpProxy( {
url : this.dataUrl
}),
reader : new Ext.data.JsonReader( {
root : 'data',
totalProperty : 'totalSize'
}, [ {
name : this.displayField,
mapping : this.displayField
}, {
name : this.valueField,
mapping : this.valueField
}])
});
},
// 设置默认值,并触发Select 事件
setDefaultValue : function(v) {
this.setValue(v);
this.fireEvent('select', this);
},
//向数据源添加request参数
addParam : function(parameters) {
Ext.apply(this.store.baseParams, parameters);
},
listeners : {
select : function(combo, record, index) {
Ext.each(this.children, function(child) {
// child.clearValue();
// 级联的子下拉框会多发送一个&parent=..的参数,后端据此可以做出判断如何加载数据
child.addParam( {
parent : combo.value
});
child.reload();
});
}
},
/**//** 添加下级级联的下拉框 */
addChild : function(child) {
this.children.push(child);
return this;
},
/** 重新加载数据源 */
reload : function() {
if (this.store)
this.store.load();
if (this.defaultValue) {
this.setDefaultValue(this.defaultValue);
this.defaultValue = null; // 默认值,只初始化一次
}
return this;
}
});
分享到:
相关推荐
在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)应用程序中实现一个基于comboBox的全国地址联动功能。ComboBox是WPF中一个常用的控件,它允许用户在下拉列表中选择一个项或者输入自定义内容...
7. **扩展性**:为了提高复用性和扩展性,可以考虑将ComboBox封装成一个UI组件库的一部分,这样在多个项目中都能方便地使用。 总之,自定义ComboBox在iOS中是一项涉及视图布局、事件处理、数据管理等多个方面的任务...
此外,对于大型项目,可能需要将ComboBox封装成一个可重用的UI组件,通过协议或委托方式与其他视图控制器通信,确保代码的可维护性和灵活性。 TestCustomComboBox这个文件可能是这个自定义ComboBox的实现代码或测试...
在这个特定的场景下,我们关注的是ComboBox控件的类封装,这是一个在Windows GUI应用程序中常用的选择项组件。ComboBox通常由一个下拉列表和一个文本输入框组成,用户可以在输入框中直接键入或者从下拉列表中选择一...
但是,使用反射应谨慎,因为它可能导致性能下降,并且可能破坏封装原则。 总结起来,通过GDI+,我们可以为ComboBox创建自定义的视觉效果,如填充颜色和各种填充样式。同时,反射技术可以让我们深入到控件的内部,以...
这通常涉及对控件的进一步封装和定制。 通过研究和实践这个“CComboBox”示例代码,初学者不仅可以了解ComboBox的基本用法,还能学习到如何在VC++中处理控件事件、管理控件状态以及与其他控件交互等技巧。这将有助...
模拟windows桌面程序中ComboBox的可以输入属性,可以js封装的类接口可以动态添加ComboBox中的项。
这时候我们可以创建一个类,把value和text都封装到这个类,作为list的类型。例如: ```csharp public class Info { public string Id { get; set; } public string Name { get; set; } } private void bindCbox()...
6. **扩展性**:为了保持代码的可维护性和可扩展性,自定义的ComboBox控件应该具有良好的封装性,对外暴露必要的属性和方法,比如AddColor、RemoveColor、GetSelectedColor等。 7. **兼容性与性能**:由于项目在VS...
"combobox.js"很可能是一个JavaScript文件,封装了与ComboBox相关的功能,如动态加载、事件处理、用户交互等。JavaScript函数可以用于创建Ajax请求,例如: ```javascript function loadComboBox() { var xhr = ...
此外,可以使用ASP.NET的分部视图(User Control或ASCX文件)来封装ComboBox的逻辑,这样可以在多个页面上复用。 7. **性能优化**: 当数据量较大时,考虑使用异步加载(AJAX)来提高性能,只在需要时才加载下拉...
我们可以创建一个自定义的`ColorComboBox`类,继承自`ComboBox`,并将所有自定义逻辑封装在这个类中。 在实现过程中,我们需要考虑以下步骤: - 初始化颜色列表,每个颜色项包含颜色值和显示文本。 - 创建并设置`...
6. **继承与封装**:为了保持代码的整洁和可维护性,通常会创建一个新的ComboBox子类,并将所有自定义逻辑封装在其中。这样,其他开发者可以轻松地在项目中使用这个定制的ComboBox控件。 综上所述,重绘ComboBox...
在Windows编程领域,ComboBox是一个常用的控件,它结合了文本输入框和下拉列表的功能,用户可以在输入框中...在开发过程中,确保遵循良好的编程实践,包括适当的封装、错误处理和文档记录,以确保代码的质量和稳定性。
在实际项目中,我们可能会将这些功能封装成一个自定义组件或者函数,以便在多个地方复用。 在标签"delphi stringGrid 嵌入 ComboBox"中,我们可以看到这是关于Delphi编程,特别是涉及到StringGrid和ComboBox两个...
在IT领域,控件是构建用户界面的重要组成部分,它们提供了与用户交互的界面元素。"添加数据ok_combo和Extended Combobox.rar"这个压缩包...同时,这样的实践也有助于理解面向对象编程中的封装、继承和多态等核心概念。
在实际开发中,为了提高代码的可维护性和可重用性,通常会将数据库操作封装到单独的数据访问层(DAL)或业务逻辑层(BLL)。这样,即使数据源发生变化,也不需要修改UI层的代码。 综上所述,将数据库数据绑定到`...
7. **封装与重用**:将自定义的ComboBox作为一个独立的类库,方便在多个项目中复用。同时,提供易于配置的属性和方法,以便在使用时调整控件的外观和行为。 在实际编程中,我们需要结合具体的业务场景和设计需求,...
"Combobox",或者称为下拉列表框,是一种常见的UI组件,它结合了输入框和下拉菜单的功能,允许用户从预定义的选项中选择或输入值。在此场景中,我们关注的是一个具有额外搜索功能的多选 Combobox。 标题 "combobox ...