`
weibawoaini
  • 浏览: 19815 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

EXTJS学习笔记:panelForm和combobox

阅读更多
项目用到EXTJS,开始一直用的是JQuery,所以对EXTJS有点陌生。通过几天的时间终于算是摸到点门路了,这只是我的一些笔记,为了帮助自己记忆写的东西。
下面写写panelForm和combobox的用法:


1、先看看panelForm
var searchForm = new Ext.FormPanel({
		frame : true,
		labelAlign : 'right',
		layout : "form",
		labelWidth : 80,
		border : false,
		items : [{
			layout : 'column',
			border : false,
			baseCls : 'x-plain',
			items : [{
				columnWidth : .25,
				layout : 'form',
				baseCls : 'x-plain',
				border : false,
				defaultType : 'textfield',
				labelWidth : 100,
				defaults : {
				anchor : '93%'
				},
				items : [{
					fieldLabel : '任务名称',
					id : 'qtaskNameId',
					name : 'qtaskName'
				},{
					fieldLabel : '要求完成时间',
					id : 'taskLimitTimeId',
					hiddenName : 'taskLimitTime',
					xtype : 'datefield',
					format : 'Y-m-d',
					altFormats : 'Y-m-d',
					
					maxLength : 50
					},{
					fieldLabel : '创建时间',
					id : 'creationTimeId',
					hiddenName : 'creationTime',
					xtype : 'datefield',
					format : 'Y-m-d',
					altFormats : 'Y-m-d',
					
					maxLength : 50
					}]
			}, {
				columnWidth : .23,
				layout : 'form',
				border : false,
				baseCls : 'x-plain',
				labelWidth : 60,
				defaultType : 'textfield',
				defaults : {
				anchor : '93%'
				},
				items : [
					{
						xtype : 'combo',
						fieldLabel : '任务来源',
						id : 'qtaskSourceId',
						hiddenName : 'qtaskSource',
						valueField : 'dicValue',
						displayField : 'dicCnMsg',
						mode : 'remote',
						loadingText : '加载中...',
						store : taskSourceStore,
						selectOnFocus : true,
						editable : false,
						triggerAction : 'all',
						maxLength : 40
					},
					{
						fieldLabel : '到',
						id : 'taskLimitTimeToId',
						hiddenName : 'taskLimitTimeTo',
						xtype : 'datefield',
						format : 'Y-m-d',
						altFormats : 'Y-m-d',
						maxLength : 50
					},
					{
						fieldLabel : '到',
						id : 'creationTimeToId',
						hiddenName : 'creationTimeTo',
						xtype : 'datefield',
						format : 'Y-m-d',
						altFormats : 'Y-m-d',
						maxLength : 50
					}]
			},{
				columnWidth : '.1',
				text : "查询",
				layout : "form",
				defaultType : "button",
				items : [{
					text : '查询',
					handler : function() {
					
						taskName = Ext.getDom("qtaskNameId").value;
						taskSource = Ext.getDom("qtaskSourceId").value;
						taskLimitTime = Ext.getDom("taskLimitTimeId").value;
						taskLimitTimeToId = Ext.getDom("taskLimitTimeToId").value;
						creationTime = Ext.getDom("creationTimeId").value;
						creationTimeTo = Ext.getDom("creationTimeToId").value;
						
						//alert(taskName+','+taskSource+','+taskLimitTime+','+taskLimitTimeToId+','+creationTime+','+creationTimeTo);
						
						// 加载数据
						queryStore.load({
							params : {
								start : 0,
								limit : 10,
								taskName : taskName,
								taskSource : taskSource,
								taskLimitTime : taskLimitTime,
								taskLimitTimeTo : taskLimitTimeTo,
								creationTime : creationTime,
								creationTimeTo : creationTimeTo
							}
						});
						
						//grid.getStore().reload();
					}
						
				}]
			}]
		}]	
	});	




这是一个查询Form,里面的一些参数是什么意思就不用多说了,网上到处都是。个人觉得formPanel比较麻烦点的就是他的布局问题,开始一直把握不好究竟用哪种布局方式,在网上搜索了一大堆的资料,基本上解决了问题。这方面我也是初学,还向各位JE的大虾请教。
2、combobox

先贴点代码:
items : [
					{
						xtype : 'combo',
						fieldLabel : '任务来源',
						id : 'qtaskSourceId',
						hiddenName : 'qtaskSource',
						valueField : 'dicValue',
						displayField : 'dicCnMsg',
						mode : 'remote',
						loadingText : '加载中...',
						store : taskSourceStore,
						selectOnFocus : true,
						editable : false,
						triggerAction : 'all',
						maxLength : 40
					}


combobox开始的时候也难到我了,一直搞不对它的store,所以一直取不到数据,因为store的数据是从数据字典里面取出来的,所以,先得搞清楚究竟它是怎样同后台交互的,要注意的是combobox现实的数据和其真实的值要搞清楚,valueField 是真实值,displayField 是显示值及我们实际看见的值,而前者是从数据库中取出的实际值。

下面store:
var taskSourceStore = new Ext.data.Store({
	autoLoad : true,
	proxy : new Ext.data.HttpProxy({
	url : 'findDic.do?type=TASK_SOURCE'
	}),
	reader : new Ext.data.JsonReader({
			root : 'root'
	}, [{
		name : 'dicValue',
		type : 'string'
	}, {
	name : 'dicCnMsg',
	type : 'string'
}])
});



EXT很多东西都已经给我们封装好的,而且开发出来的界面确实也不错,开发模式也感觉有点OO,只是个人看法,如果有什么说错的地方请JE的朋友帮忙指正。
分享到:
评论

相关推荐

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

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

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

    `MultiComboSearch_5.TXT`可能是实现这个功能的代码片段或文档,可以进一步分析和学习。 总的来说,这个定制的Ext ComboBox组件结合了多选和搜索功能,提高了用户在大量选项中的交互效率。理解并实现这样的功能对于...

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

    在ExtJS中,下拉列表(Combobox)是常见的组件之一,它结合了输入框和下拉菜单的功能,允许用户进行选择或自由输入。本教程将深入探讨ExtJS中的Combobox组件,包括其基本用法、配置选项、事件处理和自定义功能。 1....

    ExtJS学习笔记.doc

    ExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.docExtJS学习笔记.doc

    extJs 2.1学习笔记

    18. extJs 2.0学习笔记(Ext.Panel终结篇) 40 19. extJs 2.0学习笔记(事件注册总结篇) 45 20. extJs 2.0学习笔记(Ext.Panel篇一) 48 21. extJs 2.0学习笔记(Ext.Panel篇二) 50 22. extJs 2.0学习笔记(Ext.Panel篇三) ...

    Extjs4.0学习笔记

    Extjs4.0学习笔记,以下是部分介绍: xtjs4,创建Ext组件有了新的方式,就是Ext.create(....),而且可以使用动态加载JS的方式来加快组件的渲染,我们再也不必一次加载已经达到1MB的ext-all.js了,本文介绍如何在EXTJS4...

    Extjs 5 学习笔记

    ### Extjs 5 学习笔记之 SenchaCmd 深入解析 #### 一、SenchaCmd 的简介 SenchaCmd 是一个跨平台的命令行工具,它为基于 ExtJS 和 Sencha Touch 应用程序的开发周期提供了全面的支持。从创建应用程序的基础结构到...

    extjs 自动补全 模拟combobox

    总之,EXTJS的Combobox组件结合适当的配置和事件监听,可以轻松实现自动补全功能,无论是本地数据还是远程数据源,都能提供高效且友好的用户体验。在实际开发中,你可以根据项目需求灵活运用这些特性,提高应用的...

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

    在实际项目中,你应该根据需求选择合适的库版本,并通过`ext.js`或`ext-dev.js`引入EXTJS的核心库,然后根据需要引入其他组件,比如ComboBox和Grid。 总结来说,EXTJS4的ComboBox可以通过自定义事件处理和组件嵌套...

    界面框架extjs学习笔记

    EXTJS in Action 是一本专为学习EXTJS编写的书籍,但这里我们主要关注学习笔记中的关键知识点。 首先,EXTJS的目录结构非常重要,因为它包含了所有必要的资源和源码: 1. `adapter`:这部分包含了适配器,用于将...

    ExtJs学习例子:多级联动下拉菜单演示例子

    前台采用ExtJs 2.2.1编写(由于库文件比较大,考虑到大家本机都有了,所以在此没有上传,大家直接改一下路径即可),后台采用asp+access编写(看文件名就知道了). 本例子演示的4级联动菜单:州+国家+城市+地区

    ExtJs学习笔记 ExtJs Api

    适合ExtJs开发人员extjs技术上手以及深入

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    ExtJS2.2学习:再论el和contentEl的区别

    在ExtJS框架中,`el`和`contentEl`是两个重要的配置属性,它们用于定义组件(如Panel)与HTML元素之间的关联。理解这两个属性的区别是构建用户界面时的关键,因为它们决定了组件如何与现有DOM元素交互。 1. **el...

    ExtJs学习笔记,共30讲

    这个学习笔记涵盖了从基础到高级的多个主题,帮助读者深入理解ExtJs的核心概念和技术。以下是一些关键知识点的详细说明: 1. **ExtJs 结构树**:这部分内容可能涉及ExtJs如何构建可自定义的用户界面组件树,包括...

    ExtJs简明教程+Extjs学习笔记

    ExtJs简明教程+Extjs学习笔记,来源网络,免费奉送,我讨厌需要资源分~

Global site tag (gtag.js) - Google Analytics