Re: Twaver树数据和面板数据同步刷新问题
默认只用设置element.name后,树和拓扑都会自动刷新,不用调用this.network.invalidateElementUI(this.element, false);
用如下代码试试:
代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal"
xmlns:servasoftware="http://www.servasoftware.com/2009/twaver/flex"
creationComplete="init();" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0">
<mx:Script>
<![CDATA[
import demo.*;
import twaver.*;
import twaver.network.interaction.InteractionEvent;
private var box:ElementBox = new ElementBox();
private function init():void {
Styles.setStyle(Styles.GROUP_FILL_ALPHA, 0.5);
initBox();
tree.dataBox = box;
network.elementBox = box;
}
private function initBox():void {
var layer:Layer = new Layer("GROUP");
box.layerBox.add(layer);
var from:Node = new Node();
from.name = "From";
from.location = new Point(100, 100);
from.layerID = "GROUP";
box.add(from);
var to:Node = new Node();
to.name = "To";
to.location = new Point(400, 400);
to.layerID = "GROUP";
box.add(to);
var link:Link = new Link(from, to);
link.name = "Link from From to To";
link.layerID = "GROUP";
box.add(link);
var group:CGroup = new CGroup();
group.name = "Group";
group.addChild(from);
group.addChild(to);
group.addChild(link);
group.expanded = true;
box.add(group);
var node1:Node = new Node();
node1.name = "Node1";
node1.location = new Point(150, 200);
box.add(node1);
var node2:Node = new Node();
node2.name = "Node2";
node2.location = new Point(390, 390);
box.add(node2);
link = new Link(node1, node2);
link.name = "Link from Node1 to Node2";
box.add(link);
}
private function test():void {
if(box.selectionModel.lastData != null){
box.selectionModel.lastData.name='test';
}
}
]]>
</mx:Script>
<mx:VBox width="100%" height="100%">
<mx:HBox id="toolbar" width="100%" height="30">
<mx:Button label="Change Name" click="test()"/>
</mx:HBox>
<mx:HBox width="100%" height="100%">
<servasoftware:Tree id="tree" width="300" height="100%"/>
<servasoftware:Network id="network" width="100%" height="100%"/>
</mx:HBox>
</mx:VBox>
</mx:Application>
2011年 4月 21日 16:26
sheva
新手上路
注册: 2011年 3月 15日 10:48
帖子: 20
Re: Twaver树数据和面板数据同步刷新问题
在节点比较少的情况下(20个以内),基本不会出现不实时刷新的问题;一旦节点比较多,出现不实时刷新的概率还是挺大的。
我通过调用Twaver Tree的updateCompareAndVisibility方法,可以规避这个问题。
2011年 4月 21日 17:21
zht
TWaver
注册: 2010年 7月 22日 11:25
帖子: 425
Re: Twaver树数据和面板数据同步刷新问题
数据更新以后view的联动这个应该是不会有什么问题的
能不能把你的环境描述一下,或者发一段测试代码,我们这边测试一下
_________________
Re: Twaver树数据和面板数据同步刷新问题
sheva 写道:
在节点比较少的情况下(20个以内),基本不会出现不实时刷新的问题;一旦节点比较多,出现不实时刷新的概率还是挺大的。
我通过调用Twaver Tree的updateCompareAndVisibility方法,可以规避这个问题。
如果过滤或排序内部逻辑变化,但是没有fire触发事情情况下才需要调用updateCompareAndVisibility,可以发发tree上设置compare,visible或者labelFunction之类的函数代码,并查查里面函数逻辑依赖的图元属性是否变化了没fire的情况
flex没有线程之说,全部是当线程的,不会有概率的情况,应该是可以查处或写出一定复现的场景