我们并提前感谢所有人。
我找到了一种在此页面创建可滚动图表的方法: 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内部工作。
我们,我看看从我找到示例的网站下载的代码。我甚至可以为我的columnChart设置一个通用Object的ArrayCollection作为dataProvider,但是如果我直接在我的.mxml中构建它,一切正常...如果我在我的.as的init()方法中以dinamycally方式构建它,则图表显示列但不是滚动条,即使对象超过视口可以显示..而且我意识到这是代码的错误,因为如果我调整页面大小滚动条出现!!是否有人使用过该示例并了解应用程序为何如此工作?
非常感谢
答案 0 :(得分:0)
非常感谢AmigaAbattoir的回复..我调试了我从我在问题上发布的网站上下载的插件,我意识到我甚至可以声明一个通用对象的ArrayCollection(例如:
<mx:ArrayCollection id="myData">
<mx:Object y1="3" y2="2" x="1" />
<mx:Object y1="4" y2="2" x="2" />
<mx:Object y1="5" y2="3" x="3" />
</mx:ArrayCollection>
) 作为图表的dataProvider ..问题是在创建滚动条组件的类中有一个方法,在加载.mxml之前,执行以下指令:
IList list = _chart.dataProvider as IList;
和
如果我在.mxml中声明了ArrayCollection(或XML对象),list
已增强
如果我在.as中声明ArrayCollection(或XML对象)(即使我使用initialize()
方法或creationComplete()
方法构建对象,或者即使我添加了
eventListener
进行增强
如果list
未加强list.size()
为0,maxVisibileColumns
为8(默认值)且未添加scrollBar组件..
有很多解决方案可以解决这个问题(触发Resize.Event,调用updateDisplayList(x:Number,y:Number)方法或修改插件代码..
我希望这可以为那些遇到同样问题的人节省时间。 再见