有没有办法使用 delegate/action 生成 Kendo 网格的列?
Is there a way to use a delegate/action to generate a Kendo Grid's columns?
我有一个 Kendo 网格如下:
@(Html.Kendo().Grid<ExpenseClaimHeader>()
.Name("Manage-Expense-Type-grid")
.Columns(columns.Bound(o => o.FromDate).Title("From Date").Width(230);
columns.Bound(o => o.ToDate).Title("To Date").Width(230);
})
}
我想根据视图所在的状态生成列。我有一个传递视图状态的模型,我想根据它添加和删除列。
最好的方法是什么?
我想看看我是否能以某种方式创建一个委托,因为 Columns() 似乎正在采取行动?
Columns(System.Action<Kendo.Mvc.UI.Fluent.GridColumnFactory<T>>)
如何在页面中创建它?
您可以将列绑定到任何 属性(最好是记录 ID)并使用 ClientTemplate 显示您想要的任何内容:
columns.Bound(o => o.Id).ClientTemplate("#={ ... }#");
如果您想有条件地显示列,只需将 columns.Bound() 括在 if 语句中,它看起来像这样:
@(Html.Kendo().Grid<ExpenseClaimHeader>()
.Name("Manage-Expense-Type-grid")
if({condition}) {
.Columns(columns.Bound(o => o.FromDate).Title("From Date").Width(230);
}
)
我有一个 Kendo 网格如下:
@(Html.Kendo().Grid<ExpenseClaimHeader>()
.Name("Manage-Expense-Type-grid")
.Columns(columns.Bound(o => o.FromDate).Title("From Date").Width(230);
columns.Bound(o => o.ToDate).Title("To Date").Width(230);
})
}
我想根据视图所在的状态生成列。我有一个传递视图状态的模型,我想根据它添加和删除列。
最好的方法是什么?
我想看看我是否能以某种方式创建一个委托,因为 Columns() 似乎正在采取行动?
Columns(System.Action<Kendo.Mvc.UI.Fluent.GridColumnFactory<T>>)
如何在页面中创建它?
您可以将列绑定到任何 属性(最好是记录 ID)并使用 ClientTemplate 显示您想要的任何内容:
columns.Bound(o => o.Id).ClientTemplate("#={ ... }#");
如果您想有条件地显示列,只需将 columns.Bound() 括在 if 语句中,它看起来像这样:
@(Html.Kendo().Grid<ExpenseClaimHeader>()
.Name("Manage-Expense-Type-grid")
if({condition}) {
.Columns(columns.Bound(o => o.FromDate).Title("From Date").Width(230);
}
)