動態欄實現多欄排序

1. 概述

1.1 預期效果

部分使用者希望在動態列的基礎上,能夠對每列進行單獨的排序。如下圖所示:

9.gif

1.2 實現思路

在 使用函式實現動態列 基礎上,設定擴展後排序。

2. 操作步驟

2.1 範本準備

1)以 使用函式實現動態列 文檔中的範本為基礎,進行修改。

2)A1 儲存格輸入文字「序號」。如下圖所示:

3)選中第一行,滑鼠點選右鍵,選擇「設定重複標題行」,設定第一行為重複標題行。如下圖所示:

4)修改 ds1 的 SQL 語句為SELECT * FROM S訂單明細

2.2 B1 儲存格新增動態參數

選中 B1 儲存格,給 B1 儲存格新增一個動態參數類型的超級連結。

新增兩個參數 order 和 index,order 的參數值為公式:if($order = 1, -1, 1),index 的參數值為公式:&B1如下圖所示:

注:index 參數值為 &B1,即點選時設定 index 的值為所點選的儲存格的序號。

2.3 設定擴展後排序

設定 A2 儲存格擴展後排序為「升冪」,排序公式為:if(isnull($index), A2, if($order = 1, EVAL("B2[;B1:" + $index + "]"), EVAL("-1*B2[;B1:" + $index + "]")))

該公式的含義為:

order 為 1 時,按照 EVAL("B2[;B1:" + $index + "]") 獲取到的點選列的值進行升冪排列;order 為 -1 時,將獲取到的點選列的值處理為負數,然後按照負數進行升冪排列。

公式說明如下表:

公式
說明
isnull($index)

判斷 $index 是否為空字串。$index 在初始化時為空,點選列標題後被指派為 &B1,即所點選的儲存格的序號

注:參數為空時,以 A2 儲存格排序,可提高第一次點選標題排序時的效能。

"B2[;B1:" + $index + "]"

傳回 B1 儲存格擴展出來的第 $index 個值對應的 B2 儲存格值,詳情可參考:絕對層次座標

EVAL()傳回字串運算式

如下圖所示:

2.4 效果查看

2.4.1 PC 端

參考本文 1.1 節。

2.4.2 行動端

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

10.gif

3. 範本下載

已完成範本可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Parameter\DynamicCol\動態列實現多列排序.cpt

點選下載範本:動態列實現多列排序.cpt


附件列表


主題: 報表專題
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

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

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

不再提示

3s后關閉

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

反馈已提交

网络繁忙

反饋已提交

網絡繁忙