我有一个使用分层数据源填充的 Kendo Treeview 。如果从数据库表中软删除该节点,我想以红色显示几个节点。 (软删除记录用数据库字段“DEL_FLG”标识。如果此字段设置为 Y,则该记录被视为已删除。以下是我填充树的方式。请告诉我如何软删除红色记录?
var treeData = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: NsMenuMaster.urls.getMenuTreeUrl,
data: data,
datatype: "json",
type: "POST"
}
},
schema: {
model: {
id: "MenuConfigUid",
children: "Child"
}
}
});
$("#MenuTreelist").kendoTreeView({
dataSource: treeData,
dataTextField: ["MenuText"],
dataValueField: ["MenuConfigUid"],
height: 1000,
template: "#: item.DelFlg # == 'Y'" ? "<div style='color: red'>#: item.MenuText #</div>" : "<div style='color: black'>#: item.MenuText #</div>",
checkboxes: {
template: "<input type='checkbox' name='StudentClassID' value='#= item.id #' />",
checkChildren: true
},
select: NsMenuMaster.onSelect
});
最佳答案
将模板配置添加到 TreeView 选项,即:
$("#MenuTreelist").kendoTreeView({
template: kendo.template($("#treeview-template").html()),
....
和某种模板
<script id="treeview-template" type="text/kendo-ui-template">
# if (item.DEL_FLG) { #
<div style='color: red'>#: item.text #</div>
# }
else { #
<div>#: item.text #</div>
# } #
</script>
简单示例:http://dojo.telerik.com/@Stephen/UtobA
问题更新后的其他详细信息
将您的模板更改为
template: "# if (item.DelFlg == 'Y') { # <div style='color: red'>#: item.MenuText #</div> # } else { # <div style='color: black'>#: item.MenuText #</div> # } #"
由于 ?: 语法非常难以(如果不是不可能的话)正确编码为具有混合值渲染的 Kendo 模板,使用任意 javascript,因此使用实际的 if-else 语句更容易。
使用一个红色节点更新示例:http://dojo.telerik.com/@Stephen/esened
关于kendo-ui - 使用模板自定义 Kendo Treeview 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41180741/