1
我試圖在加載網格後模擬單擊第一個單元格。我已經知道如何做到這一點,但由於某些原因,我無法啓動「loadComplete」事件。我已經添加了一個簡單的函數,用一個警報來嘗試,但即使頁面加載沒有問題,我沒有得到警報(調試顯示函數從未被調用)。無法獲取JQGrid loadComplete事件觸發
「gridComplete」也不起作用。
我使用jgGrid 3.8.2
什麼我做錯了任何想法?我已張貼下面我的代碼:
$(document).ready(function() {
$("#grid").jqGrid(
{
datatype: function() {
$.ajax(
{
type: "POST",
url: "Default.aspx/GetListOfPersons",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (jsondata, stat) {
if (stat == "success")
jQuery("#grid")[0].addJSONData(JSON.parse(jsondata.d));
else
alert("error");
}
});
},
jsonReader:
{
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
id: "Id"
},
colModel: //Columns
[
{ name: 'FirstName', index: 'FirstName', width: 200, align: 'Left', label: 'First Name', editable: true },
{ name: 'LastName', index: 'LastName', width: 300, align: 'Left', label: 'Last Name', editable: true },
{ name: 'Age', index: 'Age', width: 50, align: 'Right', label: 'Age', editable: true }
],
caption: "Personas",
cellEdit: true,
cellsubmit: 'clientArray',
pager: "#pager",
loadComplete: function() { alert("load complete"); }
}
).navGrid('#pager', { edit: false, add: false, del: false, search: false }).navButtonAdd('#pager',
{
caption: "Save",
onClickButton: function() {
var ret = $("#grid").getChangedCells('dirty');
var ret2 = JSON.stringify(ret);
$.ajax(
{
type: "post",
url: "Default.aspx/GetChangesBack",
data: '{"o":' + ret2 + '}',
contentType: "application/json; charset=utf-8",
dataType: "json"
}
);
},
position: "last"
}
);
}
);
你可以發佈'Default.aspx/GetListOfPersons'的代碼嗎?在我看來,你讓JSON序列化**兩次**。我想這是因爲你在'$ .ajax'的成功處理程序中使用'JSON.parse(jsondata.d)'。如果你發佈了代碼,我會試着改變它,這樣你就可以在沒有'datatype'作爲函數的情況下使用jqGrid。 – Oleg 2010-12-16 15:37:05