使用一行'saveRow'方法调用将jqGrid Row保存到服务器端集合?

时间:2012-12-03 11:42:37

标签: jqgrid

问题: 我可以使用一行'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行保存吗?

我真的很感激一些指导。 最好的祝福, 克里斯

1 个答案:

答案 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。但它有效......

干杯