无法让jqgrid addRowData工作

时间:2012-03-06 05:35:05

标签: jquery 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>

如果有人能帮助我弄清楚我做错了什么,那将非常赞赏。我强烈怀疑我只是在做一些愚蠢的事情,或者忽视一些简单的事情。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为你不想在那里使用reloadGrid。我没有使用它,我的newRowData调用工作正常。此外,您在调用addRowData时错过了位置属性(不确定是否需要,但它不会受到伤害)。

另外,我认为newRowData中的哈希键需要与colModel匹配大小写。您已经在newRowData中获得了键&#39;键入&#39;,&#39;姓名&#39;等等,但在您的colModel中,他们被称为&#39;键入&#39;,&# 39;姓名&#39;等

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods

查看addRowData的定义