在 s-s-rS 报告中显示上标
Posted
技术标签:
【中文标题】在 s-s-rS 报告中显示上标【英文标题】:Display Superscript in s-s-rS reports 【发布时间】:2011-06-13 12:25:32 【问题描述】:我正在研究 s-s-rS 2008。 我想将日期显示为 1st January 2011.. 但是“st”应该是superscipt .. 不像“1st”。
有什么方法可以在不安装任何自定义字体类型(其他字体类型)的情况下在 superscipt 中显示“st”、“nd”、“rd”和“th”。
【问题讨论】:
【参考方案1】:只需从以下列表中复制和粘贴:
ABC⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ABC₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎
ABCᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ
ABCᴬ ᴮ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴿ ᵀ ᵁ ᵂ
ABCₐ ₑ ᵢ ₒ ᵣ ᵤ ᵥ ₓ
ABC½ ¼ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ № ℠ ™ © ®
ABC^ ± ¶
【讨论】:
大写的 C,F,S... 有没有上标的原因?【参考方案2】:也许……
您仅限于使用String.Format 完成的操作。字体大小和间距也指整个文本框。所以它不是“原生的”
但是,superscript is unicode 所以你可以用一些连接字符的花哨的表达式来做到这一点。我建议使用自定义代码。
这个我没试过,但是这些文章都提到了
http://beyondrelational.com/blogs/jason/archive/2010/12/06/subscripts-and-superscripts-in-s-s-rs-reports.aspx http://www.codeproject.com/KB/reporting-services/s-s-rSSuperscript.aspx【讨论】:
2008年,您可以将占位符格式设置为html,并在您的格式中使用某些HTML标签(例如="Some <b>bold</b> text"
作品);我不知道这是否包括<sup>
,或者可能是你可以设计的<span>
,因为我只是在2005年。
Guyz .. 它只适用于 0-9 ......我需要 "st" 、 "th" 、 "nd" .. 我知道上标......我需要了解单词我提到的 .. 我不需要 0-9 或 n 作为上标 ..
@Touseef:那么不,你不能这样做【参考方案3】:
我不是在这里寻找信用,因为上面的解决方案已经为你回答了,但为了初学者,我在我的报告中使用了一个代码函数。
所以在我的 SQL 中说我有 Number 字段,然后我添加一个新字段 OrdinalNumber:
SELECT ..., Number,
CASE WHEN (Number % 100) BETWEEN 10 AND 20 THEN 4
WHEN (Number % 10) = 1 THEN 1
WHEN (Number % 10) = 2 THEN 2
WHEN (Number % 10) = 3 THEN 3
ELSE 4 END AS OrdinalNumber,
...
然后我的代码函数:
Function OrdinalText(ByVal OrdinalNumber As Integer) As String
Dim result As String
Select Case OrdinalNumber
Case 1
result = "ˢᵗ"
Case 2
result = "ⁿᵈ"
Case 3
result = "ʳᵈ"
Case Else
result = "ᵗʰ"
End Select
Return result
结束函数
然后在报告文本框中我使用表达式:
=CStr(Fields!Number.Value) & Code.OrdinalText(Fields!OrdinalNumber.Value)
【讨论】:
以上是关于在 s-s-rS 报告中显示上标的主要内容,如果未能解决你的问题,请参考以下文章