【问题标题】:Flex how to create a <mx:XML in actionscriptFlex 如何在 actionscript 中创建 <mx:XML
【发布时间】:2017-07-21 17:02:32
【问题描述】:

伙计们,在此先感谢大家。

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

非常感谢

【问题讨论】:

  • 如果您声明var xmlObject:XML,那么它只会是该函数的本地函数,MXML 将无法访问它。你试过用myData.appendingChild()做点什么吗?

标签: xml apache-flex


【解决方案1】:

非常感谢 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>

) 作为图表的数据提供者。问题是在创建滚动条组件的类中有一个方法,在加载 .mxml 之前,执行以下指令:

 IList list = _chart.dataProvider as IList;

还有:

  • 如果我在 .mxml 中声明 ArrayCollection(或 XML 对象),list 将得到增强

  • 如果我在 .as 中声明 ArrayCollection(或 XML 对象)(即使我在 initialize() 方法或 creationComplete() 方法中构建对象,或者即使我添加一个 eventListener 到ArrayCollection 列表没有增强

如果list不增强list.size()为0,maxVisibileColumns为8(默认)且不添加滚动条组件..

解决这个问题的方法有很多(触发Resize.Event,调用updateDisplayList(x:Number,y:Number)方法或者修改插件代码..

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

【讨论】:

    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多