日期:2014-05-16  浏览次数:20795 次

高分求实现 如何实现GridPanel中显示列的动态设置 - Web 开发 / Ajax
..目前我只能发100分的问题,,在高发不了.!要是还不够后续补上

我想实现GridPanel 中列的动态设置

比如GridPanel 的列值有10个
但是我只显示了5个 并且不同的用户他可以跟据自己的喜好自己在页面设置

例子:
列有: 姓名 年龄 地址 职务 薪水 其他
A 用户显示 姓名 年龄 职务 薪水
B 用户显示 姓名 地址 职务 其他 



求高手帮忙写个例子
小弟先谢过!

------解决方案--------------------
ext中不是有这种功能吗?
------解决方案--------------------
写在不同的js里面,对不同的页加载不同的js
------解决方案--------------------
隐藏列
------解决方案--------------------
如果你要加载二个那样的grid 则设置不同的grid 列名,查出来的josn 自动会对应
------解决方案--------------------
我是使用extjs控件在后台生成的,js没试过
------解决方案--------------------
进入这个网站去看一下
http://examples.coolite.com/
------解决方案--------------------
老大啊 还是不太懂你到底要什么功能。是动态改变列数吗?
不知道理解的对不对 给个例子参考下
JScript code
        Ext.Ajax.request({
            url:'grid.do?method=GridMove',
            method: 'POST',
            success:function(action,response){
                var strdata = action.responseText;
                [color=#FF0000]var json = Ext.decode(strdata);[/color]                   var ds =  new Ext.data.Store({
                               url:'grid.do?method=GridMove',
                            reader : new Ext.data.JsonReader({
                                        root : 'root',totalProperty: 'count'
                                    }, ['address','name'])
                        });

                var _report_CM1 = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer({
                        header : '行号',
                        width : 35
                                }), {
                            header : '单位',
                            dataIndex : 'name',
                            width : 80
                        }, {
                            header : '姓名',
                            dataIndex : 'address',
                            width : 80
                        }]);
               _report_GRID.reconfigure(ds,_report_CM1);  //重新配置数据集和列模型
              [color=#FF0000] ds.loadData(json);[/color]  //加载数据
              
            }
        });

------解决方案--------------------
CSS code

好像有个readerFunction方法把
你可以些个方法进行过滤的

------解决方案--------------------
对,可以设置隐藏列的方法,这是个好的方法

------解决方案--------------------
顶你。。
------解决方案--------------------
ColumnModel cm = grid.getColumnModel(); 

隐藏: 
cm.setHidden( 列索引, true); 

显示: 
cm.setHidden( 列索引, false);