我想在SSRS报告中显示持续时间
我的数据库字段是SQL中的时间。它在SSRS中转换Timespan。
格式为:1:00 PM-3:50 PM
我怎样才能做到这一点 ?
Fields!StartTime.Value.ToString() + " PM - " +
Fields!EndTime.Value.ToString() + " PM" is not working..
最佳答案
这是借助SSRS中的Custom code
实现此目的的一种可能方法。以下示例不涉及创建SSRS报告的详细信息,但应说明如何在SSRS中实现时间格式。
分步过程:
dbo.Timespans
的表。如截图# 1 所示,用一些数据填充它。 dbo.Timespans
作为数据源。请参阅屏幕快照# 2 。 Report
菜单,然后选择Report Properties
。选择左侧部分的Code
标签。 timeSpan
值和format
字符串。然后,它将格式化时间数据并以字符串形式返回。请参阅屏幕快照# 3 。 Expression...
将表达式 =Code.FormatTimeSpan(Fields!StartTime.Value, "hh:mm tt") + " - " +
Code.FormatTimeSpan(Fields!EndTime.Value, "hh:mm tt")
粘贴到Set expression for: Value
文本框中。请参阅屏幕截图# 4 和# 5 。 希望能有所帮助。
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:
截屏2:
截屏#3:
截图#4:
截屏#5:
截图#6:
关于datetime - 如何在SSRS报告中以给定的字符串格式显示时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6305106/