【问题标题】:Flex chart...update date range弹性图表...更新日期范围
【发布时间】:2011-04-05 13:23:21
【问题描述】:

我正在使用 Flex 4 和 zend 创建一个简单的区域系列图表。目前,我正在从数据库中提取 20 年的数据并默认显示它。然后我想让用户选择他想要的日期,但不返回服务器....我该怎么做?
<mx:AreaChart id="Areachart" dataProvider="{employeesResult.lastResult}">

<mx:series>
<mx:AreaSeries yField="numberOfEmployees" xField="date" id="areaSeries"/> </mx:series>
</mx:AreaChart>

<mx:LinkButton click="dateChange()" label="1 year" />

私有函数 dateChange():void{
这里有什么????
}

【问题讨论】:

    标签: apache-flex actionscript-3


    【解决方案1】:

    而不是将服务调用的结果直接粘贴到图表中。将其保存在某个模型上。

    如果您将其添加到 ArrayCollection(或实际上任何实现 ICollectionView 的东西)中,您就可以使用它公开的过滤器函数在数据集输入图表之前对其进行过滤。

    您还可以重新过滤结果。通过对数组进行切片,您正在改变您的基础数据集。

    【讨论】:

    • 类似...
    【解决方案2】:

    添加另一个数组并像这样填充它:

    for(startDate;小于 endDate;迭代) { 填充来自 employeesResult.lastResult 的数据 }

    或者详细说明你想要什么?

    【讨论】:

    • 测试如下: areaSeries.dataProvider = employeesResult.lastResult.slice(0,100); 并且您不能使用小于零的起始索引,请查看您的链接。你也可以试试 myChart.invalidateDisplayList();更改 DataProvider 后
    • 谢谢。那仍然行不通。 employees.lastResult(0,100) 返回一个空数组。
    • 好的,然后给我您的可运行示例,其中包含嵌入式数据且没有外部服务,以便我们接下来可以做点什么。
    • hmmm....我不知道我能解释多少。我是一个周末黑客,所以这一切对我来说都很新鲜。我基本上遵循了这个:flepstudio.org/forum/flex-builder-3-eng/… 现在,当我输入“employeesResult.lastResult”时,我正在尝试操作从 php 中检索到的数据.....快速说明。它没有给我代码提示,所以我认为将“切片”放在那里是错误的做法。
    • 你能确定数据提供者的类型吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 2018-10-13
    相关资源
    最近更新 更多