SSRS(RDLC)報表開發的一點小技巧

來源:互聯網
上載者:User

標籤:

說明:  

開發工具為: SQL Server Data Tools     開發環境為: SQL Server 2012 

 

一. 餅圖資料外部顯示

首先我們來看3張:  內部顯示 、 外部顯示 、 3D效果-外部顯示

     

 

預設是內部顯示, 如何設定為外部顯示呢?如:

 

設定好後資料是顯示在外部了,但並沒有出現資料和圖之間的連接線條。想要顯示線條,那麼就要開啟3D效果,步驟如下:

 

二. 將數值轉為百分比顯示

如樣本一中的數值分別為: 76 , 39 ,  6 , 25 。 如果將其轉為百分比則為: 76 / (76+39+6+25) , 39 / (76+39+6+25) , 6 / (76+39+6+25) , 25 / (76+39+6+25) 。 也就是說我們要先得到總和,然後再用單個值去除以總和。具體實現如下:

 

步驟一 >  我們要修改 Series Label 的屬性, 而不是去修改餅圖的 Values。  因為餅圖的Values是只接受數字類型的值,如果你設定的值是字元類型,那麼圖餅將不會顯示。 而百分比形式的資料帶有 % 號,肯定是字元類型的。因此要手動設定展示的 Label, 而不是去設定Values。

 

步驟二 > 運算式的書寫。

 

 

此時你點儲存按鈕會彈出一個提示框,如:

這個提示框的意思就是要將 UseValueAsLabel 屬性設定為False, 我們上面Label Data 裡面寫的運算式才會生效。 因為預設是直接將從資料庫中取出的值進行展示的(數字類型),而現在我們手動設定了展示的 Label Data, 所以要將UseValueAsLabel 設定為False, 不使用直接從資料庫中取出的值。

 

步驟三 >  把資料設定為百分比格式。

 

其實我們也可以省略步驟三, 直接將步驟二中的運算式寫成如下形式就行了

=FormatPercent(Sum(Fields!Percent.Value) / Sum(Fields!Percent.Value, "PercentDS"), 2)

 

三. 表格奇偶行背景色的設定

 

實現步驟如下:

=iif(RowNumber(nothing) mod 2 = 0, "#DDDDDD", "Transparent")

 

 

四. 列印匯出的相關設定

我們在對報表進行匯出或列印是經常會遇到格式錯亂的現象,原因是我們的相關設定沒有做好。 匯出列印通常都是針對 A4 格式的紙張而言的,所以我們在進行列印或匯出之前要先對報表進行大小的設定。

 

步驟一 >

步驟二 >

 

步驟三 >

 

五. 表格行號的設定

實現如:

 

六. 自訂函數的使用

有些時候內建的函數方法並不能滿足我們的需求,那麼我們就可以自己實現一個方法,然後調用它。  舉個執行個體: 在之前的一次報表開發中,有這樣一個需求: 文字框的背景色必須是動態, 其背景色根據資料庫中存有顏色的RGB的字串的值來動態指定(如: "255,255,123")。 雖說背景色也是可以應用運算式的,但它只識別顏色名(如: Gray )和16進位格式(如: #DDDDDD)的顏色值,並不支援RGB的顏色數值。這個時候就只能自己來實現一個設定RGB顏色的函數。

 

我們的自訂函數寫在哪?

步驟一 >

 

步驟二 >

 

因為SSRS裡面應用的是VB文法,因此要想寫自訂函數,必須先學習VB文法。 實現 RGB 顏色設定的函數代碼如下:

Public Function SetRGB(paramValue As String) As String        Dim StrRGB() As String    StrRGB = Split(paramValue , ",")    SetRGB = String.Format("#{0:x6}", RGB(CInt(StrRGB(0)), CInt(StrRGB(1)), CInt(StrRGB(2))))End Function

 

函數定義好後,我們該如何調用呢?

因為自定函數都是掛在 Code 下面的,所以調用的時候必須是 Code.SetRGB() 。  運行之後的效果如:

SSRS(RDLC)報表開發的一點小技巧

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.