专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flex

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

发布时间:2011-06-27 20:42:10 文章来源:www.iduyao.cn 采编人员:星星草
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();
}


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: