繁体   English   中英

Flex如何创建一个

[英]Flex how to create a <mx:XML in actionscript

各位,谢谢大家。

我在此页面上找到了一种创建可滚动图表的方法: 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中构建它,则一切正常...如果我在.it的init()方法中以动态方式构建它,则图表显示该列但是滚动条却不行,即使对象超出了视口可以显示的范围。我也意识到这是代码的错误,因为如果我调整页面大小,则会出现滚动条! 是否有人使用过该示例并理解了应用程序为何以这种方式工作?

非常感谢

非常感谢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添加到ArrayCollection列表中也不会得到增强)

如果list不增强list.size()为0,则maxVisibileColumns为8(默认值),并且不添加scrollBar组件。

有很多解决方案可以解决此问题(触发Resize.Event,调用updateDisplayList(x:Number,y:Number)方法或修改插件代码。)

我希望这可以为那些有同样问题的人节省时间。 再见

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM