如何在 kendo 网格的 ajax 调用期间关闭 ajax 全局设置

How to turn off ajax global setting during kendo grid's ajax call

在 MVC 5 的 _layout 页面中,我有 .ajaxStart 和 .ajaxStop 事件以显示忙碌指示器。

<body>
        <script type="text/javascript">
        $(document).ajaxStart(function (e) {            
           $("#loading-div-background");

           $("#loading-div-background").show();
        });

        $(document).ajaxStop(function (e) {

            $("#loading-div-background").hide();
        });
   </script>
</body>

我们正在使用 kendo 网格,它发出 ajax 请求来填充网格。 Kendo 有自己的忙碌指示器。我们想使用 kendo 的繁忙指示器并在某些情况下关闭全局指示器。通常我们可以通过在调用 ajax 时将全局设置为 false 来关闭全局。

$.ajax({ 全球:假 })

但是对于 kendo,我们没有明确地进行 ajax 调用 我如何在此处将全局设置为 false。

我觉得你应该试试技巧。您可以使用一个全局变量并将其用作 ajaxStart 方法中的标志。 从 "http://demos.telerik.com/kendo-ui/grid/events"

中找到合适的事件

在此事件中,将您的全局变量值设置为 false。

例如:

var flag = true;
 function onDataBinding(arg) {
                   flag = false;
                }

$(document).ajaxStart(function (e) {
if(flag){$("#loading-div-background").show();}

        });

确保在网格事件中保持标志值。

找到了

var grid = $("#grid").data("kendoGrid");    
grid.dataSource.transport.options.read.global = false;