定义Kendo UI默认值和函数

时间:2017-07-22 01:08:50

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

我们正在为项目使用Kendo UI,我们的应用程序中有几个网格,以及其他小部件。我们处于这样一种情况:我们想要定义所有网格应该具有的属性列表。

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

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

所以问题:

  1. 有没有办法在某处定义全局navigatable以便所有表都能接收它?
  2. 有没有办法在加载后定义所有网格上执行的额外回调?
  3. 场景是我们想在加载网格时向用户发布更新,但我们也可能想要做其他事情。如果一个人或两个人都不可能,那么有没有人以不同的方式解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

助手:

@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类来编写自定义网格。您可以在那里放置自定义的额外回调或属性,并且在您的视图中可以从流畅的api中看到它们。