<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    道長A的地盤

    http://Java.Im 這個網(wǎng)址NB吧?是道長的新網(wǎng)站,您不去看看嗎?
    隨筆 - 28, 文章 - 1, 評論 - 73, 引用 - 0
    數(shù)據(jù)加載中……

    [AJava原創(chuàng)]FusionCharts Free中文開發(fā)指南[使用文檔教程]第九章--動態(tài)改變圖形的類型和數(shù)據(jù)

    在前面的章節(jié)里,我們已經(jīng)了解了圖形的基本使用方法以及圖形XML,現(xiàn)在我們已經(jīng)有能力做出基本的圖形了,如果你現(xiàn)在就把它應用到你的項目里,我認為沒有任何問題,而且我也相信你還能舉一反三地,發(fā)展出一些“新”的用法。
    那我們就開始吧。


    動態(tài)改變圖形的類型


    在項目中,我們有時會需要在頁面上方便地改變圖形的類型,當然,如果頁面不刷新就能看到改變的結果,那是最理想的。舉個例子來說,在一個頁面上,顯示了一個月銷售額的柱狀圖,但用戶要求還可以查看月銷售額的餅圖,區(qū)域圖。要實現(xiàn)這個需求,一般的做法是,再做兩個頁面,一個顯示餅圖,一個顯示區(qū)域圖,用戶想看這兩個圖,點擊連接就可以了。這樣的做法并沒有什么不妥。你還可以采用AJAX技術,來實現(xiàn)頁面無刷新,這樣用戶的體驗會更好一些。只是程序員累一點而已。
    難道我們一定要這么累嗎?不!其實我們可以有更好的辦法,前提是你采用了FCF作為你的報表解決方案。
    那么,在FCF里,是怎么實現(xiàn)上面的需求的呢?簡單點說,思路是這樣的:
    1、使用JavaScript加載第一個圖形(如柱狀圖),至于是用dataXML方法,還是dataURL方法,都可以。
    2、當需要改變圖形類型(如改成餅圖)時,我們再創(chuàng)建一個新的FusionCharts類實例(它的SWF文件是餅圖),把它render到原來的DIV。
    就是這么簡單。

    我們來看看代碼吧。


    <HTML>       
       
    <HEAD>       
          
    <SCRIPT LANGUAGE="Javascript" SRC="../../FusionCharts/FusionCharts.js"></SCRIPT>       
          
    <SCRIPT LANGUAGE="JavaScript">       
             
    //數(shù)據(jù)        
             var strXML = "<graph caption='Hours worked' showNames='1'> <set name='Tom' value='32' color='AFD8F8'/>   
         <set name='Mary' value='16' color='F6BD0F'/><set name='Jane' value='42' color='8BBA00'/></graph>
    ";        
             
    /*        
             * 當用戶單擊按鈕時調(diào)用這個方法。        
      * 這個方法用來使用新的SWF文件創(chuàng)建一個新的FusionCharts實例。        
             
    */
            
             
    function updateChart(chartSWF){        
                
    //Create another instance of the chart.        
                var chart1 = new FusionCharts(chartSWF, "chart1Id""400""300""0""0");         
                chart1.setDataXML(strXML);        
                chart1.render(
    "chart1div");        
             }
            
          
    </SCRIPT>       
       
    </HEAD>       
    <BODY>       
       
    <div id="chart1div">       
       FusionCharts        
       
    </div>       
       
    <script language="JavaScript">         
          
    var chart1 = new FusionCharts("../../FusionCharts/FCF_Column3D.swf""chart1Id""400""300""0""0");        
          chart1.setDataXML(strXML);        
          chart1.render(
    "chart1div");        
       
    </script>       
           
       
    <form name='frmUpdate'>       
       Show as:         
          
    <input type='button' value='Column' onClick="javaScript:updateChart('../../FusionCharts/FCF_Column3D.swf');" name='btnColumn' />         
          
    <input type='button' value='Line' onClick="javaScript:updateChart('../../FusionCharts/FCF_Line.swf');" name='btnLine' />         
          
    <input type='button' value='Pie' onClick="javaScript:updateChart('../../FusionCharts/FCF_Pie3D.swf');" name='btnPie' />         
    </form>       
       
    </CENTER>       
    </BODY>       
    </HTML>



    上面的代碼非常淺顯,就不做解釋了。


    動態(tài)改變圖形的數(shù)據(jù)

    我們已經(jīng)會動態(tài)改變圖形的類型了,動態(tài)改變數(shù)據(jù)和上面的原來一樣,我們只需要在新建實例的時候,傳入新的數(shù)據(jù)就可以了。
    那么為什么還要單獨來講解這個呢?因為FCF給我們提供了一個更簡單的方法,那就是updateChartXML(domid,data)。它的第一個參數(shù)就是我們在創(chuàng)建FusionCharts實例時設置的圖形domid,第二個參數(shù)是XML數(shù)據(jù)字符。
    來看看下面的代碼。

    <HTML>   
       
    <HEAD>   
          
    <TITLE>FusionCharts Free & JavaScript - Updating chart using setDataXML() Method</TITLE>     
          
    <SCRIPT LANGUAGE="Javascript" SRC="../../FusionCharts/FusionCharts.js"></SCRIPT>   
          
    <SCRIPT LANGUAGE="JavaScript">   
             
    function updateChart(DOMId){    
                updateChartXML(domId,
    "<graph><set name='A' value='32' /></graph>");     
              }
        
          
    </SCRIPT>   
       
    </HEAD>   
       
    <BODY>   
          
    <div id="chart1div">   
             FusionCharts    
          
    </div>   
          
    <script language="JavaScript">     
             
    var chart1 = new FusionCharts("../../FusionCharts/FCF_Column3D.swf""chart1Id""400""300");     
             chart1.setDataXML(
    "<graph><set name='A' value='10' color='D64646' /><set name='B' value='11' color='AFD8F8' /></graph>");    
             chart1.render(
    "chart1div");    
          
    </script>     
          
    <form name='frmUpdate'>   
             
    <input type='button' value='改變數(shù)據(jù)' onClick="javaScript:updateChart('chart1Id');" name='btnUpdate'>     
          
    </form>     
    </HTML> 



    當我們單擊”改變數(shù)據(jù)“按鈕后,會調(diào)用updateChart()方法,它會使用新的數(shù)據(jù)來重新構建圖形。

    這種方案看起來,好像是比較好。然而,在前面我們說了,使用dataXML方法加載數(shù)據(jù)時,不能含有中文字符,同理,使用updateChartXML方法,也不能有中文字符。如果你要使用中文,還是用第一種方法吧。你可能會想,既然有updateChartXML方法,那是不是有updateChartURL方法呢?我們用它不就可以了嗎?是的,是有這個方法,不過,F(xiàn)usionCharts Free版本里沒有,只有FusionCharts版本里有。想用嗎?拿錢來!
    下章我們來講講FCF的下鉆圖形,聽上去很專業(yè),其實就是圖形的連接,包括超連接,JavaScript。
    本文原始地址:http://ajava.org/hot/fusioncharts/876.html



    AJava.org --一個Java門戶! 轉載請以連接方式注明來自AJava.org

    posted on 2009-03-23 10:15 道長A@ajava.org 閱讀(2206) 評論(1)  編輯  收藏 所屬分類: FusionCharts 開發(fā)指南

    評論

    # re: [AJava原創(chuàng)]FusionCharts Free中文開發(fā)指南[使用文檔教程]第九章--動態(tài)改變圖形的類型和數(shù)據(jù)  回復  更多評論   

    updateChart
    這個方法又new了一次chart,測試了下如果多的話瀏覽器會掛掉...
    還不如改下他的原JS,在setDataXML時增加一個是否強制再次讀取XML數(shù)據(jù)
    2009-03-24 12:47 | aisdf
    主站蜘蛛池模板: 一本久到久久亚洲综合| 美女被爆羞羞网站免费| 久久久久亚洲AV成人网| 四虎永久在线精品免费网址| 任你躁在线精品免费| 苍井空亚洲精品AA片在线播放| 2022年亚洲午夜一区二区福利| 亚洲AV之男人的天堂| 国产精品无码免费播放| 四虎国产成人永久精品免费| 美女黄频免费网站| 亚洲国产精品无码久久久秋霞1| 亚洲精品私拍国产福利在线| 中文字幕亚洲一区| 亚洲第一区精品日韩在线播放| 在线观看免费人成视频色9 | 日韩免费福利视频| 成人免费激情视频| 污污网站免费观看| 成人免费区一区二区三区| 一进一出60分钟免费视频| 相泽南亚洲一区二区在线播放| 亚洲一级毛片中文字幕| 91大神亚洲影视在线| 亚洲av无码成h人动漫无遮挡| 久久精品国产精品亚洲下载 | 亚洲日韩国产欧美一区二区三区| 久久久久久亚洲精品| 国产亚洲综合色就色| 国产亚洲色视频在线| 亚洲精品国产V片在线观看| 波多野结衣免费视频观看| 国产免费av片在线播放| 国产又粗又长又硬免费视频| 国产精品成人无码免费| 免费观看的av毛片的网站| 日韩在线视频免费看| 国产在线观看www鲁啊鲁免费| 国产精品酒店视频免费看| 国产jizzjizz免费看jizz| 亚洲成a人无码av波多野按摩|