- 浏览: 342283 次
- 性别:
- 来自: 武汉
最新评论
-
ynymf:
错位问题看这里:http://www.cnblogs.com/ ...
EXTJS制作的嵌套表格实例(点击一行,展开下面的子表) -
xlshlr:
code.php在哪????貌似么有找到这个文件
ExtJS带验证码登录框[新增回车提交] -
langfeng123ac:
二货,这种写法本地又不行,本地有图片,服务器上又没图片。。浪费 ...
JQUERY+ASP.NET的AJAX文件上传(含Demo) -
553718707:
楼主有没有解决方法啊?
EXTJS制作的嵌套表格实例(点击一行,展开下面的子表) -
553718707:
这个代码对于,子表格的列数很多的时候会出现子表格的列与数据行错 ...
EXTJS制作的嵌套表格实例(点击一行,展开下面的子表)
/**
* @title:新闻中心模块 * @author:余晓天 * @date:2009/2/13 */ /**初始化FormPanel***************************************************************************************************/ NewsFormPanel=Ext.extend(Ext.FormPanel,{ //传参 url:null, constructor:function(_cfg){ if(_cfg==null) _cfg={}; Ext.apply(this,_cfg); //初始化构造函数 NewsFormPanel.superclass.constructor.call(this,{ width:250, height:210, frame:true, resizable:false, layout:"form", labelWidth:60, buttonAlign:"center", defaultType:"textfield", baseCls:"x-plain", items:[ { name:"name", fieldLabel:"姓名", anchor:"90%", allowBlank:false, emptyText:"姓名不能为空" }, { xtype:"combo", mode:"local", value:"男", hiddenName:"sex", triggerAction:"all", displayField:"sex", readOnly:true, store:new Ext.data.SimpleStore( { fields:["sex"], data:[["男"],["女"]] } ), name:"sex", fieldLabel:"性别", anchor:"90%" }, { name:"age", fieldLabel:"年龄", anchor:"90%", vtype:"age", allowBlank:false }, { name:"pwd", inputType:"password", fieldLabel:"密码", allowBlank:false, anchor:"90%" }, { xtype:"datefield", readOnly:true, name:"time", fieldLabel:"注册时间", anchor:"90%", allowBlank:false, format:"Y-m-d" } ] }) this.addEvents("submit"); }, //按钮事件提交方法 submit:function(_params){ if(_params==null) _params={}; if(this.url!=null) this.getForm().submit({url:this.url,params:_params,success:this.onSubmit,waitTitle:"数据传送",waitMsg:"数据传送中...",scope:this}); }, //得到form列表值方法 getValues:function(){ return new Ext.data.Record(this.getForm().getValues()); }, //设置form列表值方法 setValues:function(_rs){ this.getForm().loadRecord(_rs); } , //清空form列表 reset:function(){ this.getForm().reset(); }, //提交事件触发定义 onSubmit:function(_form,_action) { this.fireEvent("submit",this,_action); } }); /**初始化window*******************************************************************************************************/ NewsWindow=Ext.extend(Ext.Window,{ form:null, url:"", //初始化参数 constructor:function(_cfg){ if(_cfg==null) _cfg={}; Ext.apply(this,_cfg); //添加form this.form=new NewsFormPanel({url:this.url}); NewsWindow.superclass.constructor.call(this,{ width:250, height:230, plain:true, modal:true, resizable:false, buttonAlign:"center", items:this.form, bodyStyle:"padding:3px", closeAction:"hide", buttons:[{ text:"确 定", handler:function(){ this.OnSubmit(); }, scope:this },{ text:"取 消", handler:function(){ this.OnExitClick(); }, scope:this }] } ); this.addEvents("submit"); this.form.on("submit",this.OnSubmitClick,this); }, //获取内置form提交事件 OnSubmit:function() { this.form.submit(); }, //触发内置form提交事件 OnSubmitClick:function(_form,_action) { this.fireEvent("submit",this,_action); this.close(); }, //关闭当前window事件 OnExitClick:function() { this.close(); }, //关闭当前window方法 close:function(){ this.form.reset(); this.hide(); } }); /**初始化增加对话window********************************************************************************************/ NewsInsertGridWin=Ext.extend(NewsWindow,{ title:"增加新闻", url:"../dboperition/add.aspx" }); /**初始化修改对话window********************************************************************************************/ NewsUpdateGridWin=Ext.extend(NewsWindow,{ title:"修改新闻", params:"", url:"../dboperition/update.aspx", load:function(_rs) { var srecord=_rs; this.form.setValues(srecord); this.params=_rs.get("id"); }, OnSubmit:function() { this.form.submit({id:this.params}); } }); /**********************************************************************************************/ /**初始化gridpanel***************************************************************************************************/ NewsGridPanel=Ext.extend(Ext.grid.GridPanel,{ //增加window初始化 insertwin:new NewsInsertGridWin(), //修改window初始化 updatewin:new NewsUpdateGridWin(), //数据读取 store:new Ext.data.Store({ url: "NewsData.aspx", reader: new Ext.data.JsonReader({ root:"data", totalProperty:"pagescount" }, [ {name:"id",type:"int"}, {name:"moduleName"}, {name:"channelName"}, {name:"title"}, {name:"releaseTime"}, {name:"releaseMan"}]) }), //初始化参数 constructor:function(){ //参数初始化 NewsGridPanel.superclass.constructor.call(this,{ id:"newspanel", frame:true, anchor:"100%", renderTo:Ext.getBody(), height:300, bodyStyle:'width:100%', iconCls:"icon-grid", loadMask:{msg:"数据载入中...."}, tbar:[{text:"增加", tooltip:"新增", iconCls:"addicon", handler:function(){ this.insertwin.show(); }, scope:this },"-" /*{text:"修改", tooltip:"修改", iconCls:"option", handler:function(){ this.updatewin.show(); try { this.updatewin.load(this.getSelected()); } catch(err){Ext.Msg.alert ( "系统提示",err.description ); this.updatewin.close(); }; }, scope:this },"-", {text:"删除", tooltip:"删除", iconCls:"remove", handler:function(){ try {this.getSelected(); Ext.Msg.confirm("系统提示","你确认删除这条记录吗?",this.onRemove,this); } catch(err){Ext.Msg.alert("系统提示",err.description)}; }, scope:this },"-"*/ ], columns:[ {header:"序号",width:80,dataIndex:"id",sortable:true,align:"center"}, {header:"模块名称",dataIndex:"moduleName",sortable:true,align:"center"}, {header:"频道名称",width:120,dataIndex:"channelName",sortable:true,align:"center"}, {header:"标题",width:200,dataIndex:"title",sortable:true,align:"center"}, {header:"发布时间",width:150,dataIndex:"releaseTime",sortable:true,align:"center"}, {header:"发布人",dataIndex:"releaseMan",sortable:true,align:"center"}, {header:"修改",width:60,dataIndex:"id",renderer:this.UpdateRender,align:"center"}, {header:"删除",width:60,dataIndex:"id",renderer:this.DelRender,align:"center"} ], sm:new Ext.grid.RowSelectionModel({ singleSelect:true }), store:this.store, bbar:new Ext.PagingToolbar({ pageSize:5, store:this.store, displayInfo:true, displayMsg:"当前显示{0}-{1}条记录/共{2}条记录", emptyMsg:"无数据可显示!" }) }); this.store.load({params:{start:0,limit:5}}); this.insertwin.on("submit",this.onInsert,this); this.updatewin.on("submit",this.onUpdate,this); }, //修改按钮呈现 UpdateRender:function(value){ return '<a id="newupdate" href="#)">修改</a>'; } , //删除按钮呈现 DelRender:function(value){ return '<a id="newdel" href="#">删除</a>'; } , //删除记录 del:function(){ try { var _sel=this.getSelected(); Ext.Ajax.request({ url:"../dboperition/del.aspx", params:{id:_sel.get("id")}, success:function(_rs,_op) { var result=Ext.util.JSON.decode(_rs.responseText); if(result.success==false) Ext.Msg.alert("系统信息","删除失败!") } }); this.getStore().remove(_sel); this.getStore().reload(); }catch(err) { Ext.Msg.alert("系统信息","你尚未选择一条记录!") } }, /*getSelected:function(){ if(this.getSelectionModel().getCount()==0) { throw Error("你尚未选择一条记录!") } else return this.getSelectionModel().getSelected(); },*/ //增加事件 onInsert:function(_win,_rs) { this.store.reload();; }, //修改事件 onUpdate:function(_win,_rs) { this.store.reload(); }, //删除事件 onRemove:function(_btn) { if(_btn=="yes") this.del(); } }) |
发表评论
-
浅谈Coolite 方法调用
2009-06-13 08:24 2879今天需要做个复选框删除,碰到了一个小难题,然后我一通乱写,居然 ... -
ExtJS Loading 悬浮层
2009-06-08 11:45 4220<!DOCTYPE html PUBLIC &q ... -
Ext中TreePanel控件和TabPanel控件搭配测试
2009-03-23 08:58 2647在实际的项目中,左边树形菜单,提供各种功能点击,右边一个面板, ... -
ExtJs grid使用详细[转]
2009-03-08 21:36 89402008-11-20 09:09 Ext ... -
ExtJS带验证码登录框[新增回车提交]
2009-03-08 21:29 7034/** 用户带验证码登 ... -
ExtJs2.0学习系列(14)--Ext.TreePanel之第三式(可增删改的树)
2009-03-04 19:28 1449继续tree的learn! 今天就来个可增删改的树吧,操作数 ... -
extjs中 combobox级联
2009-03-04 19:13 7336关键字: extjs, combobox, 级 ... -
ext动态新增一行之二
2009-03-03 10:39 1443ext 动态 新增行 新增一行(2)------------- ... -
ext动态新增一行
2009-03-03 10:37 1564ext 动态 新增行 新增一行(1)------------- ... -
ext表单之高级选项
2009-03-03 10:36 1163ext表单之高级选项--------------------- ... -
ext实现标签式浏览内容
2009-03-03 10:31 1509Ext.onReady(function(){ E ... -
ext异步树加入子节点事件
2009-03-03 10:30 2144extext异步树加入子节点 ... -
实现Ext combox 动态数据加载
2009-03-02 20:37 2479核心代码如下:(注意名称的对应!) 服务器生成的json数据形 ... -
解决TreeNode.reload()失效的办法
2009-03-02 20:36 3881Ext Api文档里面 TreeNode.reload()是没 ... -
Ext2.0的通用grid包括(增、删、改、查、导出excel)
2009-03-02 20:32 2865下面为扩张grid的 代码/** * @a ... -
Ext.Window
2009-02-28 17:19 2118var winUpload = new Ext.Window( ... -
ExtJs中的树分析及实现
2009-02-27 18:12 2296<网上抄录> 首先我们来看日志分类树,这一部分我将 ... -
扩展EXTJS框架的内容检查
2009-02-27 10:36 1058Ext.apply(Ext.form.VTyp ... -
刚写的B/S高级查询界面(基于ExtJs框架)
2009-02-26 10:16 4175这几天赶着做一个B/S系统,基于ExtJs框架,从中学了不少东 ... -
EXT中也有支持快捷键
2009-02-26 10:00 2392EXT中也有支持快捷键,比如回车,ESC等,你可以通过按钮 ...
相关推荐
然后,我们定义了自己的构造方法,使用`callParent()`来调用父类的构造方法,确保正确地初始化组件的基础部分。 除了构造方法,Ext类还涉及其他重要概念,如配置对象(config object)、混入(mixins)和静态方法...
EXT提供了丰富的组件来实现这样的功能,尤其是对于JSON数据的处理,EXT能很好地进行解析并展示。 在EXT中,`Ext.tree.Panel` 是用于创建树形视图的主要组件。这个类提供了丰富的配置选项和方法,使得动态生成和操作...
源码中包含了组件的构造函数、事件处理、样式设置等。例如,`doCheck`方法负责实际的选中操作,而`toggle`方法则用于切换选中状态。 6. **工具的使用** Ext JS提供了一些开发工具,如`Sencha CMD`,用于生成应用...
1. **创建YearField**: 通过EXT的构造函数,我们可以创建一个新的YearField实例,设置其属性如初始值、最小年份、最大年份等。例如: ```javascript Ext.create('Ext.form.field.Year', { fieldLabel: '出生年份'...
在EXT 1.1中,最重要的概念之一是组件(Component),它是EXT JS的基础构造块。EXT提供了一系列预定义的组件,如表格(Grid)、面板(Panel)、表单(Form)、菜单(Menu)等,这些组件可以自由组合,构建出复杂的...
在EXT 3.0的API文档中,每个类都有详细的说明,包括其构造函数、公共方法、属性和事件。例如,`Ext.Panel`类是EXT中基础的容器组件,它有`setTitle`方法来设置面板标题,`setBodyStyle`方法来修改内容区域的样式,...
通过这个可以直接运行的例子,新手可以直观地学习EXT的用法,理解组件的构造和事件处理,以及MVC模式的应用。同时,对于有经验的开发者来说,这也是一个了解EXT最佳实践和常见应用场景的好资源。总之,深入研究并...
3. 配置选项:组件的配置选项是EXT组件的重要特性,可以在构造函数中传递参数,定义组件的详细配置。 4. 渲染与显示:组件必须先渲染后才能在页面上显示,可通过多种方式实现。 三、EXT JS组件种类 1. 基础组件:如...
1. **Ext Grid Panel**: Ext的核心组件之一是Grid Panel,它用于显示二维数据集,通常用于数据展示和操作。Grid Panel可以配置多种列类型,如文本、数字、日期等,并支持排序、分页和过滤。 2. **Inline Editing**:...
Ext JS 2.2是一个基于浏览器的UI库,提供了大量的组件和工具,用于创建功能丰富的Web应用。这些组件包括表格、树形视图、菜单、窗口、表单、按钮、面板等,几乎涵盖了构建复杂前端界面所需的所有元素。通过使用Ext ...
- 配置选项(options)允许开发者在组件构造函数中传递参数,定制组件的属性和行为。 3. **组件的渲染与显示**: - 组件必须先被渲染才能在页面上显示。渲染可以通过多种方法实现,包括直接调用显示方法或在适当...
2. JavaScript配置:在EXT Js 的组件构造函数中,可以通过`iconCls`或`glyph`属性来指定图标。`iconCls`接受CSS类名,`glyph`则用于设置SVG编码的图标。 3. 图标主题:EXT Js 支持图标主题,允许全局更换图标样式。...
在阅读EXT3.0中文API文档时,开发者应该重点了解各个类的构造函数、常用属性和方法,以及如何通过配置选项定制组件。此外,通过实例代码和示例,可以更好地理解和掌握EXT3.0的用法。 总的来说,EXT3.0中文API文档是...
EXT3.0中文API文档还包含了完整的类参考,每个类都有详细的构造函数、属性、方法和事件说明。这有助于开发者查找特定功能的实现方式,以及如何扩展和定制EXT组件。 总而言之,EXT3.0中文API文档是学习EXT框架的关键...
EXT 3.3 是EXT库的一个版本,它包含了丰富的组件和功能,如表格、面板、窗口、菜单等,以及强大的数据管理和渲染机制。在这个"EXT导出Excel代码demo"中,我们将探讨如何使用EXT 3.3实现将数据导出到Excel文件的功能...
5. **自定义样式**:EXT日历控件允许开发者根据自己的品牌风格进行样式调整,以满足不同设计需求。 6. **与其他EXT组件集成**:EXT日历控件可以无缝集成到EXT的其他组件中,例如网格面板、表单等,提供完整的数据...
23. **defaultType**: 当通过`items`在构造函数中添加新组件时,如果没有指定`xType`,则会使用这个默认类型创建组件。默认值为`'panel'`。 24. **defaults**: 为所有添加到此组件的子组件提供默认配置对象。如果子...
- **Ext Application**:它是Ext JS中的顶级构造函数,负责整个应用的初始化、路由管理和模块管理。通过定义应用的配置项,可以设置主视图、控制器、存储等核心组件。 - **MVC模式**:Model-View-Controller模式是...
Efs 是企业快速开发的UI 层。...构造ext对象。开发人员可以不用深入掌握Ext框架,只需要开发者编写少量的 html 代码,也可以做出很炫的页面。当然你也可以使用new Ext 的控件渲染到 页面,两者可以混合使用。
- **[pic]组件模型ComponentModel**: 介绍了EXT2中的组件模型。 - **[pic]容器模型ContainerModel**: 解释了容器模型在EXT2中的作用。 - **[pic]布局Layouts**: 介绍了EXT2中的布局机制。 #### 结论 通过以上对EXT...