1

问题:我可以通过一行“saveRow”方法调用将 jqGrid 客户端上使用“addRowData”成功添加的新 jqGrid 行保存到服务器端集合吗?

这是类似线程的不同版本: How to perform action in jqGrid after add new row

尽管就我而言,这似乎没什么不同:

现有:我有一个与 .ashx 处理程序对话的网格,用于插入更新删除和读取。(这适用于内联编辑等)

新功能:我刚刚添加了粘贴按钮,用于粘贴文本数组并将其转换为行:长话短说最后两行代码最终将我的拆分数据逐行添加到我的 jqGrid:

var gridRow = { Id: rowId, Surname: rowSurname,  DateOfBirth: rowDateOfBirth, Salary: rowSalary, Postcode: rowPostcode };
            jQuery("#list").addRowData(rowId, gridRow);  //(**)

(如您所见,我知道我的 rowId,我通过现有数据计算搜索)

问题:上面的代码仅在 UI 上添加了新行,我希望它也可以添加到服务器集合中。

FAULTY:在 (**) 行之后,我想将它添加到服务器集合中 - 只需使用带有 saveRow 传递 URL 的全新调用。然而什么也没发生

这是我已经尝试过的一种变体:

                                $("#list").jqGrid('saveRow', rowId, { //上面 'addRowData' 方法中使用的相同 rowId 值
                                    succesfunc:函数(响应){
                                        返回真;
                                    },
                                    网址:“jqHandler.ashx”,
                                    mtype:“发布”,
                                    extraparam: gridRow // 上面'addRowData'方法中使用的gridRow
                                });

底线:我可以通过一行“saveRow”方法调用将 jqGrid 客户端上使用“addRowData”成功添加的新 jqGrid 行保存到服务器端集合吗?

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

4

1 回答 1

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 的相同方式。但它有效......

干杯

于 2012-12-04T10:42:49.667 回答