首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

mx:List无法直接显示java传过来的List数据解决方案

2012-02-23 
mx:List无法直接显示java传过来的List数据flex的ComboBox控件都可以直接显示java传过来的List数据,例如XML

mx:List无法直接显示java传过来的List数据
flex的ComboBox控件都可以直接显示java传过来的List数据,例如
 

XML code
     <mx:ComboBox id="parentNode" dataProvider="{departments}"  labelField="name" />  

  那为什么
 
XML code
     <mx:List id="parentNode" dataProvider="{departments}"  labelField="name" />  

  这样就显示不出来,是不是需要把Java传过来的List数据重新处理一下,才能显示,,大侠指点一下。

[解决办法]
1>看一下departments加没加动态绑定标签
[Bindable]
2>数据中是否有name属性

[解决办法]
能把代码都发出来吗?我看下
[解决办法]
看来是绘制出问题了。试试用
spStorehouses.refresh(); 或者
parentNode.validateNow();或者
parentNode.validateDisplayList()
[解决办法]
你用的Flex SDK 是多少? 3.5吧?
还有刚才说的那几个方法都不行吗?
[解决办法]
我这块没有import com.jrosion.comas.PopUpEffect运行不了

你把这个方法改下试试
private function getSpStorehouse(event:ResultEvent):void{
spStorehouses = ArrayCollection(event.result);
parentNode.validateNow();
parentNode.validateDisplayList();
}
我看你的好像加错地方了。
[解决办法]
我这边运行后,无法在线你的错误。。。只能分析代码。可能是Zoom把List里面的文本也加效果了,但放大时没放大,导致显示一半


API上对于Zoom 有这么一句话
将 Zoom 效果应用到使用系统字体呈现的文本时,Flex 缩放整个磅值之间的文本。尽管将 Zoom 效果应用到文本时不必使用嵌入的字体,但将 Zoom 效果应用到嵌入的字体时,它将更加平滑。 


注意:当 Container.autoLayout 属性为 false 时,Zoom 效果不起作用。
你再试下把List外面的Box的加个autoLayout="false">
<mx:VBox width="100%" height="100%" horizontalAlign="center" autoLayout="false">


或者 再改变下字体

private function getSpStorehouse(event:ResultEvent):void{
spStorehouses = ArrayCollection(event.result);
parentNode.setStyle("fontSize",12);
parentNode.validateNow();
parentNode.validateDisplayList();
}


热点排行