我在ASP.NET MVC中使用了一个kendo网格,我想将某些颜色规则应用于某些列的单元格。 为此,我尝试过HtmlAttributes(使用类似乎是最简单的方法)和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)给出的值添加类? 因为当我添加ClientTemplate时,模板的值不会出现在单元格中。
答案 0 :(得分:0)
.Template()
与server binding一起使用。 ClientTemplate()
与client/ajax binding一起使用。 也可以使用混合绑定方法。在这种情况下,Grid最初将受服务器限制,并将从服务器呈现其初始数据。对于后续数据操作(例如,分页),小部件将使用已经加载的数据。以下是如何为后者配置网格: