在水晶报表中添加条件行
Posted
技术标签:
【中文标题】在水晶报表中添加条件行【英文标题】:Add a conditional row in crystal report 【发布时间】:2021-02-24 21:58:24 【问题描述】:我正在开发一个 C# 应用程序,该应用程序将使用热敏打印机打印账单/收据。我正在使用 Crystal Reports 来生成报告/账单。
我希望报告有 4 个字段(项目名称、数量、金额、折扣)。有时可能会有折扣,否则不会。这个报告的格式应该是这样的(参考见this)
| Item Name | Qty | Amount$ |
|---------------------------|
| Abc | 1 | 100 |
| You Saved 4$ | |
|---------------------------|
| Def | 1 | 50 |
|---------------------------|
从表中可以看出,Item = Abc 有折扣,因此折扣行(您节省了 4 美元)存在,对于 Item=Def 没有折扣,因此该行不存在。
我怎样才能达到这样的效果?
编辑已解决。
【问题讨论】:
我们需要查看您的相关代码 sn-p 以及您自己解决此问题的最佳尝试。你有错误吗?还是输出不符合您的预期?请编辑您的问题并添加详细信息。 这更像是一个设计的东西,我只需要一些关于这个(我想要的东西)实际被调用的指针。水晶报表中有一个交叉表选项,但我没有交叉表与我想要的有关。 @huzaifa99 考虑更改 SQL 查询(而不是名为“折扣”的列)“折扣”的值作为换行符添加到“项目名称”中列(存在折扣时) - 并按照 devlin carnate 告诉您的操作:add your relevant code snippet and your best attempt at resolving this yourself
,否则,就像您的问题一样,很难添加想法和更准确的答案。
【参考方案1】:
不需要额外的列。 右键单击详细信息部分,然后选择“在下面插入部分”。 这应该会导致 Detail a(放置正常内容的位置)和 Detail b 部分(放置折扣信息的位置。
在细节 b 的 Suppress 表达式中有一个表达式,例如:
Discount = 0
这将导致该部分仅在折扣不为零时可见。
【讨论】:
这是结果的样子,忽略它们都是虚拟的值。 pdfhost.io/edit?doc=fe33a0b0-c809-4472-951b-e81a5999b8e6【参考方案2】:这可能不是您案例的完整答案,但它通常适用并给您一个想法。
您可以有条件地抑制乐队。 我认为您将数据集传递给报告。如果是这样,请向您的数据集添加一个新列。对于每一行,该列应定义是否需要抑制波段。并在您的条件下使用该列来抑制乐队。
【讨论】:
以上是关于在水晶报表中添加条件行的主要内容,如果未能解决你的问题,请参考以下文章