首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将动态值传递给xml文件-flex融合图表

将动态值传递给xml文件-flex融合图表
EN

Stack Overflow用户
提问于 2011-03-18 17:57:25
回答 3查看 2K关注 0票数 0
代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                  xmlns:components="com.fusionwidgets.components.*">

    <components:FusionWidgets FCChartType="AngularGauge" FCDataURL="data/energyMtd.xml"/>
</s:BorderContainer>

和energyMtd.xml文件作为

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<chart decimals="2"  palette="2" autoScale="1" paletteThemeColor="BDBDBD" showBorder="0" basefontColor="000000" 
    toolTipBgColor="BFBFBF" gaugeFillMix="{dark-10},{light-70},{dark-10}" gaugeFillRatio="3" 
    pivotRadius="6" gaugeInnerRadius="60%" tickValueDistance="10" showTickValues="1" tickValueStep="2" 
    placeTicksInside="0" placeValuesInside="0" showToolTip="1" baseFontSize="9" adjustTM="0" 
    pivotFillColor="000000" dataStreamURL="" gaugeStartAngle="225" gaugeEndAngle="-45" 
    gaugeOriginX="100" gaugeOriginY="98" gaugeOuterRadius="75" numberSuffix="kW" upperLimit="100" 

lowerLimit="0">

  <colorRange>
    <color minValue="0" maxValue="100" code="bbbaba"/>
  </colorRange>

  <dials>
    <dial value="0" rearExtension="10" baseWidth="10" bgColor="000000"/>
  </dials>

</chart>  

如何从flex端动态传递upperLimit="“、拨号value="”和maxValue="“colorRange中的值。我需要在角规融合图上绘制这3个值。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-21 16:57:43

看起来你需要稍微修改一下代码。

fw.FCDataXML = xml.toString();fw.FCRender();

票数 1
EN

Stack Overflow用户

发布于 2011-03-18 18:27:15

我认为它应该看起来像这样:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                  xmlns:components="com.fusionwidgets.components.*"
                  creationComplete="init();">

    <fx:Script>
        <![CDATA[
        import flash.events.Event;
        import flash.net.URLLoader;
        import flash.net.URLRequest;
        import mx.collections.ArrayCollection;

        protected var xmlLoader:URLLoader;
        [Bindable]
        protected var xml:XML;

        /**
         * 
         */
        protected function init():void
        {
            xmlLoader = new URLLoader();
            xmlLoader.addEventListener(Event.COMPLETE, parse);
            xmlLoader.load(new URLRequest("data.xml"));
        };

        /**
         * 
         * @param   event
         */
        protected function parse(event:Event):void
        {
            xml = event.target.data;
            xml.ignoreWhitespace = true;
            xml.ignoreComments = true;

            xml.chart.@upperLimit = 100;
            xml.chart.dials.dial.@value = 0;
            xml.chart.colorRange.color.@maxValue = 100;

            fw.dataProvider = new ArrayCollection(xml);
        };
        ]]>
    </fx:Script>

    <components:FusionWidgets id="fw" FCChartType="AngularGauge" />
</s:BorderContainer>

我认为您应该查看组件的文档,了解有关它如何处理数据提供程序的更多详细信息。

祝你好运,Rob

/

嗨,

将XML文件加载到XML对象后,可以设置属性和元素的值。

例如:

代码语言:javascript
复制
xml.chart.@upperLimit = 100;
xml.chart.dials.dial.@value = 0;
xml.chart.colorRange.color.@maxValue = 100;

希望这就是你所需要的,Rob

票数 1
EN

Stack Overflow用户

发布于 2011-05-24 15:07:38

Angular gauge只接受XML数据。它不接受ArrayCollection。

请检查您是否正在将XML转换为字符串,然后再传递。

您还可以启用仪表的调试模式,以查看该问题的更多详细信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5350357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档