反饋已提交
網絡繁忙
在 FineReport 報表進行資料展示或圖表展示時,經常會用到【排序】功能。一般在資料展示中應用比較多,圖表中也會稍微涉及到一點。
本文將介紹 FineReport 支援的各類排序,以及對排序的各種應用進行簡單介紹,詳情請於第三部分【索引】下對應文檔查看。
FineReport 支援的三種排序型別分別為:資料集中的排序、進階排序、擴展後排序。這三種排序優缺點如下表所示。
注:【進階排序】是在報表執行前進行排序,【擴展後排序】是報表執行後再進行排序。
排序型別
功能簡介
優點
缺點
資料集中的排序
透過在資料集中寫 SQL 語句,直接在資料庫查詢時排序。
效能最佳。
所有計算都必須要在資料庫中做,會導致 SQL 很複雜,難以維護。 有些計算是無法用 SQL 完成的。
進階排序
報表根據某【資料欄】設定公式和排列順序進行排序。相當於擴展前排序,依賴於【資料欄】。
效能中等。 可以基於【資料欄】利用公式做一些稍微複雜些的排序。
公式必須依賴於【資料欄】,並且會導致公式的二次計算。
擴展後排序
支援前兩種排序,也支援對包含各類計算的擴展後的報表進行排序。
最為靈活。 滿足目前所有的排序需求。
由於在擴展完成後進行排序,會對所有格子的位置進行調整,因此效能最差。
FineReport 報表一般包括純粹的資料展示、圖表展示和元件展示,排序一般應用在資料展示中比較多,但是圖表中也會稍微涉及到一點。
在圖表中的排序需要注意以下幾點:
圖表資料來源於【資料集】,故對圖表排序就需要對資料集中的資料進行排序,則需要使用 資料集中的排序。
圖表資料來源於出儲存格,故對圖表排序就是對出儲存格中的資料進行排序,即可以 進階排序 和 擴展後排序。
圖表排序還提供API,詳細範例請查看圖表排序。
說明文檔
應用場景
效果圖預覽
利用內建資料集實現自訂排序
希望按照自己設定的正文順序排序,不透過公式規則排序。
擴展後排序重新編號
有序號的情況下,擴展後排序會亂序,需要重新編號。
擴展後多列按先後排序
類似於 SQL 語句中的 order by A,B ,使用擴展後排序實現。
點擊某一欄標題改變排序
實現【單列】資料點擊列標題時改變升冪或降冪。
多列動態排序
實現【多列】資料點擊標題時改變升冪或降冪。
橫向擴展列多列排序
當標題列是由出儲存格橫向擴展得來時,同樣要實現點擊列標題動態排序。
排序新增動態箭頭
動態排序時,在標題上加上箭頭表示當前排序狀態。
按分組彙總結果排序
當資料有分組時,先按各分組的彙總結果排序,分組內再按各個值的順序排序。
分組內排序互不干擾
資料有分組的情況下,在分組內各自動態排序互不影響。
多級專案符號排序
報表中存在多級專案符號(即將多個數字用【 . 】隔開的字串)時按先後排序。
擴展後中文按拼音排序
中文排序一般是按 ASCII 碼進行排序,但希望其按拼音排序。
漢字數字排序
當報表中存在用漢字表達的數字序號時,希望按數字大小排序。
排序FAQ
對使用排序時遇到的各類問題及解決方案進行彙總。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉