如何對(duì)報(bào)表FastReport.Net中的數(shù)據(jù)進(jìn)行排序
排序數(shù)據(jù)是最重要的數(shù)據(jù)處理工具之一。可以說(shuō),這是分析的基礎(chǔ)。分析混亂的輸出數(shù)據(jù)幾乎是不可能的。因此,排序提供了處理數(shù)據(jù)的所有工具。這也適用于報(bào)表工具。畢竟,數(shù)據(jù)源可能會(huì)提供報(bào)表數(shù)據(jù)未排序或已排序,但不在必填字段中,也不是在順序中。
FastReport.Net的文檔概述了兩種排序方式:對(duì)組值進(jìn)行排序,對(duì)數(shù)據(jù)區(qū)域中的數(shù)據(jù)進(jìn)行排序。
創(chuàng)建群組時(shí),即設(shè)置“群組標(biāo)題”band時(shí),我們可以使用第一種排序方式。當(dāng)您選擇要分組的字段時(shí),可以立即對(duì)其進(jìn)行排序。
共有三種排序選項(xiàng):無(wú)排序、升序、降序。
但是,如果我們談?wù)搶?duì)數(shù)據(jù)倉(cāng)中的基本數(shù)據(jù)進(jìn)行排序,則可以訪問(wèn)更高級(jí)的排序——一次訪問(wèn)三個(gè)字段,對(duì)于每個(gè)字段,您都可以選擇排序順序。
要調(diào)用排序編輯器,您需要在頁(yè)面模板上單擊band的標(biāo)題兩次。
盡管界面友好,但此工具仍存在一個(gè)重大缺陷。準(zhǔn)確地說(shuō),它只能對(duì)三個(gè)字段進(jìn)行排序。但是,某些表具有各種字段,您可能需要按3個(gè)以上的字段進(jìn)行排序。
您可以通過(guò)使用查詢對(duì)源中的數(shù)據(jù)進(jìn)行排序來(lái)繞過(guò)此限制。您可以通過(guò)直接為所需表創(chuàng)建數(shù)據(jù)源或通過(guò)已創(chuàng)建的源來(lái)執(zhí)行此操作。
在第一種情況下,我們只是編寫(xiě)一個(gè)請(qǐng)求以正確的順序獲取數(shù)據(jù)。第二種情況是相同的,但是在已經(jīng)創(chuàng)建的數(shù)據(jù)源中。
在數(shù)據(jù)樹(shù)中,選擇合適的表。在屬性檢查器中,我們?cè)儐?wèn)SelectCommand。
向?qū)Ч餐瑒?chuàng)建了一個(gè)SQL查詢。您可以手動(dòng)輸入查詢或使用查詢生成器。因此,您可以對(duì)任意數(shù)量的字段進(jìn)行排序:
SELECT * FROM customer ORDER BY Country, City, State, CustNo, Company
創(chuàng)建數(shù)據(jù)源時(shí),可能不會(huì)意識(shí)到您需要特定的訂單數(shù)據(jù)。不過(guò)您始終可以在現(xiàn)有數(shù)據(jù)源中添加請(qǐng)求。但是請(qǐng)注意,此方法不適用于非SQL數(shù)據(jù)庫(kù)。
掃碼立即申請(qǐng)