У меня есть Kendo.Grid () definingf a SaveChanges
action:
.Events(events => events.DataBound("Databound").SaveChanges("SaveGrid").Edit("Edit"))
Когда пользователь меняет поле Amount на одну строку и нажимает кнопку «SAVE CHANGES»с панели инструментов в первый раз, я получаю kendoDialog
, отображающее сообщение об ошибке, если сумма не равна конкретному числу.
Когда нажата кнопка «СОХРАНИТЬ ИЗМЕНЕНИЯ» и action == 'false'
, яотображение kendoDialog
с кнопкой «ОТМЕНА», то есть при нажатии имитирует событие нажатия кнопки «ОТМЕНА ИЗМЕНЕНИЙ».
Это работает только в первый раз.Когда я нажимаю «СОХРАНИТЬ ИЗМЕНЕНИЯ» во второй раз, я не могу выполнить обновление, но 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
Что не так с таким подходом и как я могу реализовать что-то подобное?