首先,我想明确表示我知道在这些论坛中还有其他与我的相似的帖子。不幸的是,使用它们我无法使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 :(得分:0)
我认为你不想在那里使用reloadGrid。我没有使用它,我的newRowData调用工作正常。此外,您在调用addRowData时错过了位置属性(不确定是否需要,但它不会受到伤害)。
另外,我认为newRowData中的哈希键需要与colModel匹配大小写。您已经在newRowData中获得了键&#39;键入&#39;,&#39;姓名&#39;等等,但在您的colModel中,他们被称为&#39;键入&#39;,&# 39;姓名&#39;等
查看addRowData的定义