Вы довольно близки, ToString()
правильный, поскольку SSRS не знает, как работать с TimeSpans, но вам нужно будет обернуть его Format
, чтобы использовать строку формата, и преобразовать ее обратно в дату, чтобы использовать шаблоны форматирования даты:
=Format(CDate(Fields!FinishTime.Value.ToString()), "mm:ss:fff")
ИЗМЕНИТЬ:
Если ваш набор данных содержит NULL, вы не сможете использовать простой IIF(IsNothing(Fields!FinishTime.Value), Nothing, <format formula>)
, потому что IIF не закорачивает, и вы увидите #error, когда он попытается использовать функцию ToString() для NULL. Вместо этого попробуйте какой-нибудь пользовательский код (получено из сообщения на форуме MSDN):
Function FormatTimeSpan(TS as TimeSpan) as String
Dim DT as new DateTime(TS.Ticks)
Return DT.ToString("mm:ss:fff")
End Function
И назовите это так:
=IIF(IsNothing(Fields!FinishTime.Value), Nothing, Code.FormatTimeSpan(Fields!FinishTime.Value))
person
stubaker
schedule
06.08.2014