SSRS报表服务:无需HTML标签实现字符交替加粗需求求助
实现SSRS中25位字符交替加粗的方案
方案一:无HTML标签(原生SSRS格式)
完全通过SSRS原生格式功能实现,无需任何HTML标签:
- 在报表中添加一个文本框,删除默认占位符文本。
- 依次插入7个占位符,每个占位符的表达式和格式设置如下:
- 占位符1(前4位,常规字体):
字体属性设置为「常规」(不加粗)=Left(Fields!Your25CharField.Value, 4) - 占位符2(第5-8位,加粗字体):
字体属性设置为「加粗」=Mid(Fields!Your25CharField.Value, 5, 4) - 占位符3(第9-12位,常规字体):
字体属性设置为「常规」=Mid(Fields!Your25CharField.Value, 9, 4) - 占位符4(第13-16位,加粗字体):
字体属性设置为「加粗」=Mid(Fields!Your25CharField.Value, 13, 4) - 占位符5(第17-20位,常规字体):
字体属性设置为「常规」=Mid(Fields!Your25CharField.Value, 17, 4) - 占位符6(第21-24位,加粗字体):
字体属性设置为「加粗」=Mid(Fields!Your25CharField.Value, 21, 4) - 占位符7(第25位,常规字体):
字体属性设置为「常规」=Mid(Fields!Your25CharField.Value, 25, 1)
- 占位符1(前4位,常规字体):
- 调整占位符间距,确保文本连续无空隙。
方案二:单表达式实现(SSRS内置HTML标记)
如果可以接受SSRS内部的HTML渲染(无外部依赖),用一个表达式即可完成:
- 添加文本框,选中占位符打开表达式编辑器,输入以下代码(替换
Your25CharField为实际字段名):=IIF(IsNothing(Fields!Your25CharField.Value) OR Len(Fields!Your25CharField.Value) < 25, "", Left(Fields!Your25CharField.Value, 4) & "<b>" & Mid(Fields!Your25CharField.Value, 5, 4) & "</b>" & Mid(Fields!Your25CharField.Value, 9, 4) & "<b>" & Mid(Fields!Your25CharField.Value, 13, 4) & "</b>" & Mid(Fields!Your25CharField.Value, 17, 4) & "<b>" & Mid(Fields!Your25CharField.Value, 21, 4) & "</b>" & Mid(Fields!Your25CharField.Value, 25, 1) ) - 选中占位符,在属性面板中将Markup type设置为HTML,SSRS会自动解析
<b>标签实现加粗效果。
内容的提问来源于stack exchange,提问作者KostasE
相关产品推荐
相关产品推荐

