反饋已提交
網絡繁忙
透過資料庫表中設定的欄位值,控制決策報表的每個 Tab 塊是否顯示,如下圖所示:
資料庫表欄位:SITUATION 欄位的值控制 Tab 是否顯示。
效果展示:一共有 4 個 Tab 塊:春、夏、秋、冬,前端展現時只顯示其中 2 個。
在資料庫表中新增控制 Tab 塊是否顯示的權限值,給決策報表的 body 組件新增 JS 事件來實現。
首先請自己在本地資料庫中建立一個表,表名為 SEASON,包含兩個欄位為 TYPE 和 SITUATION 。表樣式如下圖所示:
注:可使用 DBeaver 新增資料庫表,詳細操作請自行百度。
1)在設計器中點選左上角「檔案>建立決策報表>建立空白範本」。
2)將範本「PC端自適應屬性」中的報表佈局方式修改為「絕對佈局」。如下圖所示:
注:11.0.3 版本之前的設計器中,佈局方式在設計畫布右側,body 組件屬性面板中設定。
3)拖入一個 Tab塊,新增 4 個 Tab 頁。每個 Tab 頁中均拖入一個 報表塊 。給 Tab 頁標題分別設定為「春、夏、秋、冬」。報表塊內容可自行設定。
如下圖所示:
選中 body 組件,新增一個初始化後事件,如下圖所示:
事件中,首先新增一個參數 a ,參數值為公式 :split(SQL("FRDemoTW","SELECT TYPE FROM SEASON WHERE SITUATION='隱藏'",1),",")
公式說明:透過 SQL 查詢和 split 分割公式將需要欄位值為「隱藏」的 Tab 塊標題存成一個陣列。獲取到TYPE中為隱藏的值,並形成陣列:[秋,冬]。
再輸入 JavaScript 程式碼:
setTimeout(function(){for(var i = 0; i < a.length; i++) { for(var j=0;j<= a[i].length;j++){ _g().getWidgetByName("tabpane0").setTabVisible(a[j],false); //tabpane0需根據實際組件名稱修改 }} }, 50)
儲存報表,點選「PC端預覽」,效果如下圖所示:
同時支援 App 和 H5 端預覽。效果如下圖所示:
點選下載範本:資料庫表欄位控制是否顯示Tab.frm
注:使用者使用該範本時需要先建立資料庫表。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙