Nic*_*ger 2 kendo-ui kendo-grid kendo-asp.net-mvc
我很难找出如何对使用 Template 属性设置的网格中的列进行排序,如下所示:
@(Html.Kendo().Grid(Model.UnitDetails)
.Name("unitGrid")
.DataSource(ds => ds
.Ajax()
.Read(read => read.Action("Units_Read", "Fleet"))
.AutoSync(true)
.ServerOperation(true)
)
.Columns(columns =>
{
columns.Bound(p => p.ViewUnitContract.CurrentRun.Operation.WellContract.Location).Title("Well Site").Sortable(true);
columns.Bound(p => p.ViewUnitContract.Name).Title("Unit Name").Width(200);
columns.Template(p => { }).ClientTemplate(" ").Title("Well");
columns.Template(p => { }).ClientTemplate(" ").Title("Run").Width(75);
columns.Template(p => { }).ClientTemplate(" ").Title("Task").Width(365);
columns.Template(p => { }).ClientTemplate(" ").Title("Activity").Width(200); ;
columns.Template(p => { }).ClientTemplate(" ").Title("Depth (m)").Width(115);
columns.Template(p => { }).ClientTemplate(" ").Title("Speed (m/min)").Width(90);
columns.Template(p => { }).ClientTemplate(" ").Title("Weight (kg)").Width(90);
})
.ClientRowTemplate(Html.Partial("_ClientRowTemplate", Model).ToHtmlString())
.Sortable())
Run Code Online (Sandbox Code Playgroud)
对前两列进行排序工作得很好,但是是否可以对与 ClientTemplates 绑定的那些进行排序?
要对列进行排序,它必须是一个绑定列。您仍然可以ClientTemplate在Bound列上设置,但Template单独的将无法排序。
一种解决方法是更新您的视图模型以在控制器上计算出任何“计算”值(松散地使用该术语),然后返回到视图。在这种情况下,您可以使用绑定列。