2011-06-10 17 views

回答

16

以下是在SSRS中通過Custom code幫助實現此目的的一種可能方法。下面的例子沒有涉及創建SSRS報告的細節,但應該瞭解如何在SSRS內實現時間格式。

步一步的過程:

  1. 創建一個使用下SQL腳本提供的腳本命名dbo.Timespans表。如屏幕截圖#所示填充一些數據。

  2. 創建一個SSRS報告並使用表dbo.Timespans作爲數據源。請參閱屏幕截圖#。

  3. 點擊Report菜單並選擇Report Properties。選擇左側部分的Code選項卡。

  4. 將自定義代碼文本框中的SSRS自定義代碼部分下的代碼粘貼。點擊確定。此代碼採用timeSpan值和format字符串。然後它將格式化時間數據並作爲字符串返回。請參閱屏幕截圖#。在時間欄

  5. 右擊並選擇Expression...Set expression for: Value文本粘貼表達=Code.FormatTimeSpan(Fields!StartTime.Value, "hh:mm tt") + " - " + Code.FormatTimeSpan(Fields!EndTime.Value, "hh:mm tt")。請參閱屏幕截圖#和#。

  6. 截屏#顯示執行報告。

希望有所幫助。

SQL腳本:

CREATE TABLE [dbo].[Timespans](
    [Id] [int] IDENTITY(1,1) NOT NULL, 
    [StartTime] [time](7) NULL, 
    [EndTime] [time](7) NULL, 
CONSTRAINT [PK_Timespans] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY] 
GO 

SSRS自定義代碼:

public function FormatTimeSpan(timeSpanValue as TimeSpan, format as string) as string 
    Dim dateValue as DateTime 
    dateValue = new DateTime(timeSpanValue.Ticks) 
    return dateValue.ToString(format) 
end function 

截圖#1:

1

截圖#2:

2

截圖#3:

3

截圖#4:

4

截圖#5:

5

截圖#6:

6

+0

+1非常完整的答案。 – gbn 2011-06-12 07:45:13

+0

謝謝你這麼多西瓦:) – Touseef 2011-06-13 05:40:17

+0

@siva +1這是非常非常好的非常感謝你 – 2012-06-06 15:53:03

相關問題