我在表格显示中实现了一个kendo UI ListView,如下所示:
Name user1 user2 user3
country usa uk germany
production 5000 6000 1000
Sales 200 400 100
我想强调6000 cell,这是user2的生产数据。我可以使用下面的代码突出显示整个列,但我想只突出显示一个项目(单元格)。我正在为asp.net MVC使用Kendo UI。我怎么能用JavaScript / jquery做到这一点?
<script>
$(function () {
TestHub.client.highlightValue = function (id) {
var listView = $("#ListView_Test").data("kendoListView");
listView.element.children("[data-uid='" + listView.dataSource.view()[2].uid + "']").effect("highlight", { color: Red}, 500);
})
};
</script>
<div class="k-widget">
<dl>
<dd>Name</dd>
<dd>Country</dd>
<dd>Production</dd>
<dd>Sales</dd>
</dl>
</div>
@(Html.Kendo().ListView<Test.Models.TestViewModel>()
.Name("Test_LV")
.TagName("div")
.ClientTemplateId("templateTestLV")
.DataSource(dataSource => dataSource
.SignalR()
.Transport(tr => tr
.Promise("hubStart")
.Hub("TestHub")
.Client(c => c.Read("TestLV_Read").Update("TestLV_Update"))
.Server(s => s.Read("TestLV_Read").Update("TestLV_Update"))
)
.Schema(schema => schema
.Model(m =>
{
m.Id(p => p.Id);
m.Field(p => p.Name).Editable(false);
m.Field(p => p.Country).Editable(false);
m.Field(p => p.Production).Editable(false);
m.Field(p => p.Sales).Editable(false);
})
)
)
.Editable(editable => editable.TemplateName("TestLVEditor"))
)
<script type="text/x-kendo-tmpl" id="templateTestLV">
<div>
<dl>
<dd>#=Name</dd>
<dd>#=Country</dd>
<dd>#=Production</dd>
<dd>#=Sales</dd>
</dl>
<div class="edit-buttons">
<a class="k-button k-edit-button" href="\\#"><span class="k-icon k-edit"></span></a>
</div>
</div>
</script>
答案 0 :(得分:1)
突出显示单元格就像为其分配类一样简单(在客户端模板中):
<script type="text/x-kendo-tmpl" id="templateTestLV">
<div>
<dl>
<dd>#=Name</dd>
<dd>#=Country</dd>
<dd class="highlighted">#=Production</dd>
<dd>#=Sales</dd>
</dl>
<div class="edit-buttons">
<a class="k-button k-edit-button" href="\\#"><span class="k-icon k-edit"></span></a>
</div>
</div>
</script>
然后,您可以将任何样式应用到css文件中的类.highlighted
。但是,我假设您想根据标准突出显示该单元格。在这种情况下,您可以向视图模型添加新的布尔标志,在控制器中将标志设置为true,如果需要根据条件突出显示生产,并仅在标志时添加.highlighted
类设置为true。如下所示:
<script type="text/x-kendo-tmpl" id="templateTestLV">
<div>
<dl>
<dd>#=Name</dd>
<dd>#=Country</dd>
<dd class="#=(IsHighlighted == true ? \"highlighted\" : \"\")#">#=Production</dd>
<dd>#=Sales</dd>
</dl>
<div class="edit-buttons">
<a class="k-button k-edit-button" href="\\#"><span class="k-icon k-edit"></span></a>
</div>
</div>
</script>