Kendo ui 最初在kendoui中展开treeview项
我正在使用KendoUITreeView控件控件。我正在动态地得到父母和孩子。我怎样才能扩展所有的父母和孩子。我编写了以下代码:Kendo ui 最初在kendoui中展开treeview项,kendo-ui,kendo-treeview,Kendo Ui,Kendo Treeview,我正在使用KendoUITreeView控件控件。我正在动态地得到父母和孩子。我怎样才能扩展所有的父母和孩子。我编写了以下代码: var treeview = $('#tree').kendoTreeView({ dataSource: parent, dataTextField: ["question", "answer", "parentvalue"] }); treeview
var treeview = $('#tree').kendoTreeView({
dataSource: parent,
dataTextField: ["question", "answer", "parentvalue"]
});
treeview.expand('.k-item');
但它不起作用。我怎样才能做到这一点。就像您的代码一样,您只创建了元素,而没有与之关联的数据。您必须使用这样的代码:
$('#tree').kendoTreeView({
dataSource: parent,
dataTextField: ["question", "answer", "parentvalue"]
});
var treeview = $("#your-treeview-id").data("kendoTreeView");
正如我在上面的评论中所指出的(而不是var treeview=$(“#tree”).kendoTreeView(…)
)。函数.kendoTreeView()
实际上返回树视图应用到的jQuery元素,而不是小部件本身
相反,您需要执行以下操作:
$("#my-treeview").data("kendoTreeView").expand(".k-item");
如果您使用的是远程数据源,您将无法以这种方式扩展它,因为这些项仍然没有加载和创建 改为使用TreeView的事件,并将属性设置为false(因此所有项目最初都会加载,然后尝试展开项目(可能需要递归执行)。函数ExpandTree() {
什么是
treeview
?它应该等于$(“#您的treeview id”).data(“kendoTreeView”)
。@samuelcailerie yes treeview=$(“#treeviewid”).data(“kendoTreeView”);那么你能再解释一点吗?例如,创建树视图的代码是什么,你在哪里调用这个expand
方法,…@SamuelCaillerie我已经编辑了这个问题,但是数据绑定事件不起作用。你能提供一个jsfiddle示例吗?谢谢,是的,我正是这样做的,关于数据绑定事件,但是expand()不起作用anything@PandaWood你能在JSFIDLE中重新创建它吗?顺便说一句,我将尝试设置一个超时,并在数据绑定事件工作后等待大约1秒,即(在coffeescript中)setTimeout(->treeView.expand.k-item'),1500。因此,我必须等待“渲染”如果是这种情况,那么在您尝试展开树项之前,数据可能尚未完成读取。读取是一个异步操作。
treeview = $("#MyTreeview").data("kendoTreeView");
if(treeview != undefined)
{
treeview.expand(".k-item");
}
}
function CollapseTree()
{
treeview = $("#MyTreeview").data("kendoTreeView");
if(treeview != undefined)
{
treeview.collapse(".k-item");
treeview.expand(".k-first"); //To expand only parent
}
}