Kendo ui 如何有条件地格式化包含在tabstrip中的剑道UI网格行?
我是剑道UI的新手 我正在尝试使用Razor语法对剑道UI网格中的行进行有条件的着色。网格包含在剑道UI选项卡条中。以下是我编写的代码:Kendo ui 如何有条件地格式化包含在tabstrip中的剑道UI网格行?,kendo-ui,telerik,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Telerik,Kendo Grid,Kendo Asp.net Mvc,我是剑道UI的新手 我正在尝试使用Razor语法对剑道UI网格中的行进行有条件的着色。网格包含在剑道UI选项卡条中。以下是我编写的代码: @(Html.Kendo().TabStrip() .Name("tabstrip") .Items(items => { items.Add().Text("Books") .Selected(true) .Content(
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.Items(items =>
{
items.Add().Text("Books")
.Selected(true)
.Content(
@<text>@(Html.Kendo().Grid((IEnumerable<Library.Models.Books>)ViewBag.Books)
.Name("grid2")
.Columns(columns =>
{
columns.Bound(books => books.BookID);
columns.Bound(books => books.BookName);
})
.ClientRowTemplate(
"<tr class= 'red' data-uid='#= uid #'>" +
"<td>#: BookID #</td>" +
"<td>#: BookName #</td>" +
"</tr>")
.Pageable()
.Sortable()
)
</text>
);
}))
@(Html.Kendo().TabStrip())
.名称(“tabstrip”)
.项目(项目=>
{
items.Add()文本(“书籍”)
.已选择(真)
.内容(
@@(Html.Kendo().Grid((IEnumerable)ViewBag.Books)
.名称(“grid2”)
.列(列=>
{
columns.Bound(books=>books.BookID);
columns.Bound(books=>books.BookName);
})
.ClientRowTemplate(
"" +
“#:BookID#”+
“#:书名#”+
"")
.Pageable()
.Sortable()
)
);
}))
虽然,目前我没有检查特定的值,我想根据某些条件对其进行着色,但即使是将行着色为红色的简单任务也不起作用。有什么想法吗?我正在回答我自己的问题,以便将来在同一主题上进行搜索 问题是网格当前的绑定是服务器绑定,ClientRowTemplate()仅在使用Ajax绑定时才适用,因此根本没有应用。将数据源更改为Ajax,效果非常好 我最终通过Telerik打开了一张支持票,下面是我得到的回复: 。。。关于行模板,ClientRowTemplate()方法仅在使用Ajax绑定时适用,因此在当前情况下,它未应用于网格 下面是我现在使用条件格式行的代码:
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.Items(items =>
{
items.Add().Text("Books")
.Selected(true)
.Content(@<text>@(Html.Kendo().Grid((IEnumerable<Library.Models.Books>)ViewBag.Books)
.Name("grid2")
.Columns(columns =>
{
columns.Bound(books => books.BookID);
columns.Bound(books => books.BookName);
})
.ClientRowTemplate(
"<tr data-uid='#= uid #'>"+
"<td class='#= BookID == 1 ? \"red\" : BookID == 2 ? \"orange\" : BookID == 3 ? \"yellow\" : \"green\" #' style=\"text-align:center;\">#: BookID #</td>" +
"<td>#: BookName #</td>" +
"</tr>"
)
.Pageable()
.Sortable()
.DataSource(datasource => datasource
.Ajax()
.PageSize(20)
.ServerOperation(false)
)
)
</text>
);
}))
我所追求的是根据BookID的值有条件地格式化各种行/单元格。最后将条件格式(应用各种类)应用于“td”标记。如果需要对整行而不是单元格进行有条件的格式化,则可以对“tr”标记应用相同的格式。i、 e
.ClientRowTemplate("<tr class='#= BookID == 1 ? \"red\" : BookID == 2 ? \"orange\" : BookID == 3 ? \"yellow\" : \"green\" #' data-uid='#= uid #'>"+
"<td>#: BookID #</td>" +
"<td>#: BookName #</td>" +
"</tr>"
)
.ClientRowTemplate(“)+
“#:BookID#”+
“#:书名#”+
""
)
您可以查看此帖子:@calinaadi谢谢您的回复。是的,我已经浏览了这个链接和其他一些Telerik资源。但我不确定我的代码出了什么问题。
.ClientRowTemplate("<tr class='#= BookID == 1 ? \"red\" : BookID == 2 ? \"orange\" : BookID == 3 ? \"yellow\" : \"green\" #' data-uid='#= uid #'>"+
"<td>#: BookID #</td>" +
"<td>#: BookName #</td>" +
"</tr>"
)