`
gtgt1988
  • 浏览: 114291 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

extjs中ComboBox的学习

 
阅读更多

 

Ext.onReady(function(){
	Ext.util.CSS.swapStyleSheet("theme", "../resources/css/"
			+ window.parent.styleCssValue); 
	 Ext.QuickTips.init();// 这句 必须有,用于初始化提示
	 Ext.lib.Ajax.defaultPostHeader += "; charset=utf-8";
	 
	 this.viewport= new Starit.Test.OdnTestViewport();
});


Starit.Test.OdnTestViewport = Ext.extend(Ext.Viewport,{
	constructor:function(){
		this.initView();
	 	Starit.Test.OdnTestViewport.superclass.constructor.call(this,{
	 		renderTo:Ext.getBody(),
	 		layout:'border'
	 	})
	},
	initView:function(){
		this.gridPanel = new Starit.Test.OnuGrid({viewport:this});
		this.items = [this.gridPanel];
	}
});


//GridPanel表格的使用
Starit.Test.OnuGrid = Ext.extend(Ext.grid.GridPanel, {
	constructor : function(cfg) {
		//copy 参数属性到当前对象
		var cfg = cfg || {};
		Ext.apply(this, cfg);
		//加载数据源
		this.store = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({url : 'XXXX.action', method : 'POST'}),
			reader : new Ext.data.JsonReader(
				{totalProperty:'total',root:'root'},
				[{name : 'instanceId'}, {name : 'geoName'}, {name : 'subGeoName'}, 
				{name : 'officeName'}, {name : 'factoryName'}, {name : 'instanceName'}, {name : 'ip'},
				{name : 'devType'},{name : 'userCount'}]
			)
		});
        this.initCombo();//初始化定义的函数
        Starit.Test.OnuGrid.superclass.constructor.call(this, {
			title : 'ONU信息',
			id: '_onuGrid',
			region :'center',
			border : false,
			split:true,
			loadMask : {
				msg : '正在载入数据,请稍候...'
			},
			viewConfig:{
			    forceFit:true
			},
			cm: new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),
				{header : 'XX',dataIndex:'instanceId',  align:'center',width:100,     hidden : true},
				{header : '市', dataIndex:'geoName',          align:'center', width:100,     sortable : true}, 
				{header : '区县',dataIndex:'subGeoName',      align:'center', width:100,    sortable : true}, 
				{header : '局站', dataIndex: 'officeName',     align:'center',  width: 100,   sortable : true},
				{header : 'XX',	 dataIndex: 'factoryName', align:'center', width:100, sortable : true},
				{header : 'XX', dataIndex: 'instanceName',align:'center', width:260,sortable : true}, 
				{header : 'XX', dataIndex: 'ip',       align:'center',      width:160, sortable : true},
				{header : '设备型号', dataIndex: 'devType',align:'center',    width:100,  sortable : true },
				{header : 'XX',dataIndex: 'userCount', align:'center',    width:110,  sortable : true},
				{header : 'XX',dataIndex: 'test',       align:'center',     width:110,  sortable : true, renderer: this.testRender}
			]),
//分页组建的使用
			bbar: new Ext.PagingToolbar({
				pageSize : 30,
				store : this.store,
				firstText : '第一页',
				nextText : '下一页',
				prevText : '上一页',
				refreshText : '刷新',
				lastText : '最后一页',
				beforePageText : '当前',
				afterPageText : '页/共{0}页',
				displayInfo : true,
				displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
				doLoad:function(C){			//为了点击下一页传递参数用
					var B={};
					A=this.paramNames;
					B[A.start]=C;
					B[A.limit]=this.pageSize;
					B['cityId']=cityId;
					B['countyId'] = countyId;
					B['officeId'] = officeId;
					B['oltId'] = oltId;
					B['factoryId'] = factoryId ;
					B['name'] = name ;
					if(this.fireEvent("beforechange",this,B)!==false){
						this.store.load({params: B});
					}
				},
				emptyMsg : "没有记录"
			}),
//工具栏
			tbar: new Ext.Toolbar({
				items : [
					'市:', this.cityCombo, '-', '区县:', this.countyCombo, '-','局站:', this.officeCombo, '-',
					'厂商:', this.factoryCombo,'-', 'OLT:', this.oltCombo, '-','过滤条件:', this.nameText,'-',
				    {text : '查询',iconCls : 'find', handler :this.doQuery,scope : this},'->','-',
				    {text : '按用户测试',iconCls : 'update', handler :this.userTest,scope : this},'-'
				]
			})
        });
        this.initListener();
	},


initCombo:function(){
		this.cityCombo = new Ext.form.ComboBox({
			width : 80,
			editable : false,
			valueField : "geoid",
			displayField : "geoname",
			mode : 'local',
			selectAllOn:true,
			triggerAction : 'all',
			allowBlank : true,
			emptyText : '请选择',
			store:  new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({url : '../XXXXX.action',method : 'POST'}),
				reader : new Ext.data.JsonReader({}, [
                      {name : 'geoid'}, {name : 'geoname'}
                 ])
			})	
		});
}




说明:
displayField: 'name',valueField: 'id':combobox对应数据源的显示列与值列,这两个属性也是必须的

mode: 'local':指定数据源为本地数据源,如果是本地创建的数据源,该属性也是必须的,如果数据源来自于服务器

   设置为'remote'表示数据源来自于服务器,关于服务器交互后面我们会讲解。
triggerAction: 'all':请设置为”all”,否则默认 为”query”的情况下,你选择某个值后,再此下拉时,只出现匹配选项,
  如果设为all的话,每次下拉均显示全部选项。

editable: false:默认情况下,combobox的内容是可以编辑的,该属性设置为false,





this.cityCombo.store.load({callback:function(){
			this.cityCombo.setValue(-1);
		},scope:this});
该下拉框加载数据时进行赋值操作
		this.cityCombo.on("select", this.countyLoad, this);
on为此元素添加一个事件处理器
该下拉框执行select时间的时候   执行countyLoad函数
多查询API文档
分享到:
评论

相关推荐

    extjs4 ComboBox 点击下拉框 出现grid效果

    在EXTJS4中,ComboBox是一个常用的组件,它用于创建下拉选择框,通常用于输入框的辅助选择。这个组件提供了一种用户友好的方式来从一组预定义的选项中进行选择。然而,根据你的标题和描述,你似乎遇到了一个特别的...

    EXTJS的COMBOBOX级联实现和数据提交VALUE[文].pdf

    EXTJS的ComboBox级联实现是Web应用程序中常见的一种交互方式,尤其在数据表单中用于联动选择。在本文中,我们将深入探讨EXTJS如何实现ComboBox的级联效果,并理解其数据提交VALUE的工作原理。 首先,我们需要创建两...

    extjs editgrid combobox 回显

    在探讨“extjs editgrid combobox 回显”这一主题时,我们主要关注的是如何在ExtJS框架下,实现编辑网格(EditGrid)中的组合框(ComboBox)的值能够正确地回显到网格中。这一功能对于那些需要用户在表单中选择数据...

    extjs 自动补全 模拟combobox

    Combobox是EXTJS中的一个下拉选择框,它可以显示一个下拉列表供用户选择,同时也可以配合自动补全功能。 首先,让我们理解EXTJS的Combobox组件。Combobox由两部分组成:一个文本输入框和一个下拉列表。文本输入框...

    extJs4 ComboBox组合框实例

    extJs4 ComboBox 代码组合框实例,ComboBox 各个主要参数详细解释

    extjs的ComboBox 2级联动

    本文将深入探讨如何在ExtJS中实现ComboBox的二级联动。 首先,我们需要理解ExtJS中的ComboBox基本结构。ComboBox由几个关键部分组成,包括store(数据存储)、displayField(显示字段)和valueField(值字段)。...

    Extjs6中Combobox实现下拉多选

    该资源主要展示了在Extjs6中Combobox控件实现下拉选择多个数据的功能

    Ext combobox 下拉多选框带搜索功能

    在给定的标题“Ext ComboBox 下拉多选框带搜索功能”中,我们关注的是一个特别的ComboBox实现,它不仅允许用户从下拉列表中选择多个选项,还具备搜索功能,使得用户可以更高效地找到他们想要的选择项。 ComboBox在...

    Extjs中ComboBox加载并赋初值的实现方法

    回调函数会在store的数据加载完成之后被调用,这时设置ComboBox的选中项就能确保数据已经被填充到ComboBox中,从而正确显示所需的值。 在代码示例中,editCityStore.load() 方法调用时,通过设置一个callback函数,...

    ExtJS Combobox二级联动列子

    ExtJS的Combobox组件是一种常见的数据输入控件,它提供了下拉列表的功能,用户可以选择列表中的一个选项或者在输入框中自由输入。在实际应用中,我们常常会遇到需要实现二级甚至多级联动的场景,这通常是由于数据的...

    无废话ExtJs 教程十[下拉列表:Combobox]

    - 自定义模板:通过`tpl`配置项,可以自定义Combobox中每个选项的展示样式。 - 自定义过滤:通过监听`beforequery`事件,可以实现自定义的过滤逻辑。 - 动态加载:在`queryMode`为"remote"时,可以通过API动态...

    extjs3.x combobox智能联想

    在EXTJS 3.x版本中,Combobox是一个非常实用的组件,它提供了下拉列表功能,用户可以在输入框中输入文字,系统会根据输入内容自动进行模糊匹配,给出相关的建议选项。这种功能在数据筛选、搜索或者选择项较多时特别...

    Extjs让combobox写起来简洁又漂亮

    在Extjs中,创建一个简洁又漂亮的combobox组件主要包括以下几个关键点: 1. 创建自定义combobox类:通过继承***boBox,我们可以创建一个名为baseCombobox的自定义类。这个类将提供一些基本的配置项,使得我们创建的...

    Extjs学习笔记(-):ComboBox联动

    本篇学习笔记将深入探讨EXTJS中ComboBox的联动效果,即一个ComboBox的选择会触发另一个ComboBox的数据更新,以此来提供更丰富的交互体验。通过源码解析和工具应用,我们将了解如何构建和实现这种联动效果。 ...

    extJs ComboBox级联

    级联ComboBox意味着两个或多个ComboBox之间存在关联,当用户在一个ComboBox中做出选择时,它会更新另一个ComboBox的选项,展示与当前选择相关的数据。 实现ExtJS ComboBox级联的关键在于理解其数据绑定和事件监听...

    extjs中grid中嵌入动态combobox的应用

    在EXTJS中,将动态Combobox嵌入到Grid中是一种常见的需求,这允许用户在单元格内选择一个下拉列表的值,同时保持数据的关联性。以下是对标题和描述中涉及的知识点的详细说明: 1. **Ext.data.JsonStore**: 这是...

    模仿extjs风格写的jquery combobox

    标题中的“模仿extjs风格写的jquery combobox”指的是一个基于jQuery的下拉选择框组件,它的设计灵感来源于ExtJS库的ComboBox控件。ExtJS是一款功能丰富的JavaScript框架,以其强大的组件化和数据绑定机制著名,而...

    Extjs4.0 ComboBox如何实现三级联动

    很多网友在问,Extjs4.0 ComboBox如何实现,好在之前用3.x实现过一个三级联动,如今用Extjs4.0来实现同样的联动效果。其中注意的一点就是,3.x中的model:’local’在Extjs4.0中用queryMode: ‘local’来表示,而且在...

    Extjs4下拉菜单ComboBox中用Grid显示通用控件

    在EXTJS4中,`ComboBox` 是一个非常常用的组件,它提供了一个下拉选择框的功能。在某些场景下,我们可能需要在下拉菜单中展示更丰富的信息,比如表格数据,这时就可以使用 `GridComboBox`。`GridComboBox` 结合了 `...

Global site tag (gtag.js) - Google Analytics