[英]JQGrid getGridParam not returning ID of data item
我有一個網格使用從外部ajax請求生成的本地數據(通過外部我的意思是不使用內置的jqgrid的ajax)
來自ajax請求的數據作為本地數據傳遞到網格中,並且網格設置為loadonce。
window.grid = $(window.tableName).jqGrid({
datatype: "local",
data: DataFromResponse,
height: "auto",
autowidth: true,
hidegrid: false,
ignoreCase: true,
loadonce: true,
pager: window.pagerName,
rowNum: 10,
viewrecords: true,
gridview: true,
caption: '',
colNames :[cols],
colmodel :[]{cols},
gridComplete: function() {
CreateButtons();
});
正如您在此階段看到網格是基本的,但是我們需要在名為“buttons”的列中添加一些按鈕,我們使用CreateButtons方法來執行此操作。
該
function CreateButtons(){
var grid = $(window.tableName);
var data = grid.jqGrid('getGridParam', 'data');
$.each(data, function(index, item){
var cl = item._id_;
alert(cl);
});
}
這個函數的警告應該給我網格設置的行的id,但它沒有任何想法
僅當從遠程源( datatype
為"xml"
"json"
"xml"
)加載的數據和使用選項loadonce: true
時,屬性_id_
存在於內部data
參數中。 如果在本地加載數據(一個使用datatype: "local"
),則_id_
不存在。
如果正確填充網格,則data
參數(在您的情況下為DataFromResponse
)指定的data
是包含id
屬性的項目數組以及用於填充列數據的其他屬性。 另一個選項是指定key: true
某些列為key: true
。 如果行的id
將從列中獲取。
如果你沒有指定和id
信息(非常糟糕)並且你需要訪問包含jqGrid生成的id的所有本地數據,你需要獲得兩個jqGrid選項: _index
和data
。 對象_index
包含網格的所有ID作為屬性。 id屬性的值是data
數組中的整數索引,它對應於id。 因此,您可以使用for-in
循環來枚舉網格的所有ID(您需要枚舉_index
屬性)。 有關詳細信息,請參閱答案和此 答案 。
您另外寫道,您在gridComplete
內部的網格列中創建了按鈕。 這種方法似乎並不好。 最好使用自定義格式化程序,而不是gridview: true
選項(請參閱答案 )。 此外,我不建議您完全使用gridComplete
。 最好使用loadComplete
。 有關詳細信息,請參閱答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.