![](/img/trans.png)
[英]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.