移動端報表JS開發示例
最近對移動端的報表開發頗有研究,細磨精算了好久,雖然到現在還是“囊中羞澀”,但決定還是先拋磚引玉,拿點小乾貨出來和大家分享。
研究的工具是比較有代表性的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();
A超鏈至B填報,B提交資料後返回A時,A自動重新整理顯示新的資料
點選(此處)摺疊或開啟
- contentPane.setAppearRefresh();
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21472864/viewspace-2076703/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Vue.js開發移動端APPVue.jsAPP
- 【移動端開發】移動端開發基礎問題
- 移動端開發模式模式
- 移動端開發技巧
- 移動端開發小結
- 移動端App開發 - 01 - 開篇APP
- H5移動端開發H5
- 前端開發移動端除錯前端除錯
- 淺談移動端混合開發
- toy.js 構思中的移動端開發框架(一)JS框架
- 移動web開發之移動端真機測試Web
- 移動端 H5 報表設計準則H5
- 移動端識別SDK開發包
- 移動端開發新趨勢FlutterFlutter
- 移動端Modal元件開發雜談元件
- 移動端開發小結(實戰)
- 移動端開發基礎瞭解
- 移動端 Web 開發踩坑之旅Web
- 移動端開發viewport用法詳解View
- 淺談移動端開發頁面
- 移動端開發適配總結
- 移動端快速開發的祕密武器
- 移動端前端開發技術概況前端
- 移動端開發乾貨知識分享
- 移動端開發小記 – FlexboxFlex
- PHP實戰系列之一:0基礎開發移動端報名功能PHP
- Lesktop開源IM移動端:接入LayIM移動端UIUI
- 移動端開發reset.css(可用normalize替代)CSSORM
- 移動端跨平臺開發的深度解析
- 手摸手帶你學移動端WEB開發Web
- 移動社交App服務端開發總結APP服務端
- vue.js移動端配置flexible.jsVue.jsFlex
- PhoneJS - HTML5 JavaScript 移動開發框架JSHTMLJavaScript移動開發框架
- 水晶報表官方示例
- 移動端小白,30天掌握Flutter雙端外掛開發-上Flutter
- user端無法開啟crystall report開發的報表
- 移動端網頁版開發遇到的問題網頁
- 移動端網站開發要點-meta設定網站