2010-12-16 93 views
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" 
      } 
      ); 
    } 
    ); 
+0

你可以發佈'Default.aspx/GetListOfPersons'的代碼嗎?在我看來,你讓JSON序列化**兩次**。我想這是因爲你在'$ .ajax'的成功處理程序中使用'JSON.parse(jsondata.d)'。如果你發佈了代碼,我會試着改變它,這樣你就可以在沒有'datatype'作爲函數的情況下使用jqGrid。 – Oleg 2010-12-16 15:37:05

回答

5

因爲你是你自己打電話$.ajax,我不認爲loadComplete應該火災。

gridComplete應該工作,但。