问题: 我可以使用一行'saveRow'方法调用将jqGrid客户端上的'addRowData'成功添加到服务器端集合中的新jqGrid行保存吗?
这是类似线程的不同版本: How to perform action in jqGrid after adding new row
虽然在我的情况下,它似乎没有什么不同:
EXISTING: 我有一个与.ashx处理程序对话的网格,用于插入更新删除和读取。 (这适用于内联编辑等。)
新功能: 我刚刚添加了粘贴按钮,粘贴一个文本数组并将其转换为行: 长话短说到底两行代码最后将我的分割数据逐行添加到我的jqGrid:
var gridRow = { Id: rowId, Surname: rowSurname, DateOfBirth: rowDateOfBirth, Salary: rowSalary, Postcode: rowPostcode };
jQuery("#list").addRowData(rowId, gridRow); //(**)
(如你所见,我知道我的rowId,我计算搜索现有数据)
THE CATCH: 上面的代码只在UI上添加了新行,我希望它也可以将它添加到Server集合中。
FAULTY: 在行(**)之后我想将它添加到服务器集合中 - 只需使用带有saveRow传递URL的全新调用。没有发生的事情
这是我尝试过的一种变体:
$("#list").jqGrid('saveRow', rowId, { //same rowId value used in 'addRowData' method above succesfunc: function (response) { return true; }, url: "jqHandler.ashx", mtype: "POST", extraparam: gridRow // gridRow used in 'addRowData' method above });
底线: 我可以使用一行'saveRow'方法调用将jqGrid客户端上的'addRowData'成功添加到服务器端集合中的新jqGrid行保存吗?
我真的很感激一些指导。 最好的祝福, 克里斯
答案 0 :(得分:1)
对它进行排序,可能对某人有所帮助,因为它太简单了:
您只需要“编辑行”,这样我们就需要以最简单的方式添加编辑函数调用。
所以整件事看起来像这样:
var gridRow = { Id: rowId, Surname: rowSurname, DateOfBirth: rowDateOfBirth, Salary: rowSalary, Postcode: rowPostcode };
jQuery("#list").addRowData(rowId, gridRow);
jQuery("#list").addRowData(rowId, gridRow);
jQuery("#list").jqGrid('editRow', rowId, { keys: true });
$("#list").jqGrid('saveRow', rowId, { //same rowId value used in 'addRowData' method above
succesfunc: function (response) {
return true;
},
url: "jqHandler.ashx",
mtype: "POST",
extraparam: gridRow // gridRow used in 'addRowData' method above
});
您可以进行调整,以便使用相同的方式调用jQuery或jqGrid API。但它有效......
干杯