jQuery MiniUI

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

Grid.getColumns()方法有问题.官网DEMO也有这问题. [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2013-7-31 16:31:06 |只看该作者 |倒序浏览
本帖最后由 nbakill2 于 2013-7-31 16:41 编辑

获取到 columns之后

使用 mini.encode(cols);

提示Stack overflow at line :1   这个好像是内存溢出?不知道翻译得对不对.

使用 JSON.stringfiy(cols);

提示Circular reference in value argument not supported   循环引用的值参数不支持


============================================
经过我观察发现,checkcolumn(就是最前面那个可以多选行的框框)和checkboxcolumn(正常的表格列中的勾选框)还有comboboxcolumn在一个 columns里面,然后在遍历的时候到checkboxcolumn或者comboboxcolumn就会堆栈溢出...自然mini.encode(cols)也溢出了...


请问这个怎么解决.

Rank: 8Rank: 8

沙发
发表于 2013-7-31 17:04:10 |只看该作者
http://www.miniui.com/demo/#src=datagrid/export.html

参考这个
  1. function getColumns(columns) {
  2.                 columns = columns.clone();
  3.                 for (var i = columns.length - 1; i >= 0; i--) {
  4.                     var column = columns[i];
  5.                     if (!column.field) {
  6.                         columns.removeAt(i);
  7.                     } else {
  8.                         var c = { header: column.header, field: column.field };
  9.                         columns[i] = c;
  10.                     }
  11.                 }
  12.                 return columns;
  13.             }
复制代码
如果encode()的话,把没有field的去掉

Rank: 6Rank: 6

板凳
发表于 2013-7-31 17:07:32 |只看该作者
factory 发表于 2013-7-31 17:04
http://www.miniui.com/demo/#src=datagrid/export.html

参考这个如果encode()的话,把没有field的去掉 ...

你给我发的参考是让我重写这个getColumns方法吗??

另外,encode如何取消没有field的.

Rank: 8Rank: 8

地板
发表于 2013-7-31 17:14:36 |只看该作者
nbakill2 发表于 2013-7-31 17:07
你给我发的参考是让我重写这个getColumns方法吗??

另外,encode如何取消没有field的. ...

不是重写,就是写个方法,把getColumns()之后的列数组里面,把没有field的,也就是checkcolumn这些,去除掉

Archiver|普加软件

GMT+8, 2024-11-30 10:35 , Processed in 1.047234 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部