添加新记录时,将向用户显示一个包含要填写表格的模式。单击“确定”时,数据将保存到数据库,并且模式关闭。但是,我现在必须将此记录添加到网格中。我不能只从数据库刷新网格,因为它可以清除用户可能在网格中所做的其他更改。
我需要从各种表单字段中获取数据,并将其作为JavaScript中的新行传递到网格。我看过一个示例,其中将行从一个剑道网格复制到另一剑道网格,但是我找不到从暂存客户端将新记录添加到剑道网格的任何内容。这是从一个网格复制到另一个网格的示例:how to add a new row with pre defined data in kendo grid?
基本上我想做的是这样的:
var newRow = {field1: $("#field1").val(), field2: $("#field2").val(), field3: $("#field3").val()};
var grid = $("#grid").data("kendoGrid");
grid.addRow(newRow);
答案 0 :(得分:1)
这不是addRow()
的目的。根据文档,它“将一个空数据项添加到网格” ,因此它不接受任何参数,也不将数据添加到网格。
您应该使用dataSource.add()
添加新数据:
var newRow = {field1: $("#field1").val(), field2: $("#field2").val(), field3: $("#field3").val()};
var grid = $("#grid").data("kendoGrid");
grid.dataSource.add(newRow);
答案 1 :(得分:0)
使用grid.insert(0,dataItem);在Grid顶部插入
您的样本:
var newRow = {field1: $("#field1").val(), field2: $("#field2").val(), field3: $("#field3").val()};
var grid = $("#grid").data("kendoGrid");
grid.dataSource.insert(0, newRow);