为了extjs这个功能,花了一天多,张把这个功能解决了;
上代码了.
引用的extjs2.2.1是ext/plugin/CheckColumn.js
var win; var right_store; //value:catId //privTypes:'cat' function setRight(value,privTypes){ /// if(window) return window; var sm = new Ext.grid.CheckboxSelectionModel(); // var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),sm, {header:'编号',dataIndex:'id'},{header:'名称',dataIndex:'name'},{header:'描述',dataIndex:'descn'}]); var saveas=new Ext.grid.CheckColumn({ header: '查阅', dataIndex: 'saveas', // xtype: 'checkcolumn', width: 70 }); var enabled=new Ext.grid.CheckColumn({ header: '编辑', dataIndex: 'enabled', width: 70 }); var deleted=new Ext.grid.CheckColumn({ header: '删除', dataIndex: 'deleted', width: 70 }); var granted=new Ext.grid.CheckColumn({ header: '授权', dataIndex: 'granted', width: 70 }); var cm = new Ext.grid.ColumnModel({ columns : [sm, { header : "id", dataIndex : "id", hidden : true }, { header : "对象名称", dataIndex : "relateName", width : 100 }, { header : "类别", dataIndex : "type", width : 100, renderer : function(value) { if(value == "U" ||value == "ALL"){ return "机构成员"; }else if(value == "R"){ return "角色"; }else if(value == "D"){ return "机构部门"; }else if(value == "G"){ return "组对象"; } return value; } }, { header : "位置", dataIndex : "position", width : 100 }, saveas,enabled,deleted,granted]}); initData = function() { var ds = new Ext.data.JsonReader({ root : "list", fields:["id","relateName","type","position","saveas","enabled","deleted","granted"] /*fields : [{name:"id",type:"string"}, {name:"relateName",type:"string"}, {name:"type",type:"string"}, {name:"position",type:"string"}, {name:"saveas",type:"bool"}, {name:"enabled",type:"bool"}, {name:"deleted",type:"bool"}, {name:"granted",type:"bool"}]*/ }); var store = new Ext.data.Store({ autoDestroy: true, proxy : new Ext.data.HttpProxy({ url : requestContextPath + "/desktopapp/getsharedres.do" }), reader : ds }); store.on('beforeload', function(thiz, options) { thiz.baseParams["resId"] = value; thiz.baseParams["resType"] = 2; thiz.baseParams["loginWay"] = "web"; }); return store; }; right_store =initData(); var grid = new Ext.grid.EditorGridPanel({ region:'center',//居中 store:right_store,//数据 cm:cm,//列类似于数据库一样的结构 sm:sm,//有多选框 clicksToEdit: 1, loadMask:true,//加载loading条 c }); right_store.load({param:{resId:value,resType:"2",loginWay:"web"}}); win= new Ext.Window( { width:700, height:400, title:"权限设置", layout:'fit', items: [grid], buttons:[ {text:'添加授权成员', handler:function(){ debugger; var array =[]; array.push(value); selectRight(Ext.encode(array),privTypes); } }, {text:'删除', handler:function(){ var b = grid.getSelectionModel().getSelections(); if (b.length == 0) { Ext.Msg.alert("信息提示", "请选择要删除的记录!"); return; } Ext.Msg.confirm("信息确认", "您确认要删除该记录吗?", function(c) { if (c == "yes") { for (var c = 0; c < b.length; c++) { right_store.remove(b[c]); } }}); }}, {text:'授权', handler:function(){ debugger; var objList=""; var str=""; for(var k =0;k<right_store.data.length;k++){ var obj =right_store.data.items[k].data; if(obj.type=="ALL"){ obj.type="U"; } str=obj.id+","+obj.type+","+obj.saveas+","+obj.enabled+",1,1,"+obj.deleted+","+obj.granted+";"; objList+=str; } Ext.Ajax.request({ url : requestContextPath + "/datapriv/saveExtDataprivGrants.do", params : { catId :value, delbefore:"1", resp:"2", extendparentpriv:"0", objList:objList }, method : "post", success : function(response) { var text = Ext.util.JSON.decode(response.responseText); var result =text.result; /// formPanel.getForm().setValues(result); ///Ext.Msg.alert("信息提示", "成功删除所选记录!"); } }); } }, {text:'取消', handler:function(){ win.hide(); } } ] }); win.show(); }
/desktopapp/getsharedres.do请求后的数据
{"list":[{"deleted":1,"enabled":1,"enddate":null,"granted":1,"id":"402880e5408f6bf801408f7312510002","memberId":"","position":"中山供电局","printpriv":1,"readonly":0,"relateName":"小燕","saveas":1,"startdate":null,"type":"U","visible":1}],"result":{"ResultCode":"0","Reason":""}}
其中deleted这里可以表示1,0或true,false;
plugins:[saveas,enabled,deleted,granted] //切记一定要写这句,否则将不可编辑
相关推荐
Ext.grid.GridPanel属性祥解, 表格部门的详解,通俗易懂,适合初学人员,以及想对GridPanel有个精析认识的Web开发人员
NULL 博文链接:https://atian25.iteye.com/blog/1019910
EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...
Ext.grid.ColumnModel显示不正常
此文档是可编辑表格Ext.grid.EditorGridPanel的说明以及示例的源代码,放到eclipse里面即可运行,显示出效果!
封装Ext.grid.Grid+dwr实现增删该查
1. Ext.form.NumberField 2. Ext.form.TextArea 3. Ext.form.TriggerField 4. Ext.form.DateField 5. Ext.form.ComboBox 6. Ext.form.TimeField
Ext.grid.GridPanel 删除线 放到example文件夹下运行
org.restlet.ext.spring.jar
2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button 4、Ext.ux.toggleslide.ToggleSlide 5、Ext.ux.container.ButtonSegment 6、Ext.ux.grid.plugin.RowEditing 7、Ext.ux.grid.plugin.DragSelector 8、Ext....
自己写的editpanel 实例。简单实现grid可以 动态的修改。有需要的朋友。可以参考参考。
主要介绍了Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法,本文中的事件指collapsebody和expandbody事件,需要的朋友可以参考下
Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文
ext可编辑表格Ext.onReady(function() { Ext.QuickTips.init(); //格式化日期 function formatDate(value) { return value ? value.dateFormat('Y年m月d日') : ''; } // 别名 var fm = Ext.form; //...
extjs多选下拉框,Ext.ux.form.LovCombo,extjs 以修复多选下拉框火狐下取不到值的问题,火狐下div不显示背景色的问题
运行Microsoft office时,vbe6ext.olb不能加载
环境:Window XP Sp2、Tomcat 6.0、...关于Ext.data.Store类,我们可以看出:该框架提供了客户端缓存的功能--这对于我们框架系统是非常有帮助的。本示例代码注释非常详细。 阅读对象:需要使用Ext框架进行Web开发的人员
Ext.get与Ext.fly的区别与用法