arrays - SSRS Reporting Services - 字符串中的粗体字

标签 arrays function reporting-services contains ssrs-expression

出版物 - 如何将字符串中的作者姓名加粗?如果返回 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 或更高版本,您可以在其中使用占位符,那么这就是我要实现的方式:

  1. 在报表中的数据集中创建三个计算字段。

    1. LeftOfAuthor:

      =LEFT( Fields!BigString.Value , Instr( Fields!BigString.Value , Parameters!5aAuthor.Value) - 1 )

    2. 作者:

      =Parameters!5aAuthor.Value

    3. RightOfAuthor:

      =RIGHT( Fields!BigString.Value , LEN(Fields!BigString.Value) - Instr( Fields!BigString.Value , Parameters!5aAuthor.Value) + LEN(Parameters!5aAuthor.Value) )

  2. 现在将三个占位符放入您需要在其中显示的文本单元格中。按顺序设置每个字段以引用这些计算字段之一。

  3. 选择中间的占位符(作者)并将其加粗。

以上公式假定作者姓名在字段中的某处完全匹配。如果不是,则需要添加错误处理。它们没有以任何方式进行测试,因此可能需要一些调整。


一些替代方法包括在 SQL 中分解字符串和/或使用 HTML 编码字符串 <b></b>用于显示的标记,然后设置 SSRS 以将其显示为 HTML。

关于arrays - SSRS Reporting Services - 字符串中的粗体字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14162687/

相关文章:

excel - SSRS 2008 R2 全局!RenderFormat.Name=EXCELOPENXML

javascript - Express Subscribe 调用中的 JSON 数组出现 Angular HTML 绑定(bind)错误

c - 与**字符**一起使用时作为参数的数组 VS 与**整数**一起使用时

java - 将 String[] 拆分为另外两个 String[]

javascript - 如何动态地将函数附加到对象

为随机数二维数组创建函数

sql - 处理 SQL Server 中的 Null 值和重复记录

c++ - 类成员数组 : invalid type for array subscript 的实现

python反向列表递归,仅使用

reporting-services - 基于列值的渐变填充