删除Kendo网格中的记录时进度条不显示

时间:2019-06-22 07:40:38

标签: kendo-ui kendo-grid progress-bar

我想在确认后从Kendo Grid数据源中删除所选记录,并在删除记录时显示进度栏。

为进行确认,我使用“剑道”对话框和进度条来显示加载程序。我在确认中单击“是”按钮时正在执行以下代码。一切正常,但是进度条没有出现在屏幕上,但是当我进行调试时,它会显示出来。我不知道该怎么解决。

我正在使用Jquery kendo UI。

代码删除操作:

    kendo.ui.progress($("#divDialog").data("kendoDialog").element, true);
    //close the progress bar
    var dsLineItem = $("#grdLineItem").data("kendoGrid").dataSource;
    var data = dsLineItem.view();
    for (var i = 0; i < data.length; i++) {
        if (data[i].IsDeleted) {
            dsLineItem .remove(data[i]);
        }
    }
    kendo.ui.progress($("#divDialog").data("kendoDialog").element, false);

构造的对话框代码:

$("#divDialog").kendoDialog({
    visible: false,
    title: "Confiramtion",
    modal: true,       
    show: function onShow(e) {
        var buttons = $('.k-dialog button.k-button');
        $(buttons).eq(0).focus();
    },
    close: function () {
        this.destroy();
    },
    content: "Are you sure want to delete ?",
    actions: function(){
        // I have do code here for deletion
    }
});
$("#divDialog").data("kendoDialog").open();

1 个答案:

答案 0 :(得分:0)

非调试运行的速度可能如此之快,运行时间间隔小于进度条动画的持续时间或其他内部进度条计时器。换句话说,条形图在显示之前已经关闭。

您可能还想编写一个自动关闭的REMOVAL DONE对话框,例如:

    var alert = kendo.alert("Records removed.");
    setTimeout (function () { alert.close() }, 5000); * auto-close alert after 5 seconds;

另外,根据CRUD方法的不同,您可能正在异步地对清除进行排队。在这种情况下,排队在实际删除之前完成(进度条关闭)-进度条可以由网格dataSource更改事件处理程序进行管理