我有一个Kendo.Grid()定义了SaveChanges
动作:
.Events(events => events.DataBound("Databound").SaveChanges("SaveGrid").Edit("Edit"))
当用户在一行中更改“金额”字段并第一次单击工具栏上的“保存更改”按钮时,如果金额不等于特定数字,我将收到kendoDialog
显示错误消息
单击“保存更改”并action == 'false'
时,我将显示带有“取消”按钮的kendoDialog
,这是在模仿“取消更改”按钮的单击事件。
那只能在第一次使用。当我第二次单击“ SAVE CHANGES”时,更新失败,但是kendoDialog
不再显示。
这是单击“保存更改”时调用的函数的逻辑:
function SaveGrid(e) {
var rowsCount = e.sender.dataSource.data().length;
var totalSum = 0;
if (rowsCount > 0) {
for (var i = 0; i < rowsCount; i++) {
totalSum += e.sender.dataSource.data()[i].Amount;
}
}
var ticketAmount = $('#Ticket_Amount').val();
if (totalSum != ticketAmount) {
ShowConfirmationPopUp("Ticket Amount should be equal to the Total Amount of records updated", 'false');
e.preventDefault();
}
else {
ShowConfirmationPopUp('success', 'true');
}
}
function ShowConfirmationPopUp(message, action) {
if (action == 'false')
$("#dialog").kendoDialog({
width: "400px",
title: "Update Confirmation",
modal: true,
content: "<div style='text-align: center'>" + message + "</div>",
actions: [
{
text: "CANCEL",
action: function () {
$(".k-grid-cancel-changes").click();
}
}
]
});
}
在这里,我叫ShowConfirmationPopUp
函数,其中基于action
,我显示kendoDialog
这种方法有什么问题,我该如何实现?