对 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。 也可以使用混合绑定方法。在这种情况下,网格最初将绑定到服务器,并将从服务器呈现其初始数据。对于后续的数据操作(例如分页),小部件将使用已经加载的数据。下面是如何为后者配置网格:
我在 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。 也可以使用混合绑定方法。在这种情况下,网格最初将绑定到服务器,并将从服务器呈现其初始数据。对于后续的数据操作(例如分页),小部件将使用已经加载的数据。下面是如何为后者配置网格: