我在下面有文本框表达式,结果如下所示:
Newtoy-Oldtoy-Notoy
我可以使所有文本变为蓝色,但我希望“破折号”(-)变为黑色。
我的表情不正确。您能帮忙看看有什么问题吗?谢谢。
="font color = 'blue' size = '1'"
& iif(First(Fields!ID.Value, "DataSet2") = " " ,"None", First(Fields!ID.Value, "DataSet2"))+ "/font",
= iif(First(Fields!ID.Value, "DataSet2") = "-" ,"black", "blue",
这是填充数据集的查询:
SELECT STUFF((SELECT CAST(b.branch as varchar) +' '+ ' | ' +' '
FROM printers p
full join branch b on p.branchid = b.branchid
where p.printername is null
order by b.branch FOR XML PATH(''), TYPE).value('.', 'varchar(max)'),2,1,'');
答案 0 :(得分:1)
好的,现在我知道了为什么要格式化数据了,我找到了一个适合您的解决方案。基本上,要使此工作有效,您需要将数据集中的查询修改为以下内容:
SELECT CAST(ISNULL(b.branch, 'None') as varchar)
FROM printers p
FULL JOIN branch b ON p.branchid = b.branchid WHERE p.printername IS NULL
ORDER BY b.branch
这将提供b.branch
值,以便它们可以在SSRS中以每个值之间的字体格式结合在一起。它还使用NULL
函数计算ISNULL
的值,该函数将检查每个ID
并在返回值时选择NULL
的值作为None
。
表达式应以设置为蓝色的字体颜色开始。接下来,您将需要使用两个SSRS函数,LookupSet
将返回数组中Fields!ID.Value
的所有值,我们可以使用Join
将其放入一个字符串中。 Join
需要连接的值和分隔符,在这种情况下,这是您正确设置文本颜色格式的机会。用"</font><font color = 'black' size = 1>-</font><font color = 'blue' size = 1>"
分隔将关闭第一个<font>
标签,该标签应使第一个ID
蓝色,插入黑色破折号,并为下一个{{1 }}, 等等。最后,您添加了一个结束<font>
标签,以将最后一个ID
涂成蓝色。
</font>
我已经对此进行了测试,它似乎可以正常工作。但是,您需要确保在标记类型设置为HTML的占位符中使用此表达式,以将HTML标签解释为样式才能起作用。
这是当我使用上面的表达式以浅色来演示时的外观示例: