社区首页 >问答首页 >jqGrid('getGridParam','colNames')奇数行为

jqGrid('getGridParam','colNames')奇数行为
EN

Stack Overflow用户
提问于 2014-08-28 13:59:23
回答 1查看 660关注 0票数 0

使用此函数返回网格的列名很好。当拼接它返回的数组时,就会出现这个问题。

网格包括一个复选框作为第一列,所以我想从数组中删除它。这是密码。

代码语言:javascript
代码运行次数:0
复制
var columnTitles = $(table).getGridParam('colNames'); 
columnTitles.splice(0,1);

当我多次使用这个函数(它是导出到excel)时,问题就出现了。下一次导出时,getGridParam函数实际上返回的是列名的拼接数组,而不是实际的列名。就好像它是被引用的或者什么的。

进一步证明它是这样做的,而且我不仅对全局变量或something...if有问题,我执行以下代码:

代码语言:javascript
代码运行次数:0
复制
var columnTitles = $(table).getGridParam('colNames'); 
var columnTitles2 = $(table).getGridParam('colNames'); 
columnTitles.splice(0,1); 
console.log(columnTitles2); 

columnTitles2的值作为拼接数组返回。这可能是完全愚蠢的事,但我在这里错过了什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-28 14:20:22

方法getGridParam返回-- jqGrid使用的内部参数的引用。如果您使用数组或对象(例如colNamescolNames ),您应该小心。您需要修改数组,但不想更改jqGrid中的值,您应该首先修改数组的复制,然后修改副本:

代码语言:javascript
代码运行次数:0
复制
var columnTitles = $(table).jqGrid("getGridParam", "colNames").slice(); 
columnTitles.splice(0,1);

我使用slice来复制jqGrid使用的内部colNames

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25558700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档