【问题标题】:Disabling animation for filtering the Column in KendoGrid禁用动画以过滤 KendoGrid 中的列
【发布时间】:2014-01-29 05:15:50
【问题描述】:

当我使用 KendoUI 开发我的应用程序时。我在我的应用程序中使用了多个网格。我的问题是我想禁用过滤器选项的动画,即当我们单击每一列进行过滤时,菜单是幻灯片下来给我们各种过滤选项。 当我单击该列进行过滤时,我想禁用动画,该选项不得向下滑动。在这里我添加一个 Image.

【问题讨论】:

    标签: javascript jquery asp.net-mvc kendo-ui kendo-grid


    【解决方案1】:

    我认为没有“官方”配置选项。 您可以为所有弹出窗口禁用它,如下所示:

    kendo.ui.Popup.fn.options.animation.open.duration = 0;
    kendo.ui.Popup.fn.options.animation.close.duration = 0;
    

    (demo)

    请注意,这也会影响其他小部件(例如过滤器菜单中的下拉菜单),因此如果需要,您可能需要为这些小部件显式设置动画配置。 一种替代方法是为所有过滤器菜单设置动画(每列一个),例如:

    $(".k-grid-header").find("th").each(function () {
        var menu = $(this).data("kendoFilterMenu");
        var init = menu._init;
        menu._init = function () {
            init.apply(this, arguments);
            this.popup.options.animation.open.duration = 0;
            this.popup.options.animation.close.duration = 0;
        };
    });
    

    (demo)

    【讨论】:

      【解决方案2】:

      上面的答案对我很有用,但是对于我们如何使用剑道网格,网格的列菜单带来了另一个子菜单(如这里所示 http://demos.telerik.com/kendo-ui/grid/column-menu)。事实证明,虽然最初的下拉菜单是剑道类型“弹出”,但子菜单是剑道类型“菜单”。因此,如果您还希望子菜单没有动画,您可以添加以下几行:

      kendo.ui.Menu.fn.options.animation.open.duration = 0;
      kendo.ui.Menu.fn.options.animation.close.duration = 0;
      

      或者,您可以使用animation = false的简写来禁用动画,因此最终结果可能是:

      kendo.ui.Popup.fn.options.animation = false;
      kendo.ui.Menu.fn.options.animation = false;
      

      再次注意,这将关闭所有弹出窗口和菜单的动画。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-04
        • 1970-01-01
        • 1970-01-01
        • 2020-05-25
        相关资源
        最近更新 更多