2012-03-06 128 views
0

首先,我想說清楚,我知道在這些論壇中還有其他類似於我的帖子。不幸的是,使用它們我無法使addRowData正常工作。我有一個這樣定義的表格:無法讓jqgrid addRowData正常工作

var tableDef = { 
     scroll: 1, 
     url:"/SCSalesDataReport/showReport/getSalesReportJSON", 
     datatype: "json", 
     colNames:['id','Type', 'Name', 'Total','In','Out'], 
     colModel:[ 
      { name: 'id', index: 'testid', hidden: true},  
      {name:'type',index:'type', width:10, sortable:true}, 
      {name:'name',index:'name', width:40, sortable:true}, 
      {name:'total',index:'total', width: 10, sortable:false}, 
      {name:'in',index:'in', width:10, sortable:true}, 
      {name:'out',index:'out', width:10, sortable:true}, ], 
     rowNum:100, 
     mtype: "GET", 
     sortname: 'id', 
     viewrecords: true, 
     height : '500', 
     altRows: true, 
     autowidth: true, 
}; 

以及它的價值,那就是按照人們的期望工作和填充表格。不幸的是,使用我在這些論壇中看到的一些帖子,一旦它創建完成,我就無法將數據添加到表格中。我試圖通過一個鏈接添加一行,就像這樣:連接到這個標籤

window.onload = function() { 

    var a = document.getElementById("addRow"); 
    a.onclick = function() { 
     var count = $("#grid").getGridParam("reccount"); 
     var newRowData = {'id':count, 'Type':"ADDEDTYPE", 'Name':"Insert 1", 'Total':"10",'In':"50",'Out':"40"}; 
     jQuery("#myTable").addRowData("id", newRowData); 
     jQuery("#myTable").trigger("reloadGrid"); 

     return false; 
    } 
} 

<a id="addRow" href="www.google.com">Oh please, for the love of all that is holy... add a row!</a> 

如果有人可以幫我找出我在做什麼錯了,那大概是讚賞。我強烈懷疑我只是在做一些愚蠢的事情,或者忽視簡單的事情。

在此先感謝。

回答

0

我認爲你不想reloadGrid在那裏。我不使用它,我的newRowData調用工作正常。另外,你在調用addRowData的時候錯過了的位置屬性(不確定是否需要,但不能傷害)。

此外,我認爲你在newRowData中的哈希鍵需要與colModel大小寫匹配。你有鑰匙「類型」,「名稱」等在newRowData,但在你的colModel他們是所謂的「型」,「名」等

看到addRowData定義在http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods