我在我的项目中使用 jqgrid 。我要求当用户选择行并点击内联工具栏控件的编辑按钮时之后修改单元格中的任何数据,而不是单击内联工具栏控件用户单击(选择)当时任何其他行的保存按钮。我想显示用户消息
想要保存/放弃修改后的数据
如果用户单击消息对话框的保存按钮,则保存数据,否则丢弃数据。所以请告诉我如何实现它。直到用户不要点击保存或丢弃按钮不会选择用户点击的下一行。
答案 0 :(得分:2)
首先,您应该使用restoreAfterSelect: false
的{{1}}选项(如果您使用inlineNav
)。您可以使用inlineNav
来实现所需的行为,并根据用户的选择来调用beforeSelectRow
或saveRow
。
restoreRow
的最简单实现可能如下:
beforeSelectRow
我上面使用了beforeSelectRow: function (rowid) {
var $self = $(this),
savedRowInfos = $self.jqGrid("getGridParam", "savedRow"),
editingRowId = savedRowInfos == null || savedRowInfos.length < 1 ?
null : savedRowInfos[0].id;
if (editingRowId != null && editingRowId !== rowid) {
if (confirm("Do you want to save the changes?")) {
$self.jqGrid("saveRow", editingRowId);
} else {
$self.jqGrid("restoreRow", editingRowId);
}
}
}
方法。您可以在the demo上看到工作代码。
或者,可以使用jQuery UI对话框创建异步对话框。然后confirm
的代码可能如下:
beforeSelectRow
相应的演示是here。