日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sortable 拖拽时互换目标的位置_报表如何实现行列互换效果?

發布時間:2025/5/22 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sortable 拖拽时互换目标的位置_报表如何实现行列互换效果? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通常我們設計的二維的交叉報表,橫向的維度和縱向的維度是固定的,而用戶希望更希望能根據自己的需要快速轉換橫向縱向維度來查看報表。

如上圖所示,我們通過點擊一個按鈕或文字,就可將報表的行列維度互相轉換,這樣的動態轉換效果要怎么設置實現呢?

這里我介紹兩種方法實現方法:

1. 兩張報表超鏈接

2. 單張報表動態判斷

兩張報表超鏈接

實現思路:

二維的交叉報表行列維度有兩種情況,我們只需對應兩種情況做兩張報表,切換的按鈕用超鏈接實現,連接的目標就是另一張報表。

具體實現:

1. 新建一張報表,文件名為行列轉換 1.rpx, 數據源使用潤乾設計器下自帶的 demo 數據源,數據集使用 SQL 檢索方式,SQL 為:SELECT 訂單. 貨主地區, 訂單. 訂單金額, 雇員. 姓氏 + 雇員. 名字 as 雇員 FROM 訂單, 雇員 WHERE 訂單. 雇員 ID = 雇員. 雇員 ID 。

2. 設置報表單元格表達式,潤乾設計器中單元格可以直接寫表達式,也支持拖拽字段生成表達式。

B1 單元格我們通過拖拽字段的方式生成表達式:在設計器右下角的數據集面板中可以看到我們剛才新建的數據集和字段,選擇對應字段,然后選擇分組,將字段拖拽到 B1 單元格中,

B1 單元格就會出現 =ds1.group(貨主地區; 貨主地區);

A2 單元格同 B1 的操作,不同的是選擇雇員字段拖拽,生成的表達式為 =ds1.group(雇員; 雇員:1);

B2 單元格選擇訂單金額,選擇匯總,匯總方式為求和,拖拽字段到 B2 單元格中,表達式為 =ds1.sum(訂單金額)。

3. 修改單元格擴展方式,單元格的擴展方向默認為縱向,選中 B1,在右側屬性面板中設置擴展方式為橫向擴展。

4.A1 單元格中直接寫上行列互換,設置超鏈接表達式:“./showReport.jsp?rpx=/30 交互報表 / 行列互換 2.rpx”,超鏈接窗口為:_self。

5. 將當前報表另存一張,保存文件名為“行列轉換 2.rpx”,將 B1 和 A2 單元格表達式對調,將 A1 的超鏈接表達式修改為:“./showReport.jsp?rpx=/30 交互報表 / 行列互換 1.rpx”。

經過以上設置,我們就完成了最不燒腦的二維報表行列互換報表的制作,使用 showReport.jsp 訪問行列轉換 1.rpx,點擊行列轉換那幾個字就會變成行列轉換 2.rpx,用戶盡管點擊切換,不用做條件判斷。

單張報表動態判斷

實現思路:

根據標志 flag 當前值,來改變他的值,根據這個值確定橫向分組和縱向分組使用的字段。

具體實現

1. 將行列轉換 1.rpx 另存一個報表,文件名為行列轉換.rpx。

2. 報表中增加一個普通參數,參數名稱為 change, 數據類型為整數,默認的參數值為 1;

兩個動態參數:參數名稱 group1, 數據類型為字符串,值表達式為 if(change==1,“貨主地區”,“雇員”;

參數名稱 Group2, 數據類型為字符串,值表達式為 if(change==1,“雇員”,“貨主地區”)。

3. 修改單元格表達式

橫向分組和縱向分組的字段通過動態參數的值,動態變化,將 B1 的表達式修改為 =ds1.group(${group1};${group1}:1),將 A2 的表達式修改為 =ds1.group(${group2};${group2}:1)。

4. 修改行列互換的超鏈接表達式

超鏈接表達式為:“./showReport.jsp?rpx=/30 交互報表 / 行列互換.rpx&change=”+if(change==1,-1,1)

經過以上設置,我們通過 showReport.jsp 訪問行列轉換.rpx, 在瀏覽器地址欄中,輸入 url:

http://localhost:6868/demo/reportJsp/showReport.jsp?rpx=/30 交互報表 / 行列轉換.rpx訪問。

當點擊表頭中的行列轉換文字,刷新的報表還是當前的報表,但 change 的參數值已經變成了 -1,并且行列的分組字段也發生了變化。

通過上面介紹的兩種方法都能快速的實現報表行列互換的效果,如果不想做多張報表來實現,推薦使用第二種實現方法,如果不習慣條件判斷的設置,可以使用第一種方法,雖然涉及到兩張報表,只是另存第一張報表,簡單修改就行,修改的工作量可忽律不計,也沒有第二種方法的小彎彎繞,具體根據自己的情況選擇合適的方法吧。

附件中是兩種方法實現的報表實例,方便對照文章實現行列互換的需求。

總結

以上是生活随笔為你收集整理的sortable 拖拽时互换目标的位置_报表如何实现行列互换效果?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。