【问题标题】:Define Kendo UI default values and functions定义 Kendo UI 默认值和函数
【发布时间】:2017-07-22 01:08:50
【问题描述】:

我们在一个项目中使用 Kendo UI,我们的应用程序中有几个网格以及其他小部件。我们现在想要定义一个所有网格都应该具有的属性列表。

例如,在 Kendo MVC 中,要标记一个支持键盘的网格,您可以向它添加 Navigatable() 属性。要访问databind 事件,您可以执行以下操作:

.Events(e => e.DataBound("onDataBound"))

所以问题:

  1. 有没有办法在某处定义一个全局navigatable 以便所有表都接收它?
  2. 有没有办法定义一个额外的回调,以便在所有网格完成加载后执行?

场景是我们希望在加载网格时向用户发布更新,但我们可能还想做其他事情。如果一个或两个都不可能,有没有人以不同的方式解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    您可以通过编写帮助程序或扩展来轻松包装多个功能。 因此,您可以将例如 Navigatable 属性放在包装器中并开始使用您的模板而不是标准的剑道网格配置:

    助手:

    @helper MyGridShortCut()
    {
        Html.Kendo().Grid()
            .Name("Grid")
            .Columns(columns =>
            {
    
            }).Render();
    }
    
    @MyGridShortCut()
    

    扩展:

    public static Kendo.Mvc.UI.Fluent.GridBuilder<T> MyGrid<T>(this HtmlHelper helper, string name)
                where T : class
            {
                return helper.Kendo().Grid<T>()
                    .Name(name)
                    .Groupable()
                    .Pageable()
                    .Sortable()
                    .Scrollable()
                    .Filterable()
                    .Pageable();
            }
    

    您还可以通过扩展 Kendo.Mvc.UI.Fluent.GridBuilder 类来编写自定义网格。您可以将自定义的额外回调或属性放在那里,它们应该可以从您的视图中的 fluent api 中看到。

    【讨论】:

    • 结合这个和页面初始化后绑定到网格事件,我们可以做我们需要的事情。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 2018-01-22
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    相关资源
    最近更新 更多