我有一个TreeView,我想禁用一些节点,当它们在数据中包含一个state_current != null时,就像演示中的“禁用节点”按钮。
我的代码是:
<script>
$(document).ready(function() {
var treeview = $('#Tree_view').kendoTreeView({
template: "#= item.name #",
dataSource: Parcours,
dataTextField: 'name',
loadOnDemand: true,
expand: onExpandedItem
});
});
function onExpandedItem(e) {
var id_user = @Model.id;
var item = $('#Tree_view').data('kendoTreeView').dataItem(e.node)
var type = item.fields.type;
if (item.level() > 0) {
item.id_parcours = item.parentNode().id_parcours;
if (item.level() == 2) {
item.id_promo = item.parentNode().id;
}
}
else item.id_parcours = item.Id;
switch (type) {
case 'parcours':
item.children.transport.options.read = {
url: '@Url.Action("Get_Session", "Users")' + '?user_id=' + id_user,
dataType: "json",
};
break;
case 'session':
item.children.transport.options.read = {
url: '@Url.Action("Get_Matiere")' + '?user_id=' + id_user,
dataType: "json"
};
break;
default:
break;
}
}
var Matiere = {
transport: {
read: {
url: '@Url.Action("Get_Matiere")',
type: 'GET',
dataType: 'json'
}
},
schema: {
model: {
fields: {
name: 'Name',
type: 'matiere'
},
hasChildren: false,
}
}
}
var Session = {
transport: {
read: {
url: '@Url.Action("Get_Session")',
type: 'GET',
dataType: 'json'
}
},
schema: {
model: {
fields: {
id: 'IdPromo',
name: 'NamePromo',
type: 'session',
date: 'Date',
state: 'State_current',
},
hasChildren: true,
children: Matiere
}
}
}
var Parcours = {
transport: {
read: {
url: '@Url.Action("Get_Parcours", "Users")',
data: {user_id: @Model.id},
type: 'GET',
dataType: 'json'
}
},
schema: {
model: {
fields: {
id: 'Id',
name: 'Name',
type: 'parcours'
},
hasChildren: true,
children: Session
}
}
};
</script>发布于 2016-08-27 09:33:15
在要禁用节点的地方执行此操作
var selectedNode = treeview.select();
treeview.enable(selectedNode, false);在这里,treeview应该是您的treeview对象,您可以在创建treeview之后按下面的方式选择它。您可以给出需要禁用的节点,而不是selectedNode。
var treeview = $('#Tree_view').data("kendoTreeView");
如果希望在treeview首先呈现时执行此操作,则可以在kendoTreeView数据库事件中检查此操作,或者在选择时选中选择事件(如果需要的话)。
https://stackoverflow.com/questions/39170046
复制相似问题