`
忧里修斯
  • 浏览: 426255 次
  • 性别: 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 comboBox 下拉框全国地址联动 的整个项目代码

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

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

    JS封装的模拟ComboBox的类

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

    comboBox分页控件

    应用与winform的C#语言开发,类似于comboBox的一个控件,实现了分页功能,在下拉列表框中可以多行,多列显示,方便显示内容比较多的情况。封装的比较粗糙,没有做美工,大家可以自己去增加美工的功能。

    ComboBox控件首字母检索

    C# ComboBox控件针对首字母检索的两种做法 一种是封装ComboBox控件 但对DataSource不可以更改 另一种是连接SQL获取数据源 两行数据 zm和Titles 如:zm存放(bj)Titles存放(北京) 通过委托查找数据 两种方法随君所...

    wpf 带treeview的combobox 自定义控件

    在combobox中加入treeview 将要显示的数据封装在控件自定义的对象类型中即可显示

    用UIAutomation封装了很多实用的方法

    根据UIAutomation封装了很多自定义方法 现在只需要实例化之后 直接调用方法即可完成。比如单击某个按钮,现在只需要直接调用ClickElement,非常实用。 ClickElement 单击指定的自动化元素 ...

    A combobox that encapsulates the functionality of CRecentFil

    A combobox that encapsulates the functionality of CRecentFileList 封装CRecentFileList的组合框

    IOS-UIComboBox

    IOS - iphone和ipad封装通用的一个下拉框控件!~

    WPF MulitCheckComboBox 多选下拉控件

    项目中经常需要使用多选下拉交互的控件,于是自己封装了一个helper,用于选择状态的读取,当然还包括多选框样式,仅供参考学习

    CUD:封装基于jquery easyui的增删改操作

    于是,我将这些操作封装起来,形成cud.js。使用cud.js,用户只需定义字段信息(类型、名称等),增删改的url就能实现基本的cud操作。其还提供各种操作回调应对各种特殊情况。使用示例var curd = new CUD("funcWin",{ /...

    在ListCtrl列表控件中添加edit和combo

    在listctrl中添加edit控件和combo box控件 vc6编译通过,封装成类便于复用

    三种CheckComboBox控件

    基于老外的CheckComboBox,因业务不满足,自己另外修改封装的两个控件。一个可输入,一个不可输入,支持checkAll,显示内容更改等。

    Visual C++ 编程资源大全(源码 控件)

    1,WINAPI_OCX.zip 封装了部分Windows API的控件(92KB)<END><br>2,HeaderCtrl.zip 多行标题的CListCtrl(19KB)<END><br>3,RoundBut.zip 你需要圆形的按钮吗?这个类已经替你做好了,它可是有正常、平面、下推...

    C#调用摄像头实现拍照和录像

    封装了一个DLL,源码在项目工程里,调用非常简单方便 msxt = new mSheXiangTou(pictureBox1); List<string> temp = null; if ((temp = msxt.GetVideoDevicesNameList) != null) { foreach (string str in temp) ...

    如何在WPF应用程序中通过HttpClient调用Web API

    本教程是继使用HttpClient调用Web API只有的补充教程,主要讲解了如何在WPF中异步调用Web API且不阻塞主线程。

    Panuon.UI.Silver.dll.rar

    支持WPF ComboBox多选的封装dll,例子地址https://blog.csdn.net/m0_37137902/article/details/107090955

    C#重定义的下拉多选控件,支持显示多列、单选/多选,文件中附有源码

    自己封装的继承自C# Winform中ComboBox的下拉多选控件,操作简单,效果非常好。①,可设置允许单选或多选。②,可绑定List,DataTable,Dictionary,string>类型的数据源。③,在下拉列表中可显示自定义的多列数据。...

    非常好的gwt-ext培训教程

    它扩展了 GWT,在 ExtJs 的基础上实现了有排序功能的表格(Grid)、分页、过滤,支持有拖拽功能的树,高度可定制的组合下拉框(Combobox)、目录、对话框、表单(Form)以及功能丰富、强大且易用的 API。 GWT-Ext ...

Global site tag (gtag.js) - Google Analytics