當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

JS實現填報數據邏輯删除

1. 概述

1.1 版本

報表服務器版本
10.0

1.2 問題描述

用戶有時需要實現數據備份留底且數據不能在業務界面展現的效果,該如何操作呢?

1.3 解決思路

  • 使用邏輯删除來解決。即在數據庫表中增加一列「狀态」,通過更改這個狀态列的值,控制數據的可見與不可見。

  • 過濾展現數據。即使用「狀态」字段的值約束數據是否顯示,例如,原始查詢語句爲:select * from CUSTOMER ,狀态約束後的查詢語句爲:select * from CUSTOMER  where 狀态="1"

2. 示例

以 FRDemo 中的 CUSTOMER 表爲例,由於表中沒有「狀态」字段,使用district字段作爲「标記」。

district 字段中的值爲 1 時,爲正常數據;當 district 字段中的值爲 0 時,爲删除的數據。

2.1 數據準備

新建普通報表,新建數據庫查詢 ds1,SQL 查詢語句爲:select * from CUSTOMER

2.2 表樣設計

将 ds1 中的數據列拖入到模板中,爲表格設置邊框、文本居中對齊、F 列文本設置顔色爲紅色,表格樣式如下圖所示:

2020-09-27_16-36-45.png

2.3 添加按鈕控件

爲 G2、H2 單元格添加「按鈕控件」,按鈕名字分别爲「删除」和「取消删除」。步驟如下圖所示:

1611735679978801.png

2.4 添加點擊事件

1)選中 G2 單元格,點擊右側「控件設置>事件」,添加點擊事件。點擊事件中增加參數 row 和參數 col ,值用公式表示分别爲:row() - 1 col() - 2。輸入 JavaScript 代碼如下:

FR.Msg.confirm("提示","确定要删除數據嗎?",function(value){if(value){
contentPane.setCellValue(col,row,"0");
_g('${sessionID}').writeReport(); }
else{ contentPane.setCellValue(col,row,"1");
_g().parameterCommit(); } })

步驟如下圖所示:

1611736038100979.png

2)選中 H2 單元格,點擊右側「控件設置>事件」,添加點擊事件。點擊事件中增加參數 row 和參數 col ,值用公式表示分别爲:row() - 1 和col() - 3。輸入 JavaScript 代碼如下:

var v1=contentPane.getCellValue(0,col,row); 
FR.Msg.confirm("提示","确定要取消删除數據嗎?",function(value)if(value){ contentPane.setCellValue(col,row,"1");
_g('${sessionID}').writeReport(); } 
else{ contentPane.setCellValue(col,row,"0");
_g('${sessionID}').writeReport(); 
_g().parameterCommit(); } });

如下圖所示:

1611736148431101.png

2.5 報表填報屬性設置

點擊菜單欄「模板>報表填報屬性」,添加一個「内置 SQL 提交」,選擇數據庫 FRDemo 中的「CUSTOMER」表,添加「CUSTOMERID」和「DISTRICT」兩個字段及對應的單元格。如下圖所示:

注:報表填報屬性設置步驟請參考報表填報屬性 
1601197306234498.png

2.6 形态設置

選中 F2 單元格,點擊「單元格屬性>形态」,選擇「公式形态」,輸入公式:if($$$="1","正常","已經删除"),表示如果當前單元格值爲 1,顯示爲「正常」,否則顯示爲「已經删除」。

Snag_4d9ddf.png

2.7 效果預覽

2.7.1 PC 端

保存模板,點擊「填報預覽」,效果如下圖所示:

1583726166714943.gif

2.7.2 移動端

App 端和 HTML5 端均支持,效果如下圖所示:

1583726986101794.gif

3. 模板下載

已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填報預覽JS實例\JS實現數據邏輯删除.cpt

點擊下載模板:JS實現數據邏輯删除.cpt

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

9s后關閉

反饋已提交

網絡繁忙