<?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文件作为
<?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个值。
发布于 2011-03-21 16:57:43
看起来你需要稍微修改一下代码。
fw.FCDataXML = xml.toString();fw.FCRender();
发布于 2011-03-18 18:27:15
我认为它应该看起来像这样:
<?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对象后,可以设置属性和元素的值。
例如:
xml.chart.@upperLimit = 100;
xml.chart.dials.dial.@value = 0;
xml.chart.colorRange.color.@maxValue = 100;希望这就是你所需要的,Rob
发布于 2011-05-24 15:07:38
Angular gauge只接受XML数据。它不接受ArrayCollection。
请检查您是否正在将XML转换为字符串,然后再传递。
您还可以启用仪表的调试模式,以查看该问题的更多详细信息
https://stackoverflow.com/questions/5350357
复制相似问题