出版物 - 如何将字符串中的作者姓名加粗?如果返回 1 个值但它是一个字符串 (=iif(Fields!Author.Value = Parameters!5aAuthor.Value, "Bold", "Normal")。示例:作者 + 年份 + 标题 + 期刊+ PMCID . Authors = Mitre, MH, Owens, R, Thompson etc...我只想加粗匹配参数值的作者。我需要分解字符串——找到作者——加粗——其他的保留为默认. 就像一个数组….
问题:
作者必须按特定顺序显示。这意味着作者可能会显示在第 1 或第 3 或第 5 或其他位置。以下是要求的内容。
我可以将其创建为一个 View ,但我仍然遇到粗体作者的问题。
例子 - Mitre, M.H.、Owens, R.、Thompson, P. 和 Berg, L.,2004 年,“糖尿病大鼠的胰岛素治疗”,J. Comp。神经学,373:350-378。
布朗,B。和 Jones J.,2005 年,“果蝇中的重复序列”,J. Mol。生物学,242:503-510。 Corman, T.、Walker, J.D. 和 Brown, B.,2006 年,“同种异体抗原耐受性的个体发育”,Am。 J. Anat., 146:156.
塞缪尔斯,J。和 Peters M.,2009 年,“RNA 病毒的分子分析”,细胞分子生物学,卷。 11、12-18。 PMCID:PMC2583929
每 2 行(示例)将放入 1 个文本框...
最佳答案
您的一般方法完全正确:
I need to break apart the string – find the author – bold it – and leave the others as default. Like an array….
听起来您想在报表级别而不是在 SQL 中执行此操作。
如果您使用的是 SSRS 2008 或更高版本,您可以在其中使用占位符,那么这就是我要实现的方式:
在报表中的数据集中创建三个计算字段。
LeftOfAuthor:
=LEFT( Fields!BigString.Value , Instr( Fields!BigString.Value , Parameters!5aAuthor.Value) - 1 )
作者:
=Parameters!5aAuthor.Value
RightOfAuthor:
=RIGHT( Fields!BigString.Value , LEN(Fields!BigString.Value) - Instr( Fields!BigString.Value , Parameters!5aAuthor.Value) + LEN(Parameters!5aAuthor.Value) )
现在将三个占位符放入您需要在其中显示的文本单元格中。按顺序设置每个字段以引用这些计算字段之一。
- 选择中间的占位符(作者)并将其加粗。
以上公式假定作者姓名在字段中的某处完全匹配。如果不是,则需要添加错误处理。它们没有以任何方式进行测试,因此可能需要一些调整。
一些替代方法包括在 SQL 中分解字符串和/或使用 HTML 编码字符串 <b></b>
用于显示的标记,然后设置 SSRS 以将其显示为 HTML。
关于arrays - SSRS Reporting Services - 字符串中的粗体字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162687/