EXT.NET中Store的AutoLoad问题

用EXT.NET的人都知道里面有个常用的东西数据源Store。数据源有个属性AutoLoad。如果设置为false就是不自动加载数据,需要我们写代码加载数据比如App.TreeStore2.load();

但是!!!!

今天我做了个一个树形的数据源,发现它还是自动取给我加载了数据。找了老半天,都已经达到我的极限了,突然发现在控件上还写了一个属性:RootVisible="false"(是否隐藏跟节点)。这里因为设置的不隐藏,但是结构里面我们又没添加<Root>
                <ext:Node></ext:Node>
       </Root>所以,它会自动去加载数据源来得到跟节点。

解决办法:去掉RootVisible="false"属性,或者设置为TRUE。或者在控件里添加

<Root>
<ext:Node></ext:Node>
</Root>。


但是这个还是有个小问题。

RootVisible设置成false的时候如下图:

是的,因为是隐藏的根节点,当我们后台给它添加节点是在根节点下,所以也一起影城了。

RootVisible设置成true的时候如下图:

大家看到了,那个跟节点Root就是我们上一个截图里添加的节点。这样看着是不是不太好。用户体验度极度不好。

但是如果设置成false它又都不显示了。找了半天才发现,虽然设置成false的时候它不显示,但是实际上是添加到树形控件里的。那我们试试加载完后如果展开根节点是不是能够看到?


/加载完后展开根节点
    function expand(tree, root, object) {
        if (root.raw["text"] == "已审核物资目录") {
            root.expand();
        } 
    }

效果如图:

这一次是不是就相对来说好很多了呀?

大家看到了,我加载完的展开事件是判断了一下的,如果是我添加的那个跟节点才展开,否则不展开的。当然你也可以根据root.raw里的ID或者其他来判断,具体的看你高兴,但是记得必须是跟节点唯一的属性。大家可以试试,如果不判断,所有的节点都展开会出现什么问题(剧透:有时候跟节点会莫名其妙的增加,然后展开是根据索引来的,所以展开也会混乱)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值