我和大伙儿都提前道谢了。
我已经找到了一种方法来创建一个可滚动的图表在这个页面:http://www.connectedpixel.com/pubfiles/srcview/scrollchart/index.html
这是一个很好的解决方案,所有工作都很好,但现在我有一个问题的dataProvider:在页面示例中,数据提供器直接嵌入在.mxml页面中:
<mx:XML xmlns="" id="myData">
<items>
<item year="1960" rain="92" />
<item year="1961" rain="192" />
<item year="1962" rain="32" />
<item year="1963" rain="52" />
<item year="1964" rain="112" />
</items>
</mx:XML>
显然,我需要动态地创建它,但我找不到这样做的方法......我尝试过:
var xmlObject:XML = <items></items>;
xmlObject.appendChild(<item year="1960" rain="92" />);
...
而其他类似的却没有一个用上述方式起作用.如果试着把结果换一种:
<mx:TextArea text="{xmlObject.children()}" />
它显示为空白,即使
trace(xmlObject.children())
内部。as工作。
我看了一下我从找到这个例子的网站上下载的代码。我甚至可以将通用对象的ArrayCollection设置为columnChart的dataProvider,但是如果我直接在.mxml中构建它,一切都可以正常工作...如果我在init中动态构建它当图表显示列而不显示滚动条时,即使对象超过了视口可以显示的范围。。而且我意识到这是代码的一个bug,因为如果我调整页面大小,滚动条就会出现!!有没有人用过这个例子,并理解为什么应用程序是这样工作的?
多谢了
1条答案
按热度按时间z9gpfhce1#
非常感谢AmigaAbattoir为您的回复。我调试我从网站下载的插件,我已经发布了我的问题,我意识到,我甚至可以声明泛型对象的ArrayCollection(例如:
)作为图表的dataProvider。问题在于,在创建滚动条组件的类中,有一个方法在加载.mxml之前执行以下指令:
还有:
list
将得到增强initialize()
方法或creationComplete()
方法中构建该对象,或者即使我将eventListener
添加到ArrayCollection列表中,也不会增强如果
list
未增强,则list.size()
为0,maxVisibileColumns
为8(默认值),并且不添加scrollBar组件。有很多解决方案可以解决这个问题(触发Resize.事件,调用updateDisplayList(x:Number,y:Number)方法或修改插件代码..
我希望这能为那些会有同样问题的人保存时间。再见