拖放时更新Treeview dataSource?

时间:2013-07-09 19:02:48

标签: treeview kendo-ui

我将保留下面的问题,但如果有其他人遇到此问题,则问题是剑道中的错误,并且已在最新版本中修复。所以解决方案是更新到最新的剑道版本。


我一直在努力寻找一种列出kendo-ui树视图中所有节点的好方法,并设法将这样做的方式放在一起。首先我定义dataSource,为了简单起见,我们说:

data = [
    {text:element1, items:[
        {text:element2},
        {text:element3}]},
    {text:element4}]

然后,我将数据源设置为observableHierarchy:

my_treeview.setDataSource(kendo.observableHierarchy(data));

当我想访问节点列表时,我可以获得一个JSON对象:

my_treeview.dataSource.data().toJSON();

效果很好;它生成一个正确的,格式正确的JSON对象。如果我在上面调用JSON.stringify,我得到:

[{"text":"element1","items":[{"text":"element2","items":[]},{"text":"element3","items":[]}]},{"text":"element4","items":[]}]

但是,当我在树上启用拖放并将元素拖到另一个父元素时,它会从json输出中消失。例如,如果我将element3拖到element4中,则返回的json对象为:

[{"text":"element1","items":[{"text":"element2","items":[]}]},{"text":"element4","items":[]}]

相当于:

data = [
    {text:element1, items:[
        {text:element2}]}
    {text:element4}]

表的显示仍然正确,但元素3看起来是element4的子元素。所以我的问题是,如何使用拖放功能正确地更新dataSource?降?

1 个答案:

答案 0 :(得分:2)

如果有其他人遇到此问题,则问题是剑道中的一个错误,已在最新版本中修复。所以解决方案是更新到最新的剑道版本。