ssrs-2012 – 动态更改SSRS中单个字符的字体大小

在Visual Studio 2012中使用SSRS我目前在报表标题中有以下表达式.

=ReportItems!FirmName.Value

这正确地从报告正文中提取了Client1,Client2,Client3等公司名称.

但是,如果ReportItems!FirmID = 600,我需要公司名称中第一个字符的字体大小比其他字符大.

这是因为特定客户的徽标中第一个字符比其他字符大.

我尝试了以下表达式,我知道这是错误的,但可能会说明我正在尝试做什么.

=IIF(ReportItems!FirmID.Value = 600,LEFT(ReportItems!FirmName.Value,1), "18pt", ReportItems!FirmName.Value))

所以说client3有FirmID 600,结果应该是这样的,你可能需要运行代码片段看看我的意思…

<html>

<body lang=EN-US style='tab-interval:.5in'>

<div class=WordSection1>

<p class=MsoNormalCxSpFirst>Client1<o:p></o:p></p>

<p class=MsoNormalCxSpMiddle>Client2<o:p></o:p></p>

<p class=MsoNormalCxSpLast><span style='font-size:20.0pt;line-height:115%'>C</span>lient3</p>

</div>

</body>

</html>

我试过伊恩的建议

我认为它正在工作,但我还不能让它工作.我可以在报告正文中使用它,但还有其他复杂情况.字体大小更改需要在报表头中,这需要通过ReportItems引用报表正文!您不能引用多个ReportItems!在报告标题中,您会收到如下错误

textrun Textbox12的值表达式指的是多个报表项.页眉或页脚中的表达式只能引用一个报表项.

还有一个问题,我应该在我的原始条目中澄清这一点.实际的客户名称是这样的.

客户&协会

两个首字母都需要更大,但不是它们之间的符号.

<html>

<body lang=EN-US style='tab-interval:.5in'>

<div class=WordSection1>

<p class=MsoNormal><span style='font-size:22.0pt;line-height:115%'>C</span>lient
&amp; <span style='font-size:18.0pt;line-height:115%'>A</span>ssociates</p>

</div>

</body>

</html>

最佳答案 您可以通过在同一文本框中创建几个文本占位符,在这些文本框之间拆分文本并仅将字体大小表达式应用于第一个占位符来实现此目的.

有关概述,请参见Formatting Text and Placeholders.

在一个简单的数据示例中:

我有一个简单的表来显示这个:

注意有两个<< Expr>>最后一列中的值 – 我在此文本框中添加了另一个占位符.

我在这些占位符之间拆分了FirmName;在第一个:

=Left(Fields!FirmName.Value, 1)

在第二个:

=Right(Fields!FirmName.Value, Len(Fields!FirmName.Value) - 1)

尽管文本分为两个表达式,但在运行报表时看起来很好:

由于每个占位符都可以有自己的格式,因此我们可以在第一个占位符上将类似下面的表达式应用于FontSize:

=IIf(Fields!FirmID.Value = 600, "15pt", "10pt")

即增加公司600的第一个字母的字体大小,这给我们提供了所需的结果:

    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞