-
Ext中window出了问题,请高手解决!5
我将问题描述一下,window中我放置了两个combobox,在tbar上设置按钮,负责显示window,并设置cancel按钮handler中函数,window.hide()令其隐藏。
一:单击tbar,window出来combobox,我没去动他,然后直接点cancel按钮,window隐藏,再点tbar,window正常显示出来,并且window中的组件完好。
二:问题出现,当我点开window,并且选了combobox中的选项后,我点cancel,也就是window.hide(),然后我又把window打开,这时,window中的combobox不见了。只有fieldLabel的文字。
请大家帮忙。
handler:function(){ var gradeWin = new Ext.Window({ title : '添加年级', width : 300, height : 150, plain : true, closeAction : 'hide', layout : 'form', labelWidth : 80, constrain : true, // windows不超过浏览器 buttonAlign : 'center', modal : true,// 生成背景半透明div defaultType : 'textfield', defaults:{width:160}, bodyStyle : 'padding:10px;', buttons : [{ text : '确定', handler:function(){ // var stuTreeNode = Ext.getCmp('stuTree'); // alert(Ext.getCmp('myTree')) ; var tree = Ext.getCmp('myTree') ; var stuNode = tree.getNodeById('stuTree') ; var text = Ext.getCmp('gradeName').getValue().toString(); var type = Ext.getCmp('gradeType').getValue(); if(text != ''&& type != '') { var node = new Ext.tree.TreeNode({ text:text, leaf:true }); //stuNode.isLeaf = false ; stuNode.appendChild(node); gradeWin.hide(); }else Ext.Msg.alert('错误提示','有空选项,请重新填写'); //alert(tree.getNodeById('stuTree')); }//ok function }, { text : '取消', handler : function() { gradeWin.hide(); } }], items :[{ xtype:'combo', fieldLabel:'年级名称', id:'gradeName', displayField : "text", valueField : "value", mode : 'local', triggerAction : 'all', store : new Ext.data.SimpleStore({ fields : ['value', 'text'], data : [['2004级', '2004级'], ['2005级', '2005级'], ['2006级', '2006级'], ['2007级', '2007级'], ['2008级', '2008级'], ['2009级', '2009级'], ['2010级', '2010级'], ['2011级', '2011级'], ['2012级', '2012级'], ['2013级', '2013级'], ['2014级', '2014级'] ] }) },{ xtype:'combo', fieldLabel:'年级类型', id:'gradeType', readOnly : true, displayField : "text", valueField : "value", mode : 'local', triggerAction : 'all', store : new Ext.data.SimpleStore({ fields : ['value', 'text'], data : [['已毕业', '已毕业'], ['未毕业', '未毕业']] }) }]//items }) ;//end gradeWin gradeWin.show(); }
2009年4月13日 10:30
4个答案 按时间排序 按投票排序
-
采纳的答案
楼主的做法不对,你既然将gradeWin对象放在hanlder事件中创建的话,那你多次点击后,就创建了多个gradeWin对象,你把gradeWin创建的部分放在外部即可,在hanlder调用的时候把gradeWin.show();出来即可。
2009年4月13日 14:18
-
把 var gradeWin 改成 gradeWin 这样gradeWin就成了全局变量了,就不会第次都创建一个 window,而是覆盖原来的window
2009年4月13日 22:30
-
把hide() 改成 close();
我测试通过了Ext.onReady(function() { Ext.BLANK_IMAGE_URL = 'resources/images/default/s.gif'; var win = new Ext.Window({ width : 300, height : 400, tbar : [{ text : 'Show Window', handler : function() { var gradeWin = new Ext.Window({ title : '添加年级', width : 300, height : 150, plain : true, closeAction : 'hide', layout : 'form', labelWidth : 80, constrain : true, buttonAlign : 'center', modal : true, defaultType : 'textfield', defaults : { width : 160 }, bodyStyle : 'padding:10px;', buttons : [{ text : '确定', handler : function() { var tree = Ext.getCmp('myTree'); var stuNode = tree.getNodeById('stuTree'); var text = Ext.getCmp('gradeName').getValue() .toString(); var type = Ext.getCmp('gradeType').getValue(); if (text != '' && type != '') { var node = new Ext.tree.TreeNode({ text : text, leaf : true }); stuNode.appendChild(node); gradeWin.close(); } else { Ext.Msg.alert('错误提示', '有空选项,请重新填写'); } } }, { text : '取消', handler : function() { gradeWin.close(); } }], items : [new Ext.form.ComboBox({ fieldLabel : '年级名称', id : 'gradeName', displayField : "text", valueField : "value", mode : 'local', triggerAction : 'all', store : new Ext.data.SimpleStore({ fields : ['value', 'text'], data : [['2004级', '2004级'], ['2005级', '2005级'], ['2006级', '2006级'], ['2007级', '2007级'], ['2008级', '2008级'], ['2009级', '2009级'], ['2010级', '2010级'], ['2011级', '2011级'], ['2012级', '2012级'], ['2013级', '2013级'], ['2014级', '2014级']] }) }), new Ext.form.ComboBox({ fieldLabel : '年级类型', id : 'gradeType', readOnly : true, displayField : "text", valueField : "value", mode : 'local', triggerAction : 'all', store : new Ext.data.SimpleStore({ fields : ['value', 'text'], data : [['已毕业', '已毕业'], ['未毕业', '未毕业']] }) })] }); gradeWin.show(); } }] }); win.show(); });
2009年4月13日 11:17
相关推荐
此外,提供的`一个简单的Ext.Window中插入图片.doc`文件可能包含更详细的步骤或示例代码,建议查阅该文档以获取更深入的理解。记住,实践是最好的老师,动手尝试并根据项目需求进行调整,你将更加熟练地掌握在`Ext....
本文将详细探讨如何在ExtJS中实现一个窗口(`Ext.window`)从右下角动态弹出并隐藏的功能,类似于即时通讯软件(如MSN)中的登录提醒。 #### 二、关键技术点 ##### 1. **自定义窗口类** 为了实现上述需求,首先...
Ext.Window是Ext JS中的一个类,继承自Ext.container.Container,它创建了一个可以在页面上自由移动和调整大小的浮动窗口。窗口通常用作模态对话框、信息提示或其他需要用户交互的场景。 2. **创建一个基本的Ext....
Ext_Window用法
"ext 仿window 界面"指的是使用EXTJS 框架来创建类似于Windows桌面操作系统的用户界面,提供一种熟悉且直观的交互体验。这种设计方式可以使Web应用在视觉上更接近本地应用,提高用户的使用舒适度。 EXTJS 提供了...
以下是对`Ext.Panel` API中与`Window`相关的属性的详细解释: 1. **activeItem**: 这个属性用于指定当前活动的子组件,可以是子组件的序号或ID。在支持一次仅显示一个子组件的布局中,如`Ext.layout.Accordion`、`...
Ext的入门示例代码!!!!!!!!!!!!!!!!!!!!
Ext.window的一个扩展组件SuperWin.js.可灵活自主随意定位,和显示模式;
Ext.Window 通过DIV布局,通过DIV填充window内容,带Ext所需文件。
为了解决这个问题,我们可以重写Ext.data.Store的`applySort`函数,以便在进行本地排序时应用中文排序规则。上述代码正是这样一个解决方案。它将原生的`applySort`函数替换为一个新的版本,其中包含了对中文字符串...
EasyExt_003_第一个组件Ext.Window EasyExt_003_第一个组件Ext.Window
它可以帮助你更好地理解和运用EXT的各类功能,解决在实际开发中遇到的问题。中文教程通常会提供实例代码和详尽的解释,方便初学者边学边实践。 在压缩包中的"EXT教程"文件,可能包含了从入门到进阶的各类教程文章,...
### 用Ext实现报表中的核心问题解决方案 在现代软件开发中,报表的可视化展示是非常重要的一个环节,它能够帮助用户直观地理解数据背后的含义。本文将深入探讨如何使用Ext JS框架来解决报表制作过程中的核心问题,...
NULL 博文链接:https://oppovaan.iteye.com/blog/627655
在ExtJs 4.2版本中,`Window`组件是一个非常基础且重要的UI组件,它为开发者提供了一个灵活的弹出窗口解决方案。通过合理的配置,可以轻松实现各种弹出窗体的需求。 ### 配置属性详解 #### plain - **默认值**:`...
EXT4是Linux操作系统中最常用的文件系统之一,它在2008年被引入到Linux内核,以替代较旧的EXT3系统。...这些知识对于解决实际问题,比如优化文件系统性能、调试文件系统错误或者开发新的文件系统都有很大的帮助。
使用这个版本,开发者可以确保在开发过程中遇到的问题能得到及时解决,同时享受到EXT 2.0带来的强大功能。 总结,EXT 2.0是一个功能强大的JavaScript库,尤其适合构建具有复杂交互和动态数据更新的Web应用。其组件...
Ext中文API Ext3.2中文API ExtAPI Ext中文Ext中文API Ext3.2中文API ExtAPI Ext中文Ext中文API Ext3.2中文API ExtAPI Ext中文
ext中文教程 ext API ext中文教程 ext API
在EXT.NET框架中,开发人员...这些是EXT.NET中常见的问题及其解决方法,它们涉及到页面的交互逻辑、数据传递以及用户界面的定制。在实际开发中,理解并熟练运用这些技术能有效提高EXT.NET应用的用户体验和功能实现。