jQuery MiniUI

 找回密码
 立即注册
查看: 2911|回复: 3
打印 上一主题 下一主题

一个DAGAGRID的新功能 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2012-10-23 10:53:23 |只看该作者 |倒序浏览
本帖最后由 xiaozan 于 2012-10-23 10:54 编辑

这个功能的需求是这样的:
写一个组件来管理系统中所有的datagrid的列显示与否,显示名称

我实现的方法是这样:
通过HTML代码创建了DATAGRID,这个组件再通过mini.encode(grid.getColumns()),将得到的值存到数据库中

下次打开这个页面,发现数据库里有值,就取出来直接 grid.setColumns(data)

这样做发现一个问题,当我mini,encode(grid.getColumns())这一步时,有些columns对象非常复杂(例如带编辑功能的CELL时),造成JS无响应

不知道 有什么 解决方法,或者有更新的实现方式来完成这个需求


谢谢

Rank: 8Rank: 8

沙发
发表于 2012-10-23 11:02:16 |只看该作者
列的显示与否,你可以用隐藏列来做
示例:http://miniui.com/demo/#src=datagrid/hidecolumn.html
显示名称,可以通过更新列来做
grid.updateColumn("name", {header: ""});

Rank: 4

板凳
发表于 2012-10-23 11:11:52 |只看该作者


我的组件是这样的,如果单 是显示用hideColumn反而还简单了,但是还有一个排序呢
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 4

地板
发表于 2012-10-23 12:05:57 |只看该作者
解决了

var columns = pGrid.getColumns();
                                            for (var i=0;i< columns.length;i++){
                                                    var column = columns
                                                   
                                                    for (var obj in column){
                                                            //当是OBJECT时,都不是必要的参数可以舍去
                                                            if ((typeof(column[obj])=="object" && obj!="editor") || obj.substr(0,1)=='_'){
                                                                    delete column[obj];
                                                            }
                                                    }
                                                    grid.addRow({"gridId":pGrid.getId(),"field":column.field,"synax":mini.encode(column),"defaultHeader"!$.isFunction(column.header)&&column.type!="checkcolumn")?column.header:"[控件]","header"!$.isFunction(column.header)&&column.type!="checkcolumn")?column.header:"[控件]","display":true,"export":true,"print":true,"orderList":i+1})




关键代码在这if ((typeof(column[obj])=="object" && obj!="editor") || obj.substr(0,1)=='_'){
                                                                    delete column[obj];
                                            }

Archiver|普加软件

GMT+8, 2024-11-26 21:31 , Processed in 1.054070 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部