<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軸一樣!  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产香蕉人人爽成AV片久久| 亚洲精品综合一二三区在线| 亚洲日本乱码卡2卡3卡新区| 一区二区三区观看免费中文视频在线播放| 亚洲精品卡2卡3卡4卡5卡区| 国产日韩在线视频免费播放| 美腿丝袜亚洲综合| 日韩a级无码免费视频| 亚洲国产AV无码专区亚洲AV| 日韩视频免费在线观看| 91亚洲导航深夜福利| 114级毛片免费观看| 亚洲午夜无码久久| 日本一道高清不卡免费| 五级黄18以上免费看| 亚洲中文字幕第一页在线| 国产啪精品视频网站免费尤物| 久久久综合亚洲色一区二区三区 | 大学生高清一级毛片免费| 亚洲国产综合AV在线观看| 免费人成在线观看视频播放 | 亚洲日韩乱码中文无码蜜桃| 毛片视频免费观看| 色视频在线观看免费| 亚洲欧洲无码AV电影在线观看| 美女在线视频观看影院免费天天看 | 免费无码一区二区三区蜜桃 | 亚洲区日韩精品中文字幕| 免费a级毛片大学生免费观看| 久久久精品视频免费观看| 亚洲网址在线观看| 日本免费中文字幕在线看| 国产高潮久久免费观看| 久久亚洲精品无码aⅴ大香| 免费无码又爽又刺激高潮 | 亚洲男人都懂得羞羞网站| 在线观看免费成人| 国产免费AV片在线观看| 亚洲熟妇无码AV| 亚洲理论电影在线观看| 成年女人视频网站免费m|