[英]How to display time value in a given string format within SSRS report?
我想在 SSRS 报告中显示持续时间我的数据库字段是 SQL 中的时间。 它转换 SSRS 中的时间跨度。
格式为:下午 1:00 - 下午 3:50
我怎样才能做到这一点?
Fields!StartTime.Value.ToString() + " PM - " +
Fields!EndTime.Value.ToString() + " PM" is not working..
这是借助 SSRS 中的Custom code
实现此目的的一种可能方法。 以下示例并未 go 详细介绍创建 SSRS 报告的详细信息,但应了解如何在 SSRS 中实现时间格式化。
分步过程:
使用SQL Scripts下提供的脚本创建一个名为dbo.Timespans
的表。 用一些数据填充它,如屏幕截图 # 1所示。
创建 SSRS 报告并使用表dbo.Timespans
作为数据源。 参考截图# 2 。
单击Report
菜单和 select Report Properties
。 Select 左侧部分的Code
选项卡。
粘贴自定义代码文本框中 SSRS 自定义代码部分下给出的代码。 单击确定。 此代码采用timeSpan
值和format
字符串。 然后它将格式化时间数据并以字符串形式返回。 参考截图# 3 。
右键单击时间列和 select Expression...
粘贴表达式=Code.FormatTimeSpan(Fields.StartTime,Value: "hh.mm tt") + " - " + Code.FormatTimeSpan(Fields,EndTime:Value, "hh:mm tt")
在Set expression for: Value
文本框中。 请参阅屏幕截图# 4和# 5 。
屏幕截图# 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:
截图#2:
截图#3:
截图#4:
截图#5:
截图#6:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.