反饋已提交
網絡繁忙
問題描述:在對報表進行擴展後排序之後,若直接使用儲存格插入公式 【seq()】 或者 【&cell】 這兩種方法獲取序號,序號的順序是亂序的,我們需要讓它變成正常的排序。
解決思路:設定條件設定新值。
設定公式形態。
新增載入結束事件,利用 JavaScript 代碼解決。
建立普通報表,建立資料庫查詢,SQL 查詢語句為:SELECT * FROM 銷量。如下圖所示。
設計如下圖所示表格,設定儲存格 A2 左父格為 B2 ,並且插入公式:seq() , 生成序號。設定儲存格擴展方向:C1 為【橫向擴展】,B2、C2 為【縱向擴展】。如下圖1所示。
未設定擴展後排序時,儲存報表,點擊【分頁預覽】,可以看到序號順序正常,如下圖2所示。
選中 B2 儲存格,設定【擴展後排序】,選中【升冪】,公式為:C2{C1 = "牛奶"},即按照【牛奶】一欄的銷量值進行升冪排列,如下圖1所示。
儲存報表,點擊【分頁預覽】,表格已按【牛奶】欄升冪排序,但序號一欄被打亂,如下圖2所示。
選中序號所在儲存格 A2,刪除原本的公式,新增【條件屬性】→【新值】,選擇公式型別,值可以是 【seq()】,【row()-1】,【&cell】 。
【row()-1】:【row()】 傳回當前欄位置,【-1】 指的是當前欄位置 -1,數值根據具體情況而定。
【&cell】:【cell】 指的是新增擴展後排序的儲存格,本例為 B2 儲存格。
由於任何情況下都需要生效,不需要新增判定條件。步驟如下圖所示。
選中序號所在儲存格 A2,選擇【儲存格屬性】→【形態】→【公式形態】,值同樣可以為 【seq()】,【row()-1】,【&cell】 。如下圖所示。
注1:公式形態實際是將實際值與顯示值轉換,所以序號所在儲存格本身必須有值。
注2:當序號所在儲存格原本的值為 【seq()】 時,公式形態的值需要設定為 【seq(1)】,否則序號會累計。
點擊【範本】→【範本 Web 屬性】,選擇【分頁預覽設定】,選擇【為改範本單獨設定】,在事件設定中新增【載入結束】事件,輸入 JavaScript 代碼,步驟如下圖2所示。JavaScript 代碼如下。
$(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); }})
PC 端:三種方法的效果均如下圖1所示。
行動端:方法三不支援行動端,方法一和方法二均支援 App 端和 H5 端,效果如下圖2所示。
點擊下載範本。
擴展後排序重新編號方法一.cpt
擴展後排序重新編號方法二.cpt
擴展後排序重新編號方法三.cpt
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉