Java軟件報表軟件技術博客

          java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          最近對移動端的報表開發頗有研究,細磨精算了好久,雖然到現在還是“囊中羞澀”,但決定還是先拋磚引玉,拿點小干貨出來和大家分享。

          研究的工具是比較有代表性的FineReport。

          1、  移動端哪些地方支持調用js

          web事件

          分頁預覽

          填報預覽

          加載結束事件

          X

          填報成功事件

          --

           

          報表內部js

          單元格

          圖表

          超級鏈接js

           

          控件事件

          參數控件

          填報控件

          表單控件

          初始化后事件

          X

          編輯前

          X

          編輯后

          X

          編輯結束

          X

          點擊

          X

          狀態改變

           

          2、報表控件支持的腳本函數

          函數名

          函數描述

          填報控件

          參數控件

          表單控件

          setEnable

          設置控件的可用性

          isEnable

          判斷控件是否可用

          setVisible

          設置控件的可見性

          isVisible

          判斷控件的可見性

          setValue

          設置控件值

          getValue

          獲取控件的值

          setText

          設置控件的顯示值

          getText

          獲取控件的顯示值

          reset

          重置控件

          fireEvent

          觸發指定名字的事件

           

          3、報表分頁預覽支持的腳本函數

          函數名

          函數描述

          補充說明

          實現

          contentPane

          當前報表對象

          currentPageIndex

          當前所在頁

          contentPane常用屬性 只有分頁預覽報表才有

          reportTotalPage

          總頁數

          contentPane常用屬性 只有分頁預覽報表才有

          gotoFirstPage

          首頁

          gotoPreviousPage

          上一頁

          gotoNextPage

          下一頁

          gotoLastPage

          末頁

          gotoPage(n)

          跳轉到某一頁

          包含1個參數,表示跳轉到第幾頁

           

          4、填報預覽報表支持的腳本函數

          函數名

          函數描述

          補充說明

          實現

          contentPane

          當前報表對象

          verifyReport

          數據校驗

          只有填報表才可以用,contentPane常用方法

          writeReport

          提交報表

          只有填報表才可以用,contentPane常用方法

          verifyAndWriteReport

          數據校驗后提交報表

          只有填報表才可以用,contentPane常用方法

          curLGP

          current logicpane

          contentPane常用屬性,只有填報預覽及表單預覽下才有

          getCellValue(cell)

          獲取指定格子的值

          包含1個參數,單元格,只有填報下有,curLGP常用方法

          getCellValue(col, row)

          獲取指定格子的值

          包含2個參數,列和行,只有填報下有,curLGP常用方法

          setCellValue(cell, null, value)

          設置指定格子的值

          包含3個參數,單元格,空和值,只有填報下有,curLGP常用方法

          setCellValue(col, row, value)

          設置指定格子的值

          包含3個參數,列,行和值,只有填報下有,curLGP常用方法

          getWidgetByCell

          獲取指定單元格中的控件

          包含1個參數,單元格,contentPane常用方法

          getWidgetByName

          獲取指定名字的控件

          包含1個參數,控件名,contentPane常用方法

          getWidgetsByName

          獲取指定名稱的擴展控件,返回一個數組

          包含1個參數,控件名,contentPane常用方法

           

          5、常用的工具類腳本函數

          函數名

          函數描述

          補充說明

          實現

          FR.Msg.alert

          彈出消息框函數

          包含3個參數,分別表示:標題,內容,回調函數

          FR.Msg.confirm

          值確認彈出框函數

          包含3個參數,分別表示:標題,值,回調函數

          FR.Msg.prompt

          可修改值的值確認彈出框函數

          包含4個參數,分別表示:標題,說明,值,回調函數

          FR.Msg.toast

          在頁面邊緣出現的消息提示塊,一小段時間后自動消失

          包含1個參數,表示要提示的信息

          FR.cjkEncode

          進行cjk編碼

          包含1個參數,字符串

          FR.cjkDecode

          進行cjk解碼

          包含1個參數,字符串

          FR.location

          地理位置獲取

          包含一個回掉函數返回獲取狀態及信息

          FR.doHyperlinkByGet /FR.doHyperlinkByPost

          超級連接

          包含2個參數,分別表示:超鏈的url, 傳遞的參數

          FR.ajax

          異步請求函數

          /

          _g().parameterCommit()

          分頁預覽及填報預覽自動查詢

          /

          contentPane.setAppearRefresh()

          頁面再現的時候自動刷新

          /


          以上對應著報表的功能大致羅列了以下框架,下面先舉一些小示例

          獲取控件的一系列方法

           this.options.form.getWidgetByName("控件名");  //參數界面及表單中獲取控件 

            contentPane.getWidgetByCell("單元格");  //填報界面獲取控件 

           contentPane.getWidgetByName("控件名");   //填報界面獲取控件  


          填報成功后刷新當前頁

           var url = "/WebReport/ReportServer?reportlet=js/shauxindangqian.cpt&op=write&__replaceview__=true";  

          FR.doHyperlinkByGet(url,{para:paravalue});  //刷新當前頁面  

           

           js獲取表單圖表組件并刷新數據

           var c=FR.Chart.WebUtils.getChart("chart0");  

          c.dataRefresh();

           

           延時函數 

            setTimeout(function() {  }, 500); 

           

          A超鏈至B填報,B提交數據后返回A時,A自動刷新顯示新的數據

           contentPane.setAppearRefresh();  //在A的加載結束后事件中添加js  

           

          以后還會陸續分享一些移動端實用功能的應用實例,還有HTML5,歡迎一起探討。



          主站蜘蛛池模板: 庆阳市| 广饶县| 桐庐县| 宜都市| 莱州市| 出国| 绥宁县| 平乡县| 龙南县| 广东省| 罗甸县| 洱源县| 大丰市| 嫩江县| 青阳县| 侯马市| 佛冈县| 获嘉县| 富锦市| 司法| 玉溪市| 临武县| 阿拉善右旗| 革吉县| 连南| 太白县| 苏尼特左旗| 新干县| 永福县| 铁岭市| 蓝山县| 丹凤县| 望奎县| 中牟县| 剑河县| 太原市| 玉环县| 南平市| 永修县| 平江县| 湘乡市|