• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于 FineReport 的可切換多圖表可視化頁面開發(fā)方案

    2022-05-30 10:48:04曾曉鈺溫豐蔚羅斌韋通明張亮
    計算機應用文摘·觸控 2022年15期
    關(guān)鍵詞:圖表

    曾曉鈺 溫豐蔚 羅斌 韋通明 張亮

    摘要:在可視化頁面開發(fā)的過程中,傳統(tǒng)方法是使用前后端分離開發(fā)技術(shù)。首先利用后端編寫業(yè)務方法獲取SQL數(shù)據(jù)并對其進行處理,然后通過 response 返回給客戶端;前端編寫靜態(tài)頁面,發(fā)送HTTP請求,獲取HTTP響應,將獲取的數(shù)據(jù)通過聯(lián)調(diào)匹配到靜態(tài)頁面中。為提高可視化頁面開發(fā)效率和質(zhì)量,節(jié)省人力成本,使用FineReport 編輯器來開發(fā)可切換多圖表可視化頁面,文章詳述了頁面開發(fā)流程并展示了最終效果。

    關(guān)鍵詞:FineReport;圖表;可視化頁面

    中圖法分類號:TP393文獻標識碼:A

    Development scheme of switchable multi-chart visualizationpage based on FineReport

    ZENG Xiaoyu,WEN Fengwei,LUO Bin,WEI Tongming,ZHANG Liang

    (SAIC-GM-Wuling Automobile Co.,Ltd.Technology Center,Liuzhou,Guangxi 545007,China)

    Abstract:In the process of visual page development, the traditional method is to use the front-end and back- end separation development technology. First, we use the back-end to write business methods to obtain SQL data and process it, and then return it to the client through the response. The front-end writes a static page, sends an HTTP request, obtains an HTTP response, and matches the obtained data to the static page through joint debugging. In order to improve the efficiency and quality of visualization page development and save labor costs, FineReport editor is used to develop switchable multi-chart visualization pages.The article details the page development process and shows the final effect.

    Key words:FineReport, chart, visualization page

    使用 FineReport 編輯器進行可視化頁面開發(fā),首先,由于編輯器中組件風格統(tǒng)一,省略 UI 設(shè)計環(huán)節(jié);其次,省略大量重復的前端 HTML 代碼,縮短前端開發(fā)時間;再次,省略后端業(yè)務方法開發(fā)過程,縮短后端開發(fā)時間;最后,前后端不分離,節(jié)省開發(fā)人手,一人足以完成前后端開發(fā)及聯(lián)調(diào)等工作。

    1概述

    對于可視化頁面來說,需要呈現(xiàn)多類型、多維度、多來源的數(shù)據(jù)報表,方便整合信息,統(tǒng)一分析。傳統(tǒng)開發(fā)方式一般為前后端分離開發(fā),使數(shù)據(jù)呈現(xiàn)在對應圖表中。本文使用 FineReport 編輯器進行頁面開發(fā),前后端不分離,直接通過 MySQL 語句編寫與公式處理,獲得需要的數(shù)據(jù)。

    2實現(xiàn)方案

    2.1工具介紹

    FineReport 編輯器是由 Java 編寫的,具有多維數(shù)據(jù)分析平臺,能夠采集前段、后端和歷史產(chǎn)生的所有數(shù)據(jù)。數(shù)據(jù)集來源可以多樣化,能夠支持 MySQL,SQL Sever, Access 等多種常用數(shù)據(jù)庫[1],且提供豐富的數(shù)據(jù)可視化圖表,支持 JavaScript 腳本的二次開發(fā)[2],是一種能夠?qū)崿F(xiàn)快速開發(fā)可視化頁面的 Web 報表軟件工具。

    2.2實現(xiàn)流程

    圖1是整個頁面通過 FineReport 編輯器設(shè)計實現(xiàn)的流程。首先,搭建頁面框架,用圖表、控件進行頁面填充,得到靜態(tài)頁面;然后,根據(jù)需要編寫 js 函數(shù)實現(xiàn)動態(tài)效果;接著,新建數(shù)據(jù)集,通過數(shù)據(jù)庫查詢數(shù)據(jù)集獲得相應數(shù)據(jù),或者建立內(nèi)置數(shù)據(jù)集自行完成表數(shù)據(jù)填充。如須對數(shù)據(jù)進行二次處理,可將數(shù)據(jù)列拖拽到新建報表塊,用公式進行二次計算處理,然后設(shè)置報表塊隱藏,在頁面上呈現(xiàn)二次處理后的數(shù)據(jù);最后,將數(shù)據(jù)設(shè)置到對應顯示圖表中,通過本地瀏覽器進行聯(lián)調(diào),最終完成整個可視化頁面的開發(fā)工作。

    2.3靜態(tài)頁面設(shè)計

    通過標簽和按鈕的控件組合,添加 js 方法,可以達到點擊按鈕切換 Tab 頁面、點擊按鈕切換標簽排序等效果;下拉選擇器用于篩選數(shù)據(jù),可以直接當作動態(tài)參數(shù)放入數(shù)據(jù)庫查詢數(shù)據(jù)集內(nèi)組合動態(tài) MySQL 語句,也可在二次處理的報表塊內(nèi)設(shè)置,實現(xiàn)復雜的篩選效果;日期選擇器可以設(shè)置默認值、限制日期值范圍、通過公式與另一個日期數(shù)據(jù)聯(lián)動,呈現(xiàn)日期范圍選擇的效果;圖表則可以通過常規(guī)設(shè)置展示獲得數(shù)據(jù)。

    2.4開發(fā)涉及的部分 JS 方法

    (1)使用按鈕切換 Tab 塊。實現(xiàn)思路:設(shè)置兩個按鈕(button0,button1)對應兩個 Tab 頁切換塊,分別給兩個按鈕添加點擊事件,并在事件里設(shè)置“_g(). options. form. getWidgetByName (‘ tablayout ). showCardByIndex([獲得值])”。其中,0代表第一個Tab 塊序號,1代表第二個 Tab 塊序號。之后,將自帶的 Tab 切換塊 Tabpane 高度設(shè)置為0隱藏起來,即可實現(xiàn)通過點擊按鈕切換 Tab 塊頁面的效果。

    (2)自動無限滾動列表。實現(xiàn)思路:給報表塊(report0)設(shè)置初始化方法。添加代碼“_ g (). options. form. getWidgetByName (‘ report0). startMarquee({ offset:1,interval:0.05,to:'top'})”,代表每0.05s 向上滾動1px。

    (3)切換提示標簽的“前十位”與“末十位”。實現(xiàn)思路:設(shè)置兩個按鈕( button0,button1)對應“前十位”和“末十位”,分別點擊可以獲得1和?1,代表正序和倒敘排序。將值放在一個 label 控件(label0)中,通過按鈕點擊方法,設(shè)置“_ g ().options.form. getWidgetByName(‘label0).setValue ([獲得值])”,將對應按鈕值放到 label 中,通過 label 值判斷排序狀態(tài)。修改“圖表?樣式?提示?內(nèi)容?自定義”中的代碼,獲取 label 的值,由此判斷圖表值分類后是正序/倒敘排列,并取“前十位”/“末十位”。圖表提示代碼如下:

    function(){

    var sortFlag =_g().options.form.getWidgetByName ('label0').getValue();

    var value = this.category;

    var points = this.points.sort(function(a,b){ var y = a.value;var x = b.value;

    return sortFlag ?( x < y ?-1:( x > y ?1:0));})

    var len = points.length >10?10:points.length; if (sortFlag ==1){

    for( var i =0;i < len;i++){

    if(points[i].series.visible){

    value +=""+points[ i].seriesName+":"+points [i].value;

    }

    }

    } else if (sortFlag ==?1){

    for( var i = len?1;i >=0;i??){

    if(points[i].series.visible){

    value +="

    猜你喜歡
    圖表
    圖表
    方圓(2016年23期)2017-02-05 19:31:45
    圖表
    方圓(2016年22期)2016-12-06 19:27:28
    雙周圖表
    足球周刊(2016年14期)2016-11-02 10:54:56
    雙周圖表
    足球周刊(2016年15期)2016-11-02 10:54:16
    圖表
    足球周刊(2016年11期)2016-10-09 11:53:25
    雙周圖表
    足球周刊(2016年10期)2016-10-08 18:30:55
    圖表
    世界博覽(2016年16期)2016-09-27 18:25:26
    圖表
    世界博覽(2016年15期)2016-09-27 10:47:51
    圖表
    方圓(2016年7期)2016-04-20 19:51:11
    圖表
    方圓(2016年5期)2016-03-16 19:57:32
    玉山县| 池州市| 五大连池市| 莱西市| 东方市| 漳平市| 望奎县| 石阡县| 贵溪市| 泊头市| 西藏| 石阡县| 洛宁县| 沙河市| 瑞金市| 大渡口区| 清徐县| 四平市| 南昌市| 邓州市| 棋牌| 讷河市| 苏尼特右旗| 綦江县| 石阡县| 扎鲁特旗| 松江区| 如东县| 静安区| 电白县| 虹口区| 安化县| 鄂托克前旗| 辉南县| 翼城县| 区。| 仁怀市| 新密市| 墨竹工卡县| 资中县| 松阳县|