C#報表ReportViewer and RDLC

【ReportViewer】

http://msdn.microsoft.com/zh-HK/library/ms252130(v=vs.80)

您可以將自訂函數加入報表中,或加入對於外部組件函數的參考。當編譯專案時,會自動參考下列組件:Microsoft.VisualBasic、System.Convert 和 System.Math。您可以利用 [報表屬性] 對話方塊,或報表定義中的 CodeModules 元素來參考其他組件。您也可以利用 [報表屬性] 對話方塊來定義自訂函數。若要在報表定義中定義自訂函數,請使用 Code 元素。請注意,您無法將資料值集傳給函數 (明確地說,不支援自訂彙總)。

您可以撰寫自訂程式碼,供整份報表的運算式使用。您可以利用兩種方式來執行這個動作:將程式碼內嵌在報表內,或參考自訂組件內的方法。請將內嵌程式碼用在複雜函數或在單一報表內重複使用的函數上。請利用自訂組件,將程式碼維護在單一位置,並供多份報表使用。內嵌程式碼:若要在報表內使用程式碼,請在報表中加入一個程式碼區塊。這個程式碼區塊可以包含多個方法。內嵌程式碼中的方法必須用 Microsoft Visual Basic 來撰寫,且必須是以執行個體為基礎。內嵌程式碼中的方法是透過在全域範圍內定義的 Code 成員來使用。您藉由參考 Code 成員和方法名稱來存取它們。下列範例會呼叫將 StandardCost 欄位值轉換成美金值的 ToUSD 方法:=Code.ToUSD(Fields!StandardCost.Value),在 [報表] 功能表中,按一下 [報表屬性],在 [程式碼] 索引標籤的 [自訂程式碼] 中,輸入程式碼。

自訂組件:若要在報表中使用自訂組件,您必須先建立組件,將它提供給您的專案,並在報表中加入對於這個組件的參考,之後,在報表內利用運算式來參考這個組件內的方法。當報表部署到報表伺服器時,您也必須將自訂組件部署到報表伺服器。在 [報表] 功能表中,按一下 [報表屬性]。在 [參考] 中,按一下新增 ([...]) 按鈕,再從 [新增參考] 對話方塊中選取或瀏覽到組件。在 [類別] 中,輸入類別的名稱,再提供報表內所要使用的執行個體名稱。

若要在運算式中參考自訂程式碼,您必須在組件內呼叫類別的成員。如何執行這個動作,會隨著方法是靜態方法或以執行個體為基礎的方法而不同。自訂組件內的靜態方法適用於報表內的全域範圍。您可以在運算式中,利用命名空間、類別和方法名稱來存取靜態方法。下列範例會呼叫將 StandardCost 欄位值從美金轉換成英鎊的 ToGBP 方法:=CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)以執行個體為基礎的方法是透過在全域範圍內定義的 Code 成員來使用。您藉由參考 Code 成員,再參考執行個體和方法名稱來存取它們。下列範例會呼叫將 StandardCost 欄位值從美金轉換成歐元的執行個體方法 ToEUR:=Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)

【RDLC】

http://msdn.microsoft.com/zh-tw/library/ms252067(v=vs.80).aspx

建立用戶端報表定義檔案(.rdlc)

ReportViewer 控制項支援本機處理模式,可讓您利用控制項的內建處理功能來執行用戶端報表定義檔案 (.rdlc)。

InteractiveHeight Element (RDL)  Specifies the default width of a report that is rendered using a rendering extension that supports user interactivity (specifically, the HTML rendering extension).指定寬度

建立報表的方式有兩種:您可以將報表項目加入應用程式專案中。當您從 [專案] 功能表中選取 [加入新項目] 時,您可以選擇 [報表] 範本,從空白報表建立報表配置;您可以在設定 ReportViewer 控制項時,按一下 [設計新報表]。這會開啟一份空白報表。

1、建立使用的資料來源

2、建立專案中所要使用的報表定義檔案 (.rdlc)

3、從 [工具箱] 中,將資料表、文字方塊、矩陣、報表或圖表加入空白報表中,以定義報表配置。這些項目稱為資料區域。資料區域會繫結到資料來源。明確地說,您要將資料區域中的每個資料格對應到資料來源中的欄位

4、加入樣式、格式、影像、框線、頁首、頁尾、排序和其他報表功能來完成報表

5、選取將包含控制項的表單或頁面,在圖形設計模式中,將 ReportViewer 控制項加入網頁或表單中,在頁面或表單中,將控制項定位,調整控制項大小;在 [ReportViewer 工作] 智慧標籤面板中,選取您為了將報表繫結到控制項而建立的用戶端報表定義檔案 (.rdlc)。

若要預覽報表,您可以建立或部署應用程式。您只能藉由在 ReportViewer 控制項中執行報表來預覽報表。.rdlc 檔並沒有專用的個別預覽模式。請注意,您隨時可以開啟和編輯報表定義,然後再建立或部署應用程式來檢查結果

时间: 2024-10-05 04:58:37

C#報表ReportViewer and RDLC的相关文章

用FineReport報表系統構建重慶江津區疾病預防控制信息系統

前言 一場自下而上的改革嘗試 這篇文章剛開始動筆的時候,恰逢剛接到衛生部專家即將來津對我區基本公共衛生服務以及一系中轉項目的工作現況.資金使用情況進行檢查的通知.誠然我區的工作現況不便在此進行評說,但是,做為迎檢的大頭戲――「國家基本公共衛生服務項目」 ――也是我國公共衛生制度建設的重要組成部分,卻一直以來都是困繞各級衛生行政部門和基層醫療機構老大難問題:各種讓人眼花潦亂的考核指標.紛繁複雜的業務流程,再加上沒有可以參考的工作模式以及各自為戰的軟體.平台,工作的開展難度和進展可見一斑. 雖然今年

在FineReport報表軟體中實現分發逐級上報

什麼是分發逐級上報 分發逐級上報是指任務流程是先從上級到下級,然後下級再逐級上報回上級,即上級部門將任務下發下來,下級部門收到任務之後,逐級上報,直至回到下發任務的上級部門,然後再繼續原來的任務. 比如說公司領導想要查看本月的銷售情況,而現在資料庫中暫時還沒有銷售數據的存在,那麼就可以創建一個銷售數據上報的流程,讓各個銷售員將銷售數據上報上來,如果公司銷售人員不多,那麼就可以使用聯合填報上報,直接為每個銷售人員綁定上報任務,但是當公司人員很多的時候,大家並不知道每個銷售人員的具體情況,那麼此時就

第三方報表工具的選擇

在報表產品還不夠成熟的時候(其實任何產品都有這種階段,包括資料庫.應用伺服器等,甚至操作系統),開發商常常只能自己編寫代碼完成所有的報表製作:由於 報表是非常頻繁的工作,有些開發商甚至專門組建一支隊伍開發出自用的報表工具:隨著通用化的報表產品日趨成熟,越來越多的開發商也開始採用專業的第三方產 品來製作報表.那麼,這三種處理方案倒底哪種更為合適?顯然,所有的報表產品廠商都會無一例外地說社會需要專業化的分工,應當採用第三方產品.但真是這樣的嗎?其實,任何選擇都和應用環境相關,脫離了環境的討論其實是沒

報表開發常識普及之java報表工具的採購成本

一般情況下,java報表開發工具在一個開發項目中占的比例大概是 10% 左右,最近又有上升的趨勢,在總體統計項目中報表的開發量大的能佔到20%.下面的計算還是以10%為標準,每人月的成本按2.5萬計算. 以一個100萬的軟體開發項目為例,java報表開發工具的工作量佔總工作量的10% ,即開發成本為 10萬元.以2.5萬/人 來計算,這個項目需要用4個人月 來完成報表開發工作.在實際的項目中,這 10 萬元有以下幾種方式分攤: 集成商的代碼積累+程序員按項目定製 即純手工編寫代碼.這裡又分兩種情

多數據源報表

多數據源,就是在同一張報表當中,顯示的數據來自於多個不同的表或不同的庫.如下圖一張簡單的多數據源報表,左側藍色部分來自於銷量表,右側黃色部分來自銷售總額表,即數據來自於兩張不同的資料庫表.多數據源報表傳統的做法,是通過拼SQL將多源整合為單源.如上例中將銷量表與銷售總額表整合起來:SELECT * FROM [銷量],[銷售總額] WHERE [銷量].銷售員 = [銷售總額].銷售員 .若資料庫表比較負雜,且使用的表個數不止2張而是更多時,可以想像,最終的SQL查詢語句將會非常複雜.FineR

用FineReport報表系統構建財政資金和公共資金監管系統

一.應用背景 在電子化的社會,政府作為國家的權力中心和社會管理機構,在加入WTO後,將實現從管理型到管理服務型的轉變.政府機構在管理和規範國家政治經濟活動之外,將藉助強大的網路技術,把更多的時間和精力,投入到社會公眾服務中去.社會信息資源和各種政策法規不再會塵封庫中或者層層傳達,而將通過網路在第一時間與公眾會面,通過網路,政府可以廣納賢言,迅速了解社會政治經濟的發展動態,甚至是來自社會最底層的信息,並以此做出及時準確的決策,這對更好的促進經濟建設和社會穩定,好處不言而喻.按照地方政府機關提出推進

從10-K財務報表看VMware真實業績

美國證券交易委員會(簡稱SEC)公布了VMware的Form 10-K文件,每一家上市企業都需要在這份毫無保留的財務報表文檔中如實描述運營狀態的各方面細節.相對於經過精心措辭的年度報告,Form 10-K顯然更加平實客觀,也因此能為我們帶來更為可信的企業業績結論. 發掘VMware公司CEO內心深處的秘密 那麼VMware在這份10-K文檔中寫下了哪些內容? 其中最有趣的部分來自「風險因素」一節,虛擬巨頭指出「隨著市場對我們計算機虛擬化產品的逐漸熟知,我們已經開始越來越多地開發並銷售以雲解決方案

JAVA報表finereport二次開發的JS使用說明

一.概述 隨著FineReport的發展,它提供的設計器和伺服器應該能夠滿足您絕大部分的需求,完全實現零編碼的軟體開發,革命性地加快軟體開發速度,提高軟體穩定性.但是需求是千變萬化的,而FineReport所包含的功能是報錶行業中比較普遍的典型的,也許某些個性化的功能通過FineReport軟體無法實現.為此,FineReport支持應用開發人員使用網頁腳本.API介面等對FineReport進行深入的開發與控制,以滿足其個性化的需求.當然,如果您發現您的某個需求必須要編程來實現,建議您先給我們

FineReport報表成功應用於甘肅電信

近日,FineReport可謂喜事連連,繼中國電信.中國網通.中國鐵通之後,再次攜手合作夥伴為大型國有通信企業服務. 中國電信集團公司是按國家電信體制改革方案組建的特大型國有通信企業,是中國最大的基礎網路運營商,擁有世界第一大固定電話網路,覆蓋全國城鄉.通達世界各地,成員單位包括遍布全國的31個省級企業,在全國範圍內經營電信業務. 中國電信股份有限公司甘肅分公司是中國電信股份有限公司在甘肅省境內設立的省級公司,是甘肅省最大的基礎網路運營商和綜合信息服務提供商.中國電信甘肅公司於2004年3月10