我有一个使用分层数据源填充的剑道树视图。如果从数据库表中软删除该节点,我想显示几个红色节点。 (软删除的记录用数据库字段标识" 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
});
答案 0 :(得分:0)
将模板配置添加到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> # } #"
因为?:语法非常难以(如果不是不可能)编码为具有混合值渲染和任意javascript的kendo模板,因此使用实际的if-else语句会更容易。
使用一个红色节点更新了示例:http://dojo.telerik.com/@Stephen/esened