在剑道网格中使用mvc显示模板

本文关键字:mvc 显示 网格 | 更新日期: 2023-09-27 17:54:06

我有剑道网格:

@(Html.Kendo().Grid<SomeType>()
.Columns(columns =>
{
    (...)
    columns.Bound(customer => customer.IsActive);
}

和我有一个mvc显示模板(Views/Shared/DisplayTemplate/bool.cshtml)

@model bool
@Html.CheckBoxFor(model => model, new { disabled = "true" })

(我也尝试用布尔作为类型和模板文件名)

这工作完美的网格外,但在网格true/false显示(这来自默认mvc显示模板我想)。

如何使剑道网格使用适当的显示模板?

(设置UIHint没有帮助)

在剑道网格中使用mvc显示模板

试试这样:

columns.Bound(p => p.GrasaDielectrica).ClientTemplate("<input type='checkbox' #= GrasaDielectrica ? checked='checked' : '' # disabled='disabled' ></input>")

我找到了一种方法,但它远非理想,因为ViewModel必须只有string成员才能工作....我们实际上只是使用了一个局部视图。

DisplayTemplate.cshtml:

@model ViewModel
@Html.Partial("PartialView", Model)

PartialView.cshtml:

@model ViewModel
@* write schtml here *@

KendoGuid.cshtml

...
.Columns(columns =>
{
    columns.Bound(x => x.GridViewModelField)
        .ClientTemplate("PartialView", new ViewModel
        {
            ViewModelField = "#=GridViewModelField#",
        }).ToHtmlString());
})
...