星期六, 2月 20, 2016

[RV] 逐步解說:ReportViewer 報表

根據這篇 MSDN 文章:逐步解說:建立 ReportViewer 報表 的練習,基本上都是利用精靈來
完成全部設定,會設定下面四個步驟
  1. 建立 DataSet 資料來源
  2. 建立報表定義檔案(rdlc)
  3. 格式化貨幣欄位
  4. 利用 ReportViewer 把報表顯示在表單上

建立 DataSet 資料來源

新增 DataSet:dsSaleData

[RV] ReportViewer 報表-1

dsSaleData 內加入 TableAdapter

[RV] ReportViewer 報表-2

建立 TableAdapter 的資料庫連線(已事先建立)

[RV] ReportViewer 報表-3

使用 SQL 陳述式來抓取資料

[RV] ReportViewer 報表-4

輸入 T-SQL 語法

[RV] ReportViewer 報表-5
USE AdventureWorks2014
GO

SELECT
    PC.Name AS Category, 
    PS.Name AS Subcategory, 
    DATEPART(yy, SOH.OrderDate) AS [Year], 
    'Q' + DATENAME(qq, SOH.OrderDate) AS Qtr, 
    ROUND(SUM(DET.UnitPrice * DET.OrderQty),0) AS Sales -- 故意把它四捨五入
FROM Sales.SalesOrderHeader AS SOH
    JOIN Sales.SalesOrderDetail AS DET ON SOH.SalesOrderID = DET.SalesOrderID 
    JOIN Production.Product AS P ON DET.ProductID = P.ProductID 
    JOIN Production.ProductSubcategory AS PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID
    JOIN Production.ProductCategory AS PC ON PS.ProductCategoryID = PC.ProductCategoryID
WHERE (SOH.OrderDate BETWEEN ('20130101') AND ('20131231'))
GROUP BY 
    DATEPART(yy, SOH.OrderDate), 
    PC.Name, 
    PS.Name, 
    'Q' + DATENAME(qq, SOH.OrderDate), PS.ProductSubcategoryID
設定 TableAdapter 方法,基本上這不需要改

[RV] ReportViewer 報表-6

設定完成畫面

[RV] ReportViewer 報表-7

DataSet 設定完成

[RV] ReportViewer 報表-8

建立報表定義檔案(rdlc)

執行報表精靈來建立 ReportWizard.rdlc 報表

[RV] ReportViewer 報表-9

設定報表內的資料來源
  • 名稱:dsSimpleReport
  • 資料來源:選擇 dsSalesData DataSet
  • 可用資料集:dsSalesData DataSet 內的 DataTable1 DataTable
[RV] ReportViewer 報表-10

設定欄位行、資料列群組和值

[RV] ReportViewer 報表-11

版面配置設定

[RV] ReportViewer 報表-12

配色選擇

[RV] ReportViewer 報表-13

透過精靈設定後的報表配置

[RV] ReportViewer 報表-14

格式化貨幣格式

點選任一 SUM() TextBox 並點選滑鼠右鍵

[RV] ReportViewer 報表-15

選擇文字方塊屬性

[RV] ReportViewer 報表-16

號碼 Tab => 數值 => 小數位數設為 0 且勾選千分位符號

[RV] ReportViewer 報表-17

其他需要貨幣格式的欄位,也是一樣的步驟去設定

利用 ReportViewer 把報表顯示在表單上

把 ReportViewer 拖曳到 Form 內,並選擇報表 ReportWizard.rdlc

[RV] ReportViewer 報表-18

執行該 Form 來顯示設定結果

[RV] ReportViewer 報表-19

沒有留言:

張貼留言