jQuery MiniUI

标题: Grid.getColumns()方法有问题.官网DEMO也有这问题. [打印本页]

作者: nbakill2    时间: 2013-7-31 16:31:06     标题: Grid.getColumns()方法有问题.官网DEMO也有这问题.

本帖最后由 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)也溢出了...


请问这个怎么解决.

作者: factory    时间: 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的去掉
作者: nbakill2    时间: 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的.
作者: factory    时间: 2013-7-31 17:14:36

nbakill2 发表于 2013-7-31 17:07
你给我发的参考是让我重写这个getColumns方法吗??

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

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




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2