`
忧里修斯
  • 浏览: 432314 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ComboBox封装

阅读更多
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 comboBox 下拉框全国地址联动

    在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)应用程序中实现一个基于comboBox的全国地址联动功能。ComboBox是WPF中一个常用的控件,它允许用户在下拉列表中选择一个项或者输入自定义内容...

    ios在ib模式下,自定义combobox

    7. **扩展性**:为了提高复用性和扩展性,可以考虑将ComboBox封装成一个UI组件库的一部分,这样在多个项目中都能方便地使用。 总之,自定义ComboBox在iOS中是一项涉及视图布局、事件处理、数据管理等多个方面的任务...

    iOS自定义ComboBox

    此外,对于大型项目,可能需要将ComboBox封装成一个可重用的UI组件,通过协议或委托方式与其他视图控制器通信,确保代码的可维护性和灵活性。 TestCustomComboBox这个文件可能是这个自定义ComboBox的实现代码或测试...

    [c++中文化编程]之ComboBox(组合框)的类封装。

    在这个特定的场景下,我们关注的是ComboBox控件的类封装,这是一个在Windows GUI应用程序中常用的选择项组件。ComboBox通常由一个下拉列表和一个文本输入框组成,用户可以在输入框中直接键入或者从下拉列表中选择一...

    ComboBox中添加颜色和式样

    但是,使用反射应谨慎,因为它可能导致性能下降,并且可能破坏封装原则。 总结起来,通过GDI+,我们可以为ComboBox创建自定义的视觉效果,如填充颜色和各种填充样式。同时,反射技术可以让我们深入到控件的内部,以...

    VC++中的ComboBox

    这通常涉及对控件的进一步封装和定制。 通过研究和实践这个“CComboBox”示例代码,初学者不仅可以了解ComboBox的基本用法,还能学习到如何在VC++中处理控件事件、管理控件状态以及与其他控件交互等技巧。这将有助...

    JS封装的模拟ComboBox的类

    模拟windows桌面程序中ComboBox的可以输入属性,可以js封装的类接口可以动态添加ComboBox中的项。

    C# WinForm 自定义ComboBox 显示颜色下拉框

    6. **扩展性**:为了保持代码的可维护性和可扩展性,自定义的ComboBox控件应该具有良好的封装性,对外暴露必要的属性和方法,比如AddColor、RemoveColor、GetSelectedColor等。 7. **兼容性与性能**:由于项目在VS...

    WinForm中comboBox控件数据绑定实现方法

    这时候我们可以创建一个类,把value和text都封装到这个类,作为list的类型。例如: ```csharp public class Info { public string Id { get; set; } public string Name { get; set; } } private void bindCbox()...

    ComBoBox动态实例asp+zip

    "combobox.js"很可能是一个JavaScript文件,封装了与ComboBox相关的功能,如动态加载、事件处理、用户交互等。JavaScript函数可以用于创建Ajax请求,例如: ```javascript function loadComboBox() { var xhr = ...

    ASP.NET ComboBox控件

    此外,可以使用ASP.NET的分部视图(User Control或ASCX文件)来封装ComboBox的逻辑,这样可以在多个页面上复用。 7. **性能优化**: 当数据量较大时,考虑使用异步加载(AJAX)来提高性能,只在需要时才加载下拉...

    ComboBox实现的颜色选择框

    我们可以创建一个自定义的`ColorComboBox`类,继承自`ComboBox`,并将所有自定义逻辑封装在这个类中。 在实现过程中,我们需要考虑以下步骤: - 初始化颜色列表,每个颜色项包含颜色值和显示文本。 - 创建并设置`...

    重绘ComboBox控件

    6. **继承与封装**:为了保持代码的整洁和可维护性,通常会创建一个新的ComboBox子类,并将所有自定义逻辑封装在其中。这样,其他开发者可以轻松地在项目中使用这个定制的ComboBox控件。 综上所述,重绘ComboBox...

    有关ComboBox控件重写,的颜色选项框。

    在Windows编程领域,ComboBox是一个常用的控件,它结合了文本输入框和下拉列表的功能,用户可以在输入框中...在开发过程中,确保遵循良好的编程实践,包括适当的封装、错误处理和文档记录,以确保代码的质量和稳定性。

    delphi 在stringGrid控件中嵌入ComboBox

    在实际项目中,我们可能会将这些功能封装成一个自定义组件或者函数,以便在多个地方复用。 在标签"delphi stringGrid 嵌入 ComboBox"中,我们可以看到这是关于Delphi编程,特别是涉及到StringGrid和ComboBox两个...

    添加数据ok_combo和Extended Combobox.rar

    在IT领域,控件是构建用户界面的重要组成部分,它们提供了与用户交互的界面元素。"添加数据ok_combo和Extended Combobox.rar"这个压缩包...同时,这样的实践也有助于理解面向对象编程中的封装、继承和多态等核心概念。

    ComboBox 绑定数据库

    在实际开发中,为了提高代码的可维护性和可重用性,通常会将数据库操作封装到单独的数据访问层(DAL)或业务逻辑层(BLL)。这样,即使数据源发生变化,也不需要修改UI层的代码。 综上所述,将数据库数据绑定到`...

    .NET自定义控件--美化ComboBox源码

    7. **封装与重用**:将自定义的ComboBox作为一个独立的类库,方便在多个项目中复用。同时,提供易于配置的属性和方法,以便在使用时调整控件的外观和行为。 在实际编程中,我们需要结合具体的业务场景和设计需求,...

    combobox 下拉多选框带搜索功能

    "Combobox",或者称为下拉列表框,是一种常见的UI组件,它结合了输入框和下拉菜单的功能,允许用户从预定义的选项中选择或输入值。在此场景中,我们关注的是一个具有额外搜索功能的多选 Combobox。 标题 "combobox ...

Global site tag (gtag.js) - Google Analytics