- 浏览: 436443 次
- 性别:
文章分类
最新评论
-
nianhua2008:
你好,请问哪个cocos版本可以读取cbx文件?
Cocos3dx入门 -
ihic11:
我的为什么Receive.jsp一直有乱码?请帮忙
网银在线支付注意事项 -
奔跑的蓝猫:
楼主你好!请问这两个文件怎么使用啊?
楼主能把源代码发给我下吗 ...
简易视频聊天 -
wx_hello:
不错。。学习了。。
jquery解析xml -
ocaicai:
圣人啊,救星啊,我被这个问题折磨得蛋疼!对了,我在google ...
struts2+urlrewrite
1、页面js
2、后台处理的MenuMgr.java
/** * 菜单管理 */ var menuMgr = function() { var menuForm;// 菜单表单 var window;// 窗口 var gridPanel;// 表格 var dataStore;// 数据集 return { init : function() { var Menu = new Ext.data.Record.create([ { name : 'idno' }, { name : 'name' }, { name : 'img' }, { name : 'url' }, { name : 'parentid' }, { name : 'sort' }, { name : 'oper' }]); // var fields = ['idno', 'name', 'img', 'url', 'parentid', // 'sort','oper']; // 顶部工具栏 var topBar = new Ext.Toolbar([ { text : '新增菜单', iconCls : 'add', handler : menuMgr.showAddMenuWindow // 注意函数名后不能加() }, { text : '查看修改', iconCls : 'edit', handler : menuMgr.showEditMenuWindow }, { text : '删除菜单', iconCls : 'delete', handler : menuMgr.delMenu } ]); var sm = new Ext.grid.CheckboxSelectionModel();// 定义复选框选择模式 var columnModel = new Ext.grid.ColumnModel([sm, { header : "idno", dataIndex : "idno", sortable : true }, { header : "菜单名称", dataIndex : "name", sortable : true }, { header : "图片", dataIndex : "img", width : 40, align : 'center', // 渲染 renderer : function(imgUrl) { return "<img src='../../images/" + imgUrl + "'/>" } }, { header : "url", dataIndex : "url", width : 150, sortable : false }, { header : "上级菜单", dataIndex : "parentid", sortable : true }, { header : "排序", dataIndex : "sort", sortable : true }, { header : "备注", dataIndex : "oper" }]); var storeCfg = {};// 数据集配置对象 storeCfg['url'] = 'server.jsp'; storeCfg['recordName'] = "Menu"; storeCfg['record'] = Menu; dataStore = Ext.dream.createStore(storeCfg); var gridCfg = {};// 表格配置对象 // cfg['fields'] = fields; gridCfg['dataStore'] = dataStore; gridCfg['tbar'] = topBar; gridCfg['columnModel'] = columnModel; gridCfg['pageSize'] = 4; gridCfg['sm'] = sm; gridPanel = Ext.dream.createGridPanel(gridCfg); Ext.main.createViewPort(gridPanel); }, /** * 创建增加、修改公共菜单 */ createMenuWindow : function() { var cfg = {};// 组合框配置 cfg['fieldLabel'] = '父菜单'; cfg['url'] = 'comboServer.jsp'; cfg['recordType'] = 'Menu', cfg['fields'] = ['name', 'idno']; cfg['name'] = 'parentid'; var parentMenu = Ext.combo.createComboBox(cfg); window = new Ext.Window( { title : '<div align="left">增加菜单</div>', x : 150, y : 100, frame : true, modal : true, closable : true, animCollapse : true,// 可关闭 // 设置面板可展开收缩 collapsible : false, resizable : false, // 配置登录表单 items : [menuForm = new Ext.form.FormPanel( { id : 'menuForm', width : 400, frame : true, border : false, labelAlign : 'right', items : [new Ext.form.TextField( { name : 'idno', value : '0', inputType : 'hidden' }), new Ext.form.TextField( { fieldLabel : '菜单名称', id : 'name', name : 'name', allowBlank : false, blankText : '菜单名称不能为空', width : 200, msgTarget : 'side' }), new Ext.form.TextField( { fieldLabel : '图片名称', id : 'img', name : 'img', allowBlank : false, blankText : '图片名称不能为空', width : 200, msgTarget : 'side' }), new Ext.form.TextField( { fieldLabel : '链接地址', id : 'url', name : 'url', allowBlank : false, blankText : '链接地址不能为空', width : 200, msgTarget : 'side' }), parentMenu, new Ext.form.TextField( { fieldLabel : '排序', id : 'sort', name : 'sort', allowBlank : true, width : 200, msgTarget : 'side' }), new Ext.form.TextField( { fieldLabel : '备注', id : 'oper', name : 'oper', allowBlank : true, width : 200, msgTarget : 'side' })] })] ,// 表单设置结束 });// window结束 }, /** * 显示增加菜单窗口 */ showAddMenuWindow : function() { menuMgr.createMenuWindow(); window.addButton(new Ext.Button( { text : '提交', // 点击提交执行的函数 handler : menuMgr.addMenu })); window.show(); }, /** * 显示查看修改菜单窗口 */ showEditMenuWindow : function() { menuMgr.createMenuWindow(); window.addButton(new Ext.Button( { text : '提交', // 点击提交执行修改的函数 handler : menuMgr.updateMenu })); if (Ext.validate.noSelected(gridPanel)) {// 未选中任何记录 return; } else { if (Ext.validate.selectedMore(gridPanel)) {// 选中多条 return; } else { var idno = ""; idno = Ext.validate.getSelected(gridPanel, 'idno'); var cfg = {}; cfg['form'] = menuForm; cfg['url'] = 'loadForm.jsp?idno=' + idno; Ext.dao.loadFormData(cfg); window.show(); } } }, /** * 提交增加菜单表单 */ addMenu : function() { var Menu = {}; Menu = Ext.dao.getObjFromForm(menuForm); MenuManager.addMenu(Menu, function(success) { window.close(); if (success) { // 重新加载数据 dataStore.reload(dataStore); Ext.MessageBox.alert("提示", "增加菜单成功"); // Msg.suggest("提示","增加菜单成功"); } else { Ext.MessageBox.alert("提示", "增加菜单失败"); } }); }, /** * 更新菜单 */ updateMenu : function() { var Menu = {}; Menu = Ext.dao.getObjFromForm(menuForm); MenuManager.updateMenu(Menu, function(success) { window.close(); if (success) { // 先清空再重新加载数据 dataStore.removeAll(); dataStore.reload(); Ext.MessageBox.alert("提示", "更新菜单成功"); } else { Ext.MessageBox.alert("提示", "更新菜单失败"); } }); }, /** * 删除菜单 */ delMenu : function() { if (Ext.validate.noSelected(gridPanel)) {// 未选中任何记录 return; } else { Ext.Msg.confirm('<font color="red">提示</font>', '你确定要删除选中的菜单吗?', menuMgr.deleteOrNot); }; }, /** * 是否删除 */ deleteOrNot : function(id) { if (id == "yes") { var idnos = ""; idnos = Ext.validate.getSelected(gridPanel, 'idno'); MenuManager.batchDelMenuByPKs(idnos, function(success) { if (success) { // 服务器端删除后,客户端同步更新 // 获取选中的复选框所表示的对象数组 var records = gridPanel.getSelectionModel() .getSelections(); for (i = 0;i < records.length; i++) { dataStore.remove(records[i]); } Ext.MessageBox.alert("提示", "删除菜单成功"); } else { Ext.MessageBox.alert("提示", "删除菜单失败"); } }) } else { return; } } } }(); Ext.onReady(menuMgr.init, menuMgr, true);
2、后台处理的MenuMgr.java
package com.dreamoa.dwrservice.menuMgr; import org.apache.log4j.Logger; import com.dreamoa.domain.Menu; import com.dreamoa.sys.BaseDAO; import com.dreamoa.util.RandomUtil; import com.dreamoa.util.StringUtil; /** * 实现菜单的增、删、改操作 * @author 忧里修斯 */ public class MenuMgr extends BaseDAO<Menu>{ Logger log = Logger.getLogger(MenuMgr.class); /** * 增加菜单 * @param menu */ public boolean addMenu(Menu menu){ try { menu.setIdno(RandomUtil.GenPrimaryKey()); beginTransaction(); save(menu); commit(); return true; } catch (RuntimeException e) { log.error("MenuMgr.java:addMenu(),增加菜单失败"); e.printStackTrace(); return false; } } /** * 更新菜单 * @param menu */ public boolean updateMenu(Menu menu){ try { beginTransaction(); update(menu); commit(); return true; } catch (RuntimeException e) { log.error("MenuMgr.java:updateMenu(),更新菜单失败"); e.printStackTrace(); return false; } } /** * 根据主键删除菜单 * @param idno * @return */ public boolean delMenuByPK(String idno){ try { beginTransaction(); deleteById("idno", idno); commit(); return true; } catch (RuntimeException e) { log.error("MenuMgr.java:delMenuByPK(),删除菜单失败"); e.printStackTrace(); return false; } } /** * 批量删除菜单 * @param idnos * @return */ public boolean batchDelMenuByPKs(String idnos){ beginTransaction(); try { String[] idnoArr = StringUtil.split(idnos, ","); for (int i = 0; i < idnoArr.length; i++) { String idno = idnoArr[i]; deleteById("idno", idno); } } catch (RuntimeException e) { log.error("MenuMgr.java:batchDelMenuByPKs(),批量删除菜单失败"); rollback(); e.printStackTrace(); return false; } commit(); return true; } }
发表评论
-
动态改变请求参数
2010-03-22 22:36 1047this.store.baseParams = this.st ... -
模板XTemplate实例
2010-03-06 15:38 1401/** * 根据输入的小说目录页的URL下载一本小说 ... -
表格视图GridView
2010-03-06 12:14 979/** * 根据输入的小说目录页的URL下载一本小说 ... -
与Ext一起使用DWR时的疑难问题和解答
2009-10-18 20:43 1296与Ext一起使用DWR时的疑难问题和解答 用Ext作为客户端 ... -
Ext封装(二)
2009-10-16 19:32 2692/** *@projectname Student's F ... -
Ext使用正则验证表单数据
2009-10-16 17:03 1117{ fieldLabel : '手机号码', regex: ... -
ComboBox封装
2009-10-15 14:33 9141、调用方式 //部门组合框 var dpCombo = n ... -
Extjs 处理 Date 对象
2009-10-13 14:54 948java里面时间类型转换成json数据就成这样啦 &qu ... -
Ext查看修改操作
2009-10-13 11:22 915/** * 显示查看修改菜单窗口 */ ... -
Ext基本操作的封装
2009-10-13 11:21 1519Ext.namespace('Ext.ux'); Ext.Q ... -
ExtJS表单数据的加载的数据的格式
2009-10-12 20:49 1193ExtJS表单数据的加载,服务器端返回的数据格式类似为: { ... -
封装表格显示数据GridPanel
2009-10-12 20:39 1098/** * 封装GridPanel */ Ext.d ... -
ComboBox远程获取数据
2009-10-12 20:12 14001、前台js Ext.onReady(function() { ... -
获取ComboBox里的文本值和实际值(
2009-10-12 13:14 4298使用combobox时,它有一个hiddenName的属性,专 ... -
服务器端返回的xml文档,Grid无法显示的原因
2009-10-09 20:40 10621、如果通过HttpProxy代理读取一个xml文档,则在服务 ... -
Ext工具类:将对象或List转换为json格式或xml格式
2009-10-05 08:44 3438注意:List中只有存放的是相应的Java对象,才能正确转换成 ... -
extjs中出现this.addevents is not a function错误
2009-09-30 15:52 4240有一个原因是由于其中的一个控件没有使用关键字new出来或使用关 ... -
测试数据封装所用的表单
2009-09-30 07:58 1015/** * 表单 */ var fullForm = ... -
将Ext表单的数据封装成对象
2009-09-30 07:42 1328/** * 前台表单数据的封装,自动将一个表单中的数据封装 ... -
解决ExtJS API文档无法显示问题
2009-09-27 20:28 9521.打开docs/index.html文件 2.将 < ...
相关推荐
在"增删改查"实例中,我们将利用`Ext.grid.Panel`的配置项和事件来实现对表格数据的操作。 1. **创建表格(Create)** 创建数据通常涉及到在表格中添加新行。在Ext JS中,我们可以使用`store`对象的`add()`方法来...
在"EXT 增删改查的一个例子"中,我们主要关注的是EXT在数据管理和用户交互方面的应用。增删改查(CRUD)是任何数据驱动应用的基础操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。EXT提供...
**Spring MVC + EXT JS 开发简单的增删改查入门实例** 在Web开发中,Spring MVC作为Spring框架的一部分,被广泛用于构建后端服务,而EXT JS则是一款强大的前端JavaScript库,用于创建美观、交互丰富的用户界面。将...
在这个"ext增删查改demo"中,我们可以看到是EXTJS在数据管理方面的应用,涉及到的主要知识点包括EXTJS的基础组件、数据模型、数据存储以及数据绑定。 1. EXTJS版本:此示例提及了EXTJS 3.1和2.2两个版本。EXTJS 3.x...
总结来说,EXT2.0.2的表格间数据拖拽涉及到EXT Grid、DataStore、DragDrop和DropTarget的使用,通过这些组件和接口的组合,开发者可以创建出高度交互、功能丰富的Web应用。实现这一功能需要对EXT的API有深入的理解,...
- Grid Panel:用于显示表格数据,支持排序、分页、筛选等功能。 - Form Panel:用于创建表单,进行数据输入和编辑。 2. 增(Add): 在EXTJS中,通常通过Form Panel来收集用户输入,然后将这些数据提交给后台...
在实现增删改查功能时,通常会使用ExtJS的Grid组件来显示数据列表,Form组件来进行数据的添加和编辑,而Store负责数据的加载、保存和同步。 在这个"StudentCRUD"实例中,我们可以预期以下几个关键部分: 1. **模型...
在本示例中,EXTJS4将负责前端的用户界面展示,包括表格显示数据、表单进行数据输入以及操作按钮(增、删、改、查)的交互逻辑。 STRUTS2是一个基于MVC设计模式的Java Web框架,它简化了模型与视图、控制器的交互,...
在IT行业中,Web开发是一个重要的领域,而"ext s2sh整合实例 增删改查"这个项目就是基于这种技术栈的一个实践案例。它涵盖了EXTJS、Struts2、Spring和Hibernate四大核心技术,旨在实现一个完整的CRUD(创建、读取、...
本文将深入探讨如何使用Ext JS来实现基本的数据增删改查(CRUD)操作,特别关注代码示例中的Store和GridPanel组件。 #### Store组件 在Ext JS中,`Store`是负责从服务器获取数据并存储这些数据的核心组件。通过...
标题 "ext2 grid 封装 (包含增删改查 导入导出等操作)" 暗示了这是一个关于ExtJS 2.x版本中Grid组件的封装实践,该封装集成了基本的数据操作功能,如添加(Add)、删除(Delete)、修改(Modify)和查询(Query)...
4. **Grid**:EXT Grid是展示表格数据的组件,常用于数据查看和编辑。用户可以通过Grid进行选择、排序、过滤和编辑数据。在"EXT后台经典实例"中,Grid通常与Store结合,动态显示从服务器获取的数据。 5. **控制器...
这个简单的EXT4表格分页实例,展示了EXT JS如何优雅地处理大数据量的展示问题,使得用户界面保持流畅,提高了用户体验。同时,EXT JS提供了丰富的API和自定义选项,可以根据实际需求进行扩展和调整,满足各种复杂的...
这个"ExtJs增删改查实例,献给初学者(佳家记账)"的项目是专门为初学者设计的,旨在帮助他们理解如何使用ExtJS进行基本的数据操作,如添加、删除、修改和查询。在Web开发中,这些功能通常被称为CRUD(Create, Read, ...
ExtJS框架表格组件实例获取后台数据 ExtJS是一款基于JavaScript的RIA(Rich Internet Application,富互联网应用)框架,它提供了许多强大的功能和组件,其中之一就是表格组件Ext.grid.GridPanel。 Ext.grid....
在这个“extjs 增删改查”的主题中,我们将深入探讨如何利用ExtJS框架、JSON数据格式以及JDBC(Java Database Connectivity)来实现数据的增删改查功能,并带有分页显示。 首先,让我们了解ExtJS中的基础组件。`Ext...
**基于Struts的Ext增删改查应用范例详解** 在Web开发中,Struts框架与ExtJS库的结合常用于构建高效的用户界面和后台数据交互。本应用范例是针对初学者的一个宝贵资源,它提供了清晰的注释和全面的功能,使开发者...
综上所述,实现"extjs完成用户增删改查"需要理解并熟练运用ExtJS 4.0的模型、存储、代理、表单、表格等相关组件和机制,同时,后端需要提供稳定、安全的数据接口。通过前后端协同工作,可以构建出高效、功能完善的...
在EXT JS框架中,双层表格,也称为嵌套表格或多级表格,是一种用于展示层次数据的强大工具。EXT JS的Grid组件是实现这一功能的主要组件,它允许开发者以清晰、交互的方式展示复杂的数据结构。以下是对EXT JS双层表格...
"ext grid 显示数据"这一主题,是深入理解EXT JS开发的关键知识点之一,特别是在处理表格和列表展示时。在"LearningExtJS 第五章节的翻译"中,我们可以期待找到关于EXT JS Grid的详细讲解和实例应用。 EXT JS的Grid...