`
zjnbshifox
  • 浏览: 316110 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

EXT自定义窗体加载数据

阅读更多
我定义了一个自定义窗体,代码如下,其中有一个dataurl属性,是自定义的,主要的功能就是传递自定义窗体要加载数据的url
EditBranchWindow = Ext.extend(Ext.Window, {
		title : '修改',
		width : 350,
		height : 140,
		dataurl : '',
		collapsible : true,
		modal : true,
		defaults : {
			border : false
		},
		buttonAlign : 'center',
		createFormPanel : function() {
			var myproxy = new Ext.data.HttpProxy({
				url : this.dataurl,
				method : 'POST'
			})
			var myds = new Ext.data.Store({
				proxy : myproxy,
				reader : new Ext.data.JsonReader({
					root : 'users',
					totalProperty : 'total',
					successProperty : 'success',
					id : 'id'
				}, [{
					name : 'name',
					mapping : 'name'
				}, {
					name : 'email',
					mapping : 'email'
				}, {
					name : 'id',
					mapping : 'id'
				}])
			});
			/*
			 * var sstore = new Ext.data.SimpleStore({ proxy:proxy });
			 */
			myds.load();
			var mcombo = new Ext.form.ComboBox({
				store : myds,
				displayField : 'name',
				emptyText : '请选择一个用户...',
				// valueField : 'id',
				fieldLabel : '支部管理员',
				id : 'master.id',
				name : 'master.id'
			});

			var editpanel = new Ext.form.FormPanel({
				bodyStyle : 'padding-top:6px',
				defaultType : 'textfield',
				labelAlign : 'right',
				labelWidth : 100,
				labelPad : 0,
				frame : true,
				defaults : {
					allowBlank : false,
					width : 158
				},
				items : [{
					name : 'branch.title',
					fieldLabel : '支部名称',
					blankText : '支部名称不能为空'
				}, mcombo]
			});
			return editpanel;
		},
		subdata : function() {
			if (this.fp.form.isValid()) {
				this.fp.form.submit({
					waitMsg : '正在提交数据...',
					url : 'saveBranch.action',
					success : function(form, action) {
						window.location.reload();
					},
					failure : function(form, action) {
						form.reset();
						Ext.MessageBox.show({
							title : '警告',
							msg : '发生错误!',
							buttons : Ext.MessageBox.OK,
							icon : Ext.MessageBox.ERROR
						});
					}
				});
			} else {
				Ext.MessageBox.alert('提示', '请填写完整');
			}
		},
		initComponent : function() {
			EditBranchWindow.superclass.initComponent.call(this);
			this.fp = this.createFormPanel();
			this.add(this.fp);
			this.addButton('提交', this.subdata, this);
			this.addButton('重置', function() {
				this.fp.form.reset();
			}, this);
		}
	});

在工具栏的按钮单击事件以后加载数据,代码如下:
var newButtonclick = function() {
		var win = new EditBranchWindow({
			title : '添加',
			dataurl : 'new.action'
		});
		win.show();
	};

new.action返回的数据也是正常的,但是combobox无法显示数据,是什么原因?
分享到:
评论
3 楼 chenxiaoji 2008-07-30  
我想问一下:主界面是这样的:左侧是树形菜单,右侧是iframe。假如某个界面有两个combobox,修改的时候,怎么同时绑定displayField和valueField 值!我发现在firefox中运行正常,但是在ie中总有一个combobox显示的是valueField的值!
2 楼 zjnbshifox 2008-02-28  
请教了高手,问题解决
var mcombo = new Ext.form.ComboBox({
			typeAhead: true,
			store : myds,
			displayField : 'name',
			emptyText : '请选择一个用户...',
			valueField : 'id',
			fieldLabel : '支部管理员',
			id : 'master.id',
			name : 'master.id',
			mode:'local'
		});

多了一个mode:'local'就好了,后来在ff里面运行的时候,发现在combo里面输入4个字符,列表就能显示出来,原来combo默认会从远程取数据
1 楼 zjnbshifox 2008-02-28  
没有人知道吗?我用firebug调试的时候,发现ds的数据已经有了,但是combobox里面还是没有数据显示

相关推荐

    ext仿windows操作系统窗体嵌入桌面问题

    在问题的解决方法中,可以看到一级模块窗体的加载方式:通过`createFoodWindow`函数来创建和显示窗口。对于二级及其以上级别的窗体,代码展示了如何在已有的窗口基础上创建新的窗体,例如“新建食物信息”窗口。这里...

    Ext JS动态加载JavaScript创建窗体的方法

    在本文中,我们将深入探讨如何利用Ext JS这一强大的JavaScript框架来动态加载JavaScript创建窗体。 Ext JS是一个用于构建桌面和移动Web应用的富客户端JavaScript框架,它提供了丰富的UI组件和强大的数据管理功能。...

    Ext JS的table设计实例

    最后,将XML数据源绑定到store,数据加载完成后,表格会自动填充这些数据。部署到TOMCAT或其他WEB容器是为了运行后端服务,提供XML数据,实现前后端分离的架构。 在实际应用中,我们可能还需要处理分页、过滤、行...

    ext_v1-1.zip

    EXT JS提供了丰富的组件库,包括数据管理、图表、表格、窗体等,使得开发者能够构建功能强大的Web应用,无需深入HTML、CSS和JavaScript的底层细节。 标题中的"ext_v1-1.zip"是一个压缩包文件,它包含了EXT框架的一...

    easyui+增强窗体 demo_ext为实例文件

    3、tree增加自定义属性 attributes,用于简单数据加载时,指定那些字段当作node的attributes属性使用。 4、combobox增加 getSelected 方法, 返回选中item的data值。 5、combogrid增加 getSelected 方法,返回选中...

    Ext3.4.0复杂(多行)表头+锁定多列例子

    6. 加载数据并渲染GridPanel。 在提供的压缩包文件"复杂表头+锁定列"中,可能包含了实现这一功能的示例代码,包括HTML、CSS和JavaScript文件。通过研究这些文件,开发者可以学习如何在自己的项目中应用这些特性,...

    Learning Ext JS 3.2

    通过数据绑定,开发者可以轻松地将UI组件与后端数据源连接,实现数据的动态加载、编辑和保存。 4. **布局管理**:Ext JS提供了多种布局方式,如Fit布局、Border布局、Form布局等,允许开发者灵活地控制组件的排列和...

    Ext.Net Pro 2.3.1 去除限制版

    Ext.NET Pro 2.3.1 版本注重性能,通过延迟加载、组件级缓存等技术,减少了页面的加载时间和内存占用。此外,它还支持AJAX无刷新更新,提高了用户交互的响应速度。 7. **事件处理和数据绑定** 在Ext.NET中,事件...

    Ext JS 6 by Example翻译

    Ext JS 是一个功能强大的JavaScript框架,用于构建交互式的、数据驱动的Web应用程序。它提供了丰富的组件库,包括表格、图表、菜单、工具栏、窗体等,使得开发者可以快速创建复杂的用户界面。这本书《Ext JS 6 by ...

    DHTMLX,EXT实例

    在"loadgoods.asp"和"loadgoodsname.asp"这样的文件中,可能包含了使用DHTMLX加载和展示商品数据的示例代码。 EXTJS则是另一个强大的JavaScript框架,它提供了丰富的组件库,包括网格、窗体、菜单、工具栏、图表等...

    十分有用有帮助的EXT学习笔记

    它通常与Store结合使用,动态加载数据。 - **Charts**: EXT提供了一套完整的图表组件,可以创建各种统计图表,如柱状图、饼图、线图等,用于数据可视化。 - **Ajax请求**: EXT使用AJAX技术与服务器进行异步通信,...

    ext 2.0.2 源码 例子

    在EXT 2.0.2中,这些组件的功能得到了进一步提升,例如表格支持更丰富的数据展示和操作,树形视图的动态加载和排序能力增强,窗体组件的验证功能更加完善。 EXTJS的布局管理器是另一个关键特性,它允许开发者创建...

    Ext.NET.MVC.Pro.2.2.0.MVC.Examples.Explorer.zip

    通过研究源码,开发者可以学习如何调试前端和后端代码,优化性能,以及如何处理可能出现的问题,例如AJAX通信、数据加载和错误处理。 总之,Ext.NET.MVC.Pro.2.2.0.MVC.Examples.Explorer.zip是一个宝贵的资源,它...

    ext.net2.0的dll

    1. **组件丰富**:Ext.NET 2.0 包含了大量的UI组件,如表格(GridPanel)、树形视图(TreePanel)、窗体(FormPanel)、菜单(Menu)、工具栏(Toolbar)等,这些都是开发Web应用不可或缺的部分。 2. **数据绑定**...

    Ext+2+API+Documentation(extjs中文帮助文档)

    - **Store和Model**:Store用于管理和加载数据,Model定义数据结构和验证规则,两者是数据层的关键部分。 - **图表和图形**:ExtJS包含图表组件,可以生成各种统计图表,适用于数据可视化。 - **工具栏和菜单**:...

    ext-3.2.0包

    3. **丰富的UI组件**:EXTJS 3.2.0包含了一套完整的前端组件库,如表格、树形视图、窗体、菜单、工具栏、面板等,满足各种界面需求。 4. **Ajax支持**:EXTJS内置了Ajax功能,便于与服务器进行异步通信,实现动态...

    ext-3.2.0.rar

    EXTJS的核心库提供了大量的可重用组件,如表格、树形视图、菜单、工具栏、窗体等,以及强大的数据绑定和布局管理功能。EXTJS 3.2.0是EXTJS的一个较早版本,尽管现在已经有了更先进的版本,但对于学习EXTJS的基础概念...

    EXTJS网页框架一个很好的实例动态

    EXTJS是一个强大的JavaScript库,专为构建富互联网应用程序(RIA)而...此外,这个实例还可以作为一个起点,进一步探索EXTJS的其他组件和特性,如表格、窗体、面板等,以及更高级的特性如数据网格、图表和工作区等。

Global site tag (gtag.js) - Google Analytics