反饋已提交

網絡繁忙

擴展後排序重新編號

一、概述

  1. 問題描述:在對報表進行擴展後排序之後,若直接使用儲存格插入公式 【seq()】 或者 【&cell】 這兩種方法獲取序號,序號的順序是亂序的,我們需要讓它變成正常的排序。

  2. 解決思路:設定條件設定新值。

    設定公式形態。

    新增載入結束事件,利用 JavaScript 代碼解決。

二、範例

1
資料準備。
  1. 建立普通報表,建立資料庫查詢,SQL 查詢語句為:SELECT * FROM 銷量。如下圖所示。


image.png

 

2
報表設計。
  1. 設計如下圖所示表格,設定儲存格 A2 左父格為 B2 ,並且插入公式:seq() , 生成序號。設定儲存格擴展方向:C1 為【橫向擴展】,B2、C2 為【縱向擴展】。如下圖1所示。

  2. 未設定擴展後排序時,儲存報表,點擊【分頁預覽】,可以看到序號順序正常,如下圖2所示。


image (1).png

 

image (2).png

 

3
設定擴展後排序。
  1. 選中 B2 儲存格,設定【擴展後排序】,選中【升冪】,公式為:C2{C1 = "牛奶"},即按照【牛奶】一欄的銷量值進行升冪排列,如下圖1所示。

  2. 儲存報表,點擊【分頁預覽】,表格已按【牛奶】欄升冪排序,但序號一欄被打亂,如下圖2所示。


image (3).png

 

image (4).png

 

4
方法一(條件屬性)。
  1. 選中序號所在儲存格 A2,刪除原本的公式,新增【條件屬性】→【新值】,選擇公式型別,值可以是 【seq()】,【row()-1】,【&cell】 。

  2. 【row()-1】:【row()】 傳回當前欄位置,【-1】 指的是當前欄位置 -1,數值根據具體情況而定。

  3. 【&cell】:【cell】 指的是新增擴展後排序的儲存格,本例為 B2 儲存格。

  4. 由於任何情況下都需要生效,不需要新增判定條件。步驟如下圖所示。


image (5).png

 

5
方法二(公式形態)。
  1. 選中序號所在儲存格 A2,選擇【儲存格屬性】→【形態】→【公式形態】,值同樣可以為 【seq()】,【row()-1】,【&cell】 。如下圖所示。

注1:公式形態實際是將實際值與顯示值轉換,所以序號所在儲存格本身必須有值。

注2:當序號所在儲存格原本的值為 【seq()】 時,公式形態的值需要設定為 【seq(1)】,否則序號會累計。

 

image (6).png

 

6
方法三(載入結束事件)。
  1. 點擊【範本】→【範本 Web 屬性】,選擇【分頁預覽設定】,選擇【為改範本單獨設定】,在事件設定中新增【載入結束】事件,輸入 JavaScript 代碼,步驟如下圖2所示。JavaScript 代碼如下。


image (7).png

 

$(function(){
     var len=$('.x-table tr').length;
     for(var i=1;i<len;i++){
//table中的欄數是從0開始算的,下面代碼意思是第二欄第一個儲存格編號是1。
     $('.x-table tr:eq('+i+') td:first').text(i);
     }
})


7
效果預覽。
  1. PC 端:三種方法的效果均如下圖1所示。

  2. 行動端:方法三不支援行動端,方法一和方法二均支援 App 端和 H5 端,效果如下圖2所示。


image (8).png

 

27f025ad85d3e610cb8ba16327e413f.jpg

 

三、範本下載

附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙