Openlaszlo里面集成FusionChart

FusionCharts(www.fusioncharts.com)是一个能帮你创建其引人注目的动态图像效果的Macromedia Flash控件。充分利用Macromedia Flash所具有的流畅功能来创建简洁的、交互式的和引人注目的动态图像。它的lite版本是免费的。其实openlaszlo也有自带的chart,不过怎么看都觉得那个不好看,而且功能太弱了。

commonchart.lzx:

<library>
    <script>
    <![CDATA[
        _loadChartEvent = function (holder, strSWFName, strURL, strXML, intChartWidth, intChartHeight, intChartStartX, intChartStartY) {
  if (strURL != "" && strURL != "null" && typeof strURL != "undefined" && strURL != null) {
                _root.dataXML = null;
                _root.dataURL = strURL;
 
                Debug.write("has done") ; 
            } else {
              _root.dataURL = null;
               _root.dataXML = strXML;
              
            }
            _root.chartWidth = intChartWidth;
            _root.chartHeight = intChartHeight;
            _root._FCXShift = intChartStartX;
            _root._FCYShift = intChartStartY;
            holder.getMCRef().loadMovie(strSWFName);
        }
    ]]>
    </script>

    <!-- dummy resource to properly initialize a "movie ready" view -->
    <resource name="__blank_resource" src="resources/default_blank.swf" />

    <class name="commonchart">
        <attribute name="strSWFName" type="string" />
        <attribute name="strURL" type="string" /><!--用于使用本地数据文件,测试用-->
        <attribute name="strXML" type="string" />
        <attribute name="intChartWidth" type="number" />
        <attribute name="intChartHeight" type="number" />
        <attribute name="intChartStartX" type="number" />
        <attribute name="intChartStartY" type="number" />
        <attribute name="autoload" value="true" />


        <attribute name="x" value="${this.intChartStartX}" />
        <attribute name="y" value="${this.intChartStartY}" />
        <attribute name="width" value="${this.intChartWidth}" />
        <attribute name="height" value="${this.intChartHeight}" />
        <attribute name="clip" value="true" />
        <attribute name="resource" value="__blank_resource" />

        <handler name="oninit">
            if (this.autoload){
                this.load();
            }
        </handler>
        <method name="setUrl" args="url">
      unload();
            this['strURL'] = url;
            load();
        </method>
       
     <method name="setXml" args="xml">
      unload();
            this['strXML'] = xml;
            load();
        </method>
       
        <method name="refresh">
            unload();
            load();
        </method>

        <method name="load">
            _loadChartEvent(this, this['strSWFName'], this['strURL'], this['strXML'], this['intChartWidth'], this['intChartHeight'],this['intChartStartX'], this['intChartStartY']);
        </method>

        <method name="unload">
            getMovieClipReference().unloadMovie() ;
        </method>
       
        <method name="getMovieClipReference">
            return this.getMCRef();
        </method>
       
    </class>
</library

test.lzx:

<include href="./commonchart.lzx" />

<view simplelayout="axis:x;spacing:y">
  <button text="testButton_load">
      <method event="onclick">
         chart1.load();

         chart2.unload();

         chart2.load();

        chart2.refresh();
      </method>
  </button>
  <commonchart id="chart2" autoload="true" strSWFName="FC_2_3_MSColumn3D.swf"
                  strURL="Data.xml" intChartWidth="400" intChartHeight="300"
                  intChartStartX="100" intChartStartY="100"
                  />

   <commonchart id="chart1" autoload="false" strSWFName="FC_2_3_MSColumn3D.swf"
                  strURL="Data.xml" intChartWidth="400" intChartHeight="300"
                  intChartStartX="0" intChartStartY="0"/>
   <button text="testButton" x="20" y="350">
      <method event="onclick">
         chart1.load();  
      </method>
   </button>

</view>

Data.xml:

<graph caption='Country Comparison' shownames='1' showvalues='0' decimalPrecision='5' numberPrefix='' decimals="0" formatNumberScale="0">
   <categories>
      <category name='Country' />
      <category name='Brazil' />
      <category name='France' />
      <category name='Germany' />
      <category name='CHINA' />
   </categories>
   <dataset seriesName='value1' color='AFD8F8' showValues='0'>
      <set value='25601.34' />
      <set value='20148.82' />
      <set value='17372.76' />
      <set value='35407.51' />
      <set value='38105.68' />
   </dataset>
   <dataset seriesName='value2' color='F6BD0F' showValues='0'>
      <set value='57401.85' />
      <set value='41941.19' />
      <set value='45263.37' />
      <set value='117320.16' />
      <set value='114845.27' />
   </dataset>
</graph>

PS:1.default_blank.swf 是一个空白背景的flash;

   2.FC_2_3_MSColumn3D.swf是fusionchart lite版本里面的,可以去网上下载;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值