q  Server

Step1>       在這個例子中做一個訂單的統計報表,因此我們對S001這個Server端做一個修改,添加一個InfoCommand用於取得統計報表顯示資料的語句。語句如下:

select Orders.OrderID, Customers.CompanyName, Employees.FirstName, Employees.LastName,

 Orders.OrderDate, Orders.ShippedDate, [Order Details].Quantity, [Order Details].UnitPrice, [Order Details].Discount,

 Products.ProductName, Products.ProductID

from Orders

left join [Order Details] on Orders.OrderID = [Order Details].OrderID

left join Customers on Customers.CustomerID = Orders.CustomerID

left join Employees on Employees.EmployeeID = Orders.EmployeeID

left join Products on Products.ProductID = [Order Details].ProductID

 

Step2>       cmdCountKeyFields中設定此語句的key欄位,OrderID以及ProductID

Step3>       添加完成后,重新建置S001。回到vs點擊工具-UploadAppDomains.這樣新產生S001可以被加載

 

q  Client

Step1>       Tools中找到EEP Wizard選擇Create Web Report,表要創建一個Web的報表工程。

Step2>       選擇所需要創建的報表類型,這裡選擇ReportViewer

Step3>       在創建報表前,先選擇所要連接的資料庫類型、資料庫的名稱。如下圖。

Step4>       接著設定用來產生ReportViewerWeb頁面程式,因此,我們需先確定WebClient所在的Web Site、與要成生於哪個Folder,最後設定要產生的aspx檔案名稱與網頁抬頭。如下:

Step5>       設定Client端所要的資料源,我們選擇之前Server端所產生的S001.dllcmdCount接著,請按Done按鈕。

Step6>       設定報表的Caption名稱,設定訂單統計

Step7>       接著再按Next後,此時Wizard會列出你所選的資料源的欄位(xsd中得知)。最後按下Done代表結束Wizard

  

Step8>       這樣Wizard會自動產生一個打開ReportWeb網頁,在這個Web網頁上有一個ClientQuery的元件,可以對報表進行查詢。下面在這個WebClientQuery中添加一個查詢條件如下:(由於VSlockwizard產生的畫面,因此為了能修改畫面需要重啓一下VS)

Step9>       接著來設計rdlc報表文件,打開WCountRpt.rdlc,首先將報表的所有欄位的Caption進行一下修改。

Step10>    將產品名稱和數量的位置進行調換,選中在報表下方的[Quantity]的文字方塊,在文字方塊的右上角的圖示,這樣可以選擇到Server上相關聯的欄位。如下圖,點開後選擇ProductName。以同樣的方式修改[ProductName]欄位,同時更正Caption

Step11>    接著,來添加一個表達式,用來計算金額=單價*數量*1-折扣)。 選中顯示資料内容的Grid,點中Grid上最後一個欄位整個Column,右鍵滑鼠選擇 插入列-〉靠右

Step12>    在添加的那個column中將Caption設定為金額,在下面的内容的文本框中,右鍵滑鼠選擇表達式。

Step13>    在打開的表達式窗口中,選擇設定表達式如下:= FormatCurrency(Fields!Quantity.Value*Fields!UnitPrice.Value*(1-Fields!Discount.Value)) 請注意:在表達式設定的窗口的下方,可以找到表達式的提示

Step14>    現在,我們來為報表添加一個群組,將同一個OrderID的資料一起顯示,同時計算出金額的加縂值。首先,在報表的下方,行組中點開table1_Details_Group右側的下拉按鈕,點擊“添加組”-〉“父組

Step15>    此時,我們可以設定分組的依據,請將該值設定為OrderID,點擊確定后在Grid的最前方會顯示

Step16>    由於添加群組后,會自動產生一個群組的OrderID的欄位,因此在原來訂單編號的欄位上右鍵,選擇刪除列。同時將新產生的Order IDCaption,修改為“訂單編號”

Step17>    選中[Quantity]右鍵滑鼠,選擇添加總計。此時在Grid中會增加一個Row,同時在 Quantity下出現Sum(Quantity)的表達式。

Step18>    最後,需要做金額的加縂,選中顯示金額加縂金額的框格,右鍵滑鼠,選擇表達式。在表達式輸入框中,輸入表達式:= FormatCurrency(Sum(Fields!Quantity.Value*Fields!UnitPrice.Value*(1-Fields!Discount.Value))) 

Step19>    完成后,將[Sum(Quantity)]文本框刪除。這樣,該報表的設計就完成了。同樣在EEPManagerSecurityManager中添加統計報表菜單項,同時將權限給予EveryOne。最後通過IE瀏覽設計完成的報表。


訊光科技系統股份有限公司

Converted from CHM to HTML with chm2web Pro 2.85 (unicode)