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();
}