【问题标题】:How to achieve multiple reportitems in single expression?如何在单个表达式中实现多个reportitem?
【发布时间】:2015-11-23 07:33:56
【问题描述】:

我想在 rdlc 报告的标题部分的单个表达式中使用两个报告项。

我试过了,

= IIF(ISNothing(ReportItems!R.value),ReportItems!R1.value,ReportItems!R.value)

= SWITCH(ISNothing(ReportItems!R.value),ReportItems!R1.value, 
       ISNothing(ReportItems!R1.value),ReportItems!R.value)

我也尝试通过编写自定义代码功能。

但我明白了,

textrun 的 Value 表达式引用了多个报告 物品。页眉或页脚中的表达式只能引用一个 报告项目。

【问题讨论】:

    标签: c# asp.net if-statement reporting-services switch-statement


    【解决方案1】:

    你的错误告诉了你这个问题你需要知道的一切。您正在尝试引用两个报表项,而这在页眉或页脚中是不可能的。

    您是否考虑过将计算出的值放入报告正文中,然后从标题中引用?

    考虑到以下示例,我已将 RCalc 的值设置为您的表达式

    = IIF(ISNothing(ReportItems!R.value),ReportItems!R1.value,ReportItems!R.value)
    

    我还将 RCalc 的可见性设置为隐藏

    然后标题中的文本框只引用RCalc

    =ReportItems!RCalc.value
    

    因此设计看起来像这样

    当运行时给出这个输出

    这是您所追求的行为吗?这是否适用于您的情况。请告诉我是否可以进一步协助。

    更新

    当值来自不同的 Tablix 时,理论是相同的。

    假设文本框 R 和 R1 是总计行,它们可以被 RCalc 以相同的方式引用。请注意,它们不能在主行数据集中

    这样的布局在行分组/过滤之外的报表底部设置了文本框(红色文本)。它们是 R 和 R1。请注意,在输出中我已将其可见性设置为隐藏。

    这导致输出

    RCalc 可以是文本框页面上的任何位置——它不必在数据集中。

    【讨论】:

    • 乔纳斯。 R 和 R1 来自两个不同的 tablix。很抱歉没有在问题本身中说明这一点。每两个 tablix 都引用两个数据集。那么你想让我现在把 Rcalc 放在哪里?希望你现在明白我的问题。谢谢
    • 每个 tablix 中是否有 R 和 R1 静态单元格(即可能在总计行中)?
    • 不,我相信。这里它没有映射到组中而且我对这个报告概念很陌生。很抱歉。
    • 您能否使用当前布局的图像(上传到 imgur)更新您的原始问题,并标有 R 和 R1。根据您当前对问题的描述,很难知道数据来自何处
    • 您在回答中所说的是正确的。唯一的变化是,我不是从同一个 tablix 调用,而是从两个不同的 tablix 调用。像这样考虑,我有一个标题,下面有两个 tablix。这里我的问题是,在我的标题部分,一个表达式想要一个来自两个 tablix 的计算值。希望你的回答能解决我的问题。但我唯一想知道的是,将这段代码(RCalc)放在哪里?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2017-07-03
    相关资源
    最近更新 更多