对 Kendo 网格列同时使用 Template 和 ClientTemplate

Use both Template and ClientTemplate for a Kendo Grid column

我在 ASP.NET MVC 中使用 kendo 网格,我想对某些列的单元格应用一些颜色规则。 为此,我尝试了 HtmlAttributes(使用 class 似乎是最简单的方法)和 ClientTemplate,但两者均无效。 此外,我根据 ViewModel 中的变量创建了许多列。

我正要声明一个布尔选项卡,意思是每列是否都必须可见(以便它看起来是静态的)。我不能动态使用 columns.Bound(),但是我可以在 for 循环中使用 columns.Template() 动态添加列。

Html.Kendo().Grid<ViewModelPilotageRetroPlanningOpeDetail>() //Bind the grid to ViewBag.Products
        .Name("pilotageRetroPlanningListeOpesDivabc")
        .BindTo(Model.ListeOpes)
        .Columns(columns =>
        {
             columns.Bound(ope => ope.NbTachesRetard).Title("Nb tâches en retard").Template(@<text> @if (item.NbTachesRetard != 0)
             {
                 <span class="retards"> @item.NbTachesRetard </span>
             }
             else
             {
                 <span class="pasDeRetards"> @item.NbTachesRetard </span>
             }
             </text>);


            for (int i = 0; i < Model.NombreJalonsUtilises; i++)
            {
            var index = i;
            columns.Template(@<text> @item.ListeStatutJalon.ElementAt(index).ToString() </text>).Title("J" + (i + 1).ToString()).Width(25);
             }
        }

它可以正常工作并显示所需的列enter image description here

现在我需要显示图像而不是数字,我需要使用 ClientTemplate 将单元格关联到 img 标签

我的问题是: 是否可以同时使用Template和ClientTemplate根据@item.ListeStatutJalon.ElementAt(index)给出的值添加一个class? 因为当我添加 ClientTemplate 时,模板的值没有出现在单元格中。

.Template() is used with server binding. ClientTemplate() is used with client/ajax binding也可以使用混合绑定方法。在这种情况下,网格最初将绑定到服务器,并将从服务器呈现其初始数据。对于后续的数据操作(例如分页),小部件将使用已经加载的数据。下面是如何为后者配置网格:

http://demos.telerik.com/aspnet-mvc/grid/local-data-binding