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

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

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

    精彩的人生

    好好工作,好好生活

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      147 Posts :: 0 Stories :: 250 Comments :: 0 Trackbacks
    BIRT的chart功能似乎并不是很強大,反正在使用過程中,出現過編輯器不好使,被迫直接修改xml文件的情況.

    現在,有一個這樣的需求,就是讓Y軸的標題顯示用戶輸入的值.



    如圖所示,這個標題是在編輯/定義圖表的時候輸入的固定值,這個值不管是改成params["test"]還是reportContext.getParameter("test")都會直接返回文本,而不是表達式值.

    但是,這個文本唯一支持的動態,就是本地化,那么本文將介紹如何利用resources.properties來實現這個標題的動態顯示

    首先,設置這個chart的resource使用<YOUR_LOCATION>/reources.properties文件

    然后,在這個properties文件中輸入test_field=Hopeshared's Test

    接著,修改這個title


    這個時候,preview的結果,title就會顯示properties文件里的內容

    向report添加一個名為test的參數,這個參數是string類型,必填項,用戶的輸入將保存到properties文件并顯示在chart中

    接著,寫個腳本,讓properties文件內容發生變化
    在整個report的initialize方法中,寫入
     1importPackage(Packages.java.lang);
     2importPackage(Packages.java.util);
     3importPackage(Packages.java.io);
     4importPackage(Packages.java.net);
     5
     6var t_value = params["test"];
     7var prop=new Properties();
     8
     9var in_stream=new FileInputStream("<YOUR_PROPERTIES_FOLDER>/resources.properties");
    10prop.load(in_stream);
    11in_stream.close();
    12        
    13prop.put("test_field", t_value);
    14
    15var   fout=new  FileOutputStream("<YOUR_PROPERTIES_FOLDER>/resources.properties");
    16prop.store(fout,"Test Properties");
    17fout.close();
    18
    19var current = new File("<YOUR_PROPERTIES_FOLDER>");
    20
    21var cl = new URLClassLoader(new Array(current.toURL()));
    22res = ResourceBundle.getBundle("resource", Locale.getDefault(), cl);

    最后,preview一下,看看結果.

    歡迎大家告訴我其他更好的辦法來達到這個目標,謝謝!
    posted on 2007-11-12 13:20 hopeshared 閱讀(3928) 評論(4)  編輯  收藏 所屬分類: BIRT

    Feedback

    # re: BIRT.CHART: 讓Y軸標題動態修改[未登錄] 2007-11-13 16:07 hopeshared
    傻了,其實有很簡單的辦法實現的
    在圖上寫個腳本
    function beforeDrawAxisTitle(axis, label, icsc)
    {
    label.getCaption().setValue(icsc.getExternalContext().getScriptable().getParameterValue("test"));
    }
    就可以了,hoho  回復  更多評論
      

    # re: BIRT.CHART: 讓Y軸標題動態修改 2008-04-22 18:42 fy_kenny
    好方法,

    我初次接觸,還望前輩指點啊.  回復  更多評論
      

    # re: BIRT.CHART: 讓Y軸標題動態修改 2008-08-19 08:52 月下孤影
    你這個方法
    function beforeDrawAxisTitle(axis, label, icsc)
    {
    label.getCaption().setValue(icsc.getExternalContext().getScriptable().getParameterValue("test"));
    }

    應該寫到哪里呢?  回復  更多評論
      

    # re: BIRT.CHART: 讓Y軸標題動態修改[未登錄] 2011-07-04 13:56 clark
    @hopeshared
    X軸好像也發生了改變,和Y軸一樣!  回復  更多評論
      


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费无遮挡无码视频在线观看| 国产v亚洲v天堂无码网站| 亚洲福利视频网址| 一级毛片免费不卡在线| 亚洲va无码手机在线电影| a级特黄毛片免费观看| 狠狠亚洲狠狠欧洲2019| 一级毛片高清免费播放| 国产亚洲精品a在线观看| 中文字幕乱码系列免费| 亚洲国产美女精品久久久久∴| 99久久国产精品免费一区二区| 亚洲精品乱码久久久久久按摩 | 男人j进入女人j内部免费网站| 亚洲精品亚洲人成人网| 免费看少妇高潮成人片| 亚洲一卡2卡三卡4卡有限公司| 国产在线观看麻豆91精品免费| 亚洲中文字幕无码一去台湾| 好大好深好猛好爽视频免费| 成人婷婷网色偷偷亚洲男人的天堂| 日本免费人成黄页在线观看视频| 尤物视频在线免费观看| 亚洲一区无码中文字幕| 91精品国产免费入口| 亚洲av成人综合网| 免费一级毛片正在播放| 免费一级毛片在线播放视频| 亚洲乱码中文论理电影| 亚洲av手机在线观看| 国产成人AV片无码免费| 亚洲天堂2017无码中文| 2048亚洲精品国产| 又黄又爽又成人免费视频| 亚洲AV成人片无码网站| 亚洲成AV人片一区二区密柚| 成人奭片免费观看| 国产又黄又爽胸又大免费视频| 国产精品亚洲片夜色在线| 亚洲视频人成在线播放| 青娱乐免费在线视频|