如何在 rdlc 报告中为当天的日期附加 th、st、nd 和 rd?
How to append th, st, nd and rd for dates of the day in rdlc report?
我正在处理认证,我需要附加日期后缀。我尝试在 TextBox 的表达式 属性 中使用 =Day(Fields!Date.value)
,但输出只是当天的 number/date,但没有后缀。我在 Month 和 Year 中没有问题,只有当天日期的后缀。谢谢
使用 Is there an easy way to create ordinals in C#? 中的建议,您可以为您的 rdlc 报告创建一个 Custom Code
并将其与表达式一起使用。
在rdlc属性中,在代码选项卡
中添加以下函数
Public Shared Function AddOrdinal(num As Integer) As String
If num <= 0 Then
Return num.ToString()
End If
Select Case num Mod 100
Case 11, 12, 13
Return num & "th"
End Select
Select Case num Mod 10
Case 1
Return num & "st"
Case 2
Return num & "nd"
Case 3
Return num & "rd"
Case Else
Return num & "th"
End Select
End Function
然后修改你的表达式如下
=Code.AddOrdinal(Day(Fields!Date.value))
如果您可以修改您的数据集,您可以添加以下字段以将日期拆分为日、后缀和月/年:
select Cast(DAY(Date) as Varchar(2)) as MthDay, DATENAME(month, Date) + ' ' + convert(varchar(4),year(Date)) as MthYr,
CASE WHEN DAY(Date) in (1,21,31) THEN 'st' WHEN DAY(Date) IN (2,22) then 'nd' WHEN DAY(Date) IN (3,23) then 'rd' ELSE 'th ' end as Suffix
From MyData
然后您可以在报告中使用三个文本字段来显示日期,后缀文本设置为 6pt 并设置为显示在字段顶部。
或者,您可以使用一个文本字段集来允许 HTML 标签,并使用 sup 标签将这三个部分连接在一起以适当地显示后缀。
我正在处理认证,我需要附加日期后缀。我尝试在 TextBox 的表达式 属性 中使用 =Day(Fields!Date.value)
,但输出只是当天的 number/date,但没有后缀。我在 Month 和 Year 中没有问题,只有当天日期的后缀。谢谢
使用 Is there an easy way to create ordinals in C#? 中的建议,您可以为您的 rdlc 报告创建一个 Custom Code
并将其与表达式一起使用。
在rdlc属性中,在代码选项卡
中添加以下函数Public Shared Function AddOrdinal(num As Integer) As String If num <= 0 Then Return num.ToString() End If Select Case num Mod 100 Case 11, 12, 13 Return num & "th" End Select Select Case num Mod 10 Case 1 Return num & "st" Case 2 Return num & "nd" Case 3 Return num & "rd" Case Else Return num & "th" End Select End Function
然后修改你的表达式如下
=Code.AddOrdinal(Day(Fields!Date.value))
如果您可以修改您的数据集,您可以添加以下字段以将日期拆分为日、后缀和月/年:
select Cast(DAY(Date) as Varchar(2)) as MthDay, DATENAME(month, Date) + ' ' + convert(varchar(4),year(Date)) as MthYr,
CASE WHEN DAY(Date) in (1,21,31) THEN 'st' WHEN DAY(Date) IN (2,22) then 'nd' WHEN DAY(Date) IN (3,23) then 'rd' ELSE 'th ' end as Suffix
From MyData
然后您可以在报告中使用三个文本字段来显示日期,后缀文本设置为 6pt 并设置为显示在字段顶部。
或者,您可以使用一个文本字段集来允许 HTML 标签,并使用 sup 标签将这三个部分连接在一起以适当地显示后缀。