EXT-CRUD
/** * 菜单管理 */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();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 : })],// 表单设置结束});// 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);}Ext.MessageBox.alert("提示", "删除菜单成功");} else {Ext.MessageBox.alert("提示", "删除菜单失败");}})} else {return;}}}}();Ext.onReady(menuMgr.init, menuMgr, true);
页:
[1]