[英]jqGrid “getGridParam” returns undefined after “addRowData”
[英]jqGrid('getGridParam','colNames') odd behavior
使用此函数返回网格的列名可以正常工作。 拼接返回的数组时会出现问题。
网格包括一个复选框作为第一列,因此我想将其从数组中删除。 这是代码。
var columnTitles = $(table).getGridParam('colNames');
columnTitles.splice(0,1);
当我多次使用此功能时,问题就来了(将其导出为excel)。 下次我导出时,getGridParam函数实际上返回的是拼接的列名数组,而不是实际的。 好像是通过引用或其他方式传递。
进一步证明它正在执行此操作,而且我不仅对全局变量或其他问题有疑问...如果我执行以下代码:
var columnTitles = $(table).getGridParam('colNames');
var columnTitles2 = $(table).getGridParam('colNames');
columnTitles.splice(0,1);
console.log(columnTitles2);
columnTitles2的值作为拼接数组返回。 这可能是完全愚蠢的,但是我在这里想念的是什么?
该方法getGridParam
返回由使用的jqGrid内部参数的参考 。 如果使用数组或对象(例如colNames
或colNames
,则应格外小心。 它需要修改的数组你的目的 ,但你不想改变你的jqGrid应首先使阵列的复制值,然后修改副本:
var columnTitles = $(table).jqGrid("getGridParam", "colNames").slice();
columnTitles.splice(0,1);
我用slice
制作了colNames
使用的内部colNames
的副本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.