我们正在为项目使用Kendo UI,我们的应用程序中有几个网格,以及其他小部件。我们处于这样一种情况:我们想要定义所有网格应该具有的属性列表。
例如,在Kendo MVC中标记网格以获得键盘支持,您可以向其添加Navigatable()
属性。要访问databind
事件,您可以执行以下操作:
.Events(e => e.DataBound("onDataBound"))
所以问题:
navigatable
以便所有表都能接收它?场景是我们想在加载网格时向用户发布更新,但我们也可能想要做其他事情。如果一个人或两个人都不可能,那么有没有人以不同的方式解决这个问题?
答案 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中看到它们。