1

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

这是我所做的:

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

4

2 回答 2

0

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

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

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

  3. 如果您没有专门将该配置选项添加到您的 Ext.data.Model,我注意到树节点和属性不起作用的一些奇怪之处。因此,尝试将相同的模型分配给两棵树,并将“checked”作为 dataType:“boolean”的字段之一

于 2012-06-22T19:03:44.547 回答
0

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

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

似乎没有 triggerUIUpdate. 我正在使用 extjs4.2.1

于 2013-07-05T07:34:18.773 回答