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>
在cmdCount的KeyFields中設定此語句的key欄位,OrderID以及ProductID
Step3>
添加完成后,重新建置S001。回到vs點擊工具-〉UploadAppDomains.這樣新產生S001可以被加載
q Client端
Step1>
在Tools中找到EEP Wizard,選擇Create Web Report,表示要創建一個Web的報表工程。
Step2>
選擇所需要創建的報表類型,這裡選擇ReportViewer
Step3>
在創建報表前,先選擇所要連接的資料庫類型、資料庫的名稱。如下圖。
Step4>
接著設定用來產生ReportViewer的Web頁面程式,因此,我們需先確定WebClient所在的Web Site、與要成生於哪個Folder,最後設定要產生的aspx檔案名稱與網頁抬頭。如下:
Step5>
接著設定Client端所要的資料源,我們選擇之前Server端所產生的S001.dll的cmdCount。接著,請按Done按鈕。
Step6>
設定報表的Caption名稱,設定訂單統計
Step7>
接著再按Next後,此時Wizard會列出你所選的資料源的欄位(從xsd中得知)。最後按下Done代表結束Wizard。
Step8>
這樣Wizard會自動產生一個打開Report的Web網頁,在這個Web網頁上有一個ClientQuery的元件,可以對報表進行查詢。下面在這個WebClientQuery中添加一個查詢條件如下:(由於VS會lock住wizard產生的畫面,因此為了能修改畫面需要重啓一下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 ID的Caption,修改為“訂單編號”
Step17> 選中[Quantity]右鍵滑鼠,選擇添加總計。此時在Grid中會增加一個Row,同時在 Quantity下出現Sum(Quantity)的表達式。
Step18> 最後,需要做金額的加縂,選中顯示金額加縂金額的框格,右鍵滑鼠,選擇表達式。在表達式輸入框中,輸入表達式:= FormatCurrency(Sum(Fields!Quantity.Value*Fields!UnitPrice.Value*(1-Fields!Discount.Value)))
Step19> 完成后,將[Sum(Quantity)]文本框刪除。這樣,該報表的設計就完成了。同樣在EEPManager的SecurityManager中添加統計報表菜單項,同時將權限給予EveryOne。最後通過IE瀏覽設計完成的報表。
Related Topics