溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

發(fā)布時(shí)間:2020-03-30 21:32:06 來源:網(wǎng)絡(luò) 閱讀:534 作者:powertoolsteam 欄目:編程語言

在 ActiveReports 中,可以設(shè)置報(bào)表中不同控件的樣式,然后把這些樣式保存到一個(gè)外部的XML文件當(dāng)中,供其他報(bào)表使用。如果用戶希望同一份報(bào)表以不用的外觀分發(fā),只需要簡單地修改樣式表單,無需逐個(gè)改變每個(gè)報(bào)表中的單個(gè)控件的字體、顏色、尺寸等。

本文中演示的是為年度銷量統(tǒng)計(jì)表設(shè)置不同的皮膚樣式,我們供準(zhǔn)備了三個(gè)皮膚樣式,以下是詳細(xì)操作步驟:

1、創(chuàng)建報(bào)表文件

在應(yīng)用程序中創(chuàng)建一個(gè)名為 rptTheme1.rdlx 的 ActiveReports 報(bào)表文件,使用的項(xiàng)目模板為 ActiveReports 頁面報(bào)表,創(chuàng)建完成之后從 VS 的報(bào)表菜單項(xiàng)中選擇轉(zhuǎn)換為連續(xù)頁面布局(CPL)報(bào)表,將固定頁面報(bào)表轉(zhuǎn)換為連續(xù)頁面報(bào)表。

2、打開報(bào)表資源管理器,并按照以下信息創(chuàng)建報(bào)表數(shù)據(jù)源

名稱:NWind_CHS
類型:Micorsoft OleDb Provider
OLE DB 提供程序:Microsoft.Jet.OLEDB.4.0
服務(wù)器或文件名稱:Data\NWind_CHS.mdb

3、 添加數(shù)據(jù)集

在新建的 NWind_CHS 數(shù)據(jù)源上鼠標(biāo)右鍵并選擇添加數(shù)據(jù)集菜單項(xiàng),添加以下兩個(gè)數(shù)據(jù)集:

常規(guī)-名稱:Sales

查詢-查詢:

SELECT

類別.類別名稱,訂單.貨主地區(qū),

SUM

(訂單明細(xì).數(shù)量) 

AS

銷售量 

FROM

(( 訂單 

INNERJOIN

訂單明細(xì) 

ON

訂單.訂單ID = 訂單明細(xì).訂單ID) 

INNERJOIN

產(chǎn)品 

ON

訂單明細(xì).產(chǎn)品ID = 產(chǎn)品.產(chǎn)品ID) 

INNERJOIN

類別 

ON

產(chǎn)品.類別ID = 類別.類別ID 

WHERE

DATEDIFF("yyyy",訂單.訂購日期,'2011-01-01') = 0

GROUPBY

類別.類別名稱,訂單.貨主地區(qū) 

ORDERBY

類別.類別名稱,訂單.貨主地區(qū)

 

常規(guī)-名稱:SaleDetails

查詢-查詢:

SELECT

DATEPART("m",訂單.訂購日期)

AS

訂購月,類別.類別名稱,

SUM

(訂單明細(xì).數(shù)量) 

AS

銷售量 

FROM

(( 訂單 

INNERJOIN

訂單明細(xì) 

ON

訂單.訂單ID = 訂單明細(xì).訂單ID) 

INNERJOIN

產(chǎn)品 

ON

訂單明細(xì).產(chǎn)品ID = 產(chǎn)品.產(chǎn)品ID) 

INNERJOIN

類別 

ON

產(chǎn)品.類別ID = 類別.類別ID 

WHERE

DATEDIFF("yyyy",訂單.訂購日期,'2011-01-01') = 0

GROUPBY

DATEPART("m",訂單.訂購日期),類別.類別ID, 類別.類別名稱

ORDERBY

DATEPART("m",訂單.訂購日期),類別.類別ID, 類別.類別名稱

 

4、設(shè)計(jì)報(bào)表界面

4.1、在 GrapeCity ActiveReports 主題編輯器中創(chuàng)建三個(gè)主題樣式

Style1.rdlx-theme

ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

 

Style2.rdlx-theme

ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

 

Style3.rdlx-theme

ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

創(chuàng)建完成以上主題樣式之后,為報(bào)表指定一個(gè)主題,我們在設(shè)計(jì)時(shí)指定的主題樣式為 Style1

ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

4.2、創(chuàng)建年度各地區(qū)銷量統(tǒng)計(jì)表

從 Visual Studio 工具箱中將 Chart 控件添加到報(bào)表設(shè)計(jì)界面,按照以下列表設(shè)置 Chart 控件的屬性

圖表數(shù)據(jù)屬性對話框:

常規(guī)-數(shù)據(jù)集名稱:Sales
系列值-值:=Sum([銷售量])
類別分組:名稱:Chart1_CategoryGroup1
分組-表達(dá)式:=[類別名稱] 
標(biāo)簽:=[類別名稱]
系列分組:名稱:Chart1_SeriesGroup1
分組-表達(dá)式:=[貨主地區(qū)] 
標(biāo)簽:=[貨主地區(qū)]

 

圖表外觀屬性對話框:

類型:圖表類型:折線圖
子類型:平滑 
標(biāo)題:2011年度各地區(qū)銷售量統(tǒng)計(jì)表 
調(diào)色板: 
=Theme.Colors.Accent1 
=Theme.Colors.Accent2 
=Theme.Colors.Accent3 
=Theme.Colors.Accent4 
=Theme.Colors.Accent5

 

4.3、創(chuàng)建各地區(qū)銷量圖

從 Visual Studio 工具箱中將 Chart 控件添加到報(bào)表設(shè)計(jì)界面,按照以下列表設(shè)置 Chart 控件的屬性

圖表數(shù)據(jù)屬性對話框:

圖表屬性名稱屬性值
東北地區(qū)銷量圖常規(guī):數(shù)據(jù)集名稱:Sales
系列值:值:=Sum([銷售量])
類別分組:名稱:Chart2_CategoryGroup1
表達(dá)式:=[類別名稱] 
標(biāo)簽:=[類別名稱]
過濾:表達(dá)式:=[貨主地區(qū)]
運(yùn)算符:Equal 
值:東北

 

圖表外觀屬性對話框:

類型:圖表類型:分高圖表
調(diào)色板:=Theme.Colors.Accent1
=Theme.Colors.Accent2 
=Theme.Colors.Accent3 
=Theme.Colors.Accent4 
=Theme.Colors.Accent5 
=Theme.Colors.Accent6 
=Theme.Colors.Hyperlink 
=Theme.Colors.HyperlinkFollowed

 

4.4、重復(fù)4.3操作,創(chuàng)建華北、華東、華南、西南四個(gè)地區(qū)的銷量圖,圖表區(qū)域在于過濾條件的值不同。

最終的設(shè)計(jì)結(jié)構(gòu)如下圖:

ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

5、在后臺代碼中動態(tài)加載用戶指定的主題樣式

GrapeCity.ActiveReports.PageReport report =new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("../Reports/" + reportname + ".rdlx"))); report.Report.DataSources[0].DataSourceReference = ""; report.Report.DataSources[0].ConnectionProperties.DataProvider = "OLEDB"; report.Report.DataSources[0].ConnectionProperties.ConnectString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", Server.MapPath("../Data/NWind_CHS.mdb")); report.Report.Themes.Clear(); report.Report.Themes.Add(Server.MapPath(string.Format("../Theme/Style{0}.rdlx-theme", themeid))); WebViewer1.Report = report;

 

6、運(yùn)行程序

ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

在線演示及×××地址:


http://www.gcpowertools.com.cn/products/activereports_demo.htm
ActiveReports 報(bào)表應(yīng)用教程 (15)---報(bào)表換膚

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI