反饋已提交

網絡繁忙

篩選過濾

1. 概述

1.1 預期效果

我們想從大量的資料當中,獲取到符合條件的資料,例如在網格式報表中,僅展示已付訂單的記錄,如下圖所示:

1.2 實現思路

方法一:直接通过 SQL 语句取出满足条件的的数据。修改数据集 SQL 语句为:SELECT * FROM 订单 where 是否已付 = 'true'

方法二:通过数据列过滤实现。设置过滤条件:「是否已付」等于字符串 true

方法三:通过查询框筛选过滤实现。定义数据集时,在 SQL 语句中添加自定义参数${a},即可在参数面板中添加相关参数控件进行筛选过滤。

2. 准备模板

在 FineReport 设计器中打开报模板:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\预警和间隔背景色.cpt

點選下載範本:預警和間隔背景色.cpt

3. 方法一:透過 SQL 語句篩選過濾

3.1 修改範本資料集

打开准备的模板,修改 ds1 的 SQL 语句为:SELECT * FROM 订单 where 是否已付 = 'true'。如下图所示:

3.2 效果查看

3.2.1 PC 端

儲存範本,點選「分頁預覽」,效果如本文 1.1 節所示。

3.2.2 行動端

App 及 HTML5 端效果如下圖所示:

4. 方法二:透過資料列過濾實現

4.1 新增過濾條件

打开准备的模板,双击 A2 单元格,在弹出的数据列设置框中选择「过滤」,设置过滤条件:「是否已付」等于字符串 true 。如下图所示:

注1:由于单元格的计算顺序,过滤条件需要设置在单元格的父格上。如这里的「订单 ID」,先取出已付的订单号,而其子格会自动继承父格条件,将父格子作为过滤条件。

注2:若数据集中具有重复的列名,单元格过滤时以最后一个列的内容为准,进行过滤。

注:由於儲存格的計算順序,過濾條件需要設定在儲存格的父格上,如這裏的訂單 ID,先取出已付的訂單號,而其子格會自動繼承父格條件,將父格子作為過濾條件。

4.2 效果查看

效果可參考本文 3.2 節。

5. 方法三:透過查詢框篩選過濾

5.1 具體步驟

1)打开准备的模板,修改 ds1 语句为:SELECT * FROM 订单 where 是否已付 = '${a}'。如下图所示:

2)编辑参数面板,点击「全部添加」按钮。如下图所示:

3)点击右侧的「控件设置」,选中「Labela」,选择「属性」,修改控件值为字符串「是否已付」。如下图所示:

4)点击参数面板参数 a的工具按钮,选择下拉框控件。如下图所示:

5)点击右侧的「控件设置」,选中「a」,选择「属性」,设置数据字典为「自定义」,实际值和显示值相同,分别为:true、false如下图所示:

6)双击 A2 单元格,在弹出的数据列设置框中选择「过滤」,设置过滤条件:「是否已付」等于参数 $a 。如下图所示:

6)双击 A2 单元格,在弹出的数据列设置框中选择「过滤」,设置过滤条件:「是否已付」等于参数 $a 。如下图所示:

5.2 效果查看

5.2.1 PC 端

儲存範本,點選「分頁預覽」,效果如下圖所示:

5.2.2 行動端

App 及 HTML5 端效果如下圖所示:

6. 已完成範本

1)方法一:

點選下載範本:透過SQL語句篩選過濾.cpt

2)方法二:

點選下載範本:透過資料列過濾.cpt

3)方法三

點選下載範本:透過查詢框篩選過濾.cpt

附件列表


主題: 報表應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙