如何在treepanel下取消选中treesote中的节点? extjs 4.07

时间:2012-06-22 15:40:25

标签: extjs view tree extjs4 treepanel

我有一个树库,其中所有节点都检查了初始配置:false,这样就会出现一个复选框,允许用户检查treepanel中的项目。然后,我从树库中获取已检查的项目,并将它们移动到另一个树库,在另一个树面板中。我的问题是,在移动节点时,如何确保它未在树形板中检查它被移动到?

这就是我所做的:

我已经获得了对我正在移动的节点的引用(添加到一个商店,从另一个商店删除),并且我已经设置了它的配置检查:false。当我在新的treestore中查看firebug中的节点时,果然,检查:false,这是我想要的,但是,在面板中,在视觉上,它仍然被检查。那么如何取消选中?

2 个答案:

答案 0 :(得分:0)

有几个原因导致这种情况发生。

  1. 新列的dataIndex与旧列的dataIndex不匹配(在使用treegrid的情况下)

  2. 在两种情况下,分配给两个商店的模型都不是相同的Ext.data.Model。

  3. 我注意到如果你没有专门将这个配置选项添加到你的Ext.data.Model中,那么treenodes和属性就会失效。因此,尝试将同一模型分配给两个树,并将“已检查”作为带有dataType的字段之一:“boolean”

答案 1 :(得分:0)

上周我遇到了同样的问题。 我上周做了这样的操作来解决它:

    currentNode.data.checked = false;
    currentNode.raw.checked = false ;
    currentNode.triggerUIUpdate();

如果没有triggerUIUpdate,它似乎无效。我正在使用extjs4.2.1