【问题标题】:Alternate colors on only visible details in Crystal Reports仅在 Crystal Reports 中可见的详细信息上使用交替颜色
【发布时间】:2016-03-23 04:45:42
【问题描述】:

我的抑制记录公式中有以下公式:

if {status.code} in ['1LS','2LS','3LS','PCA','BIR','BTS','CCC','COD','FAC','IAP','IBP',
  'IND','INF','INP','INR','ISN','LOC','LS2','MIN','NAR','NAU','PPL','RSR','RTS','SLD',
  'SSP','SUS','UPD'] then
    true
else
    false;

然后在我的着色公式中,我有经典:

If RecordNumber Mod 2 = 0 Then 
    crSilver 
else
    crNoColoR

问题是颜色不是交替的,因为它引用了所有状态代码,而不仅仅是可见的。关于如何让可见的颜色交替着色有什么想法吗?

【问题讨论】:

  • 为什么不直接从报告中删除这些状态代码?

标签: crystal-reports suppress alternate


【解决方案1】:

内置特殊字段RecordNumber 将为您提供从数据库中获取的记录编号,无论它是否被抑制。您可以仅为可见记录创建自己的记录计数器,然后根据该计数器着色。

  1. 创建一个公式字段 ff_MyRecNo 并将其值与您的记录抑制公式一起设置为:

    WhilePrintingRecords;
    if {status.code} in ['1LS','2LS','3LS','PCA','BIR','BTS','CCC','COD','FAC','IAP','IBP',
      'IND','INF','INP','INR','ISN','LOC','LS2','MIN','NAR','NAU','PPL','RSR','RTS','SLD',
      'SSP','SUS','UPD'] then 
        // ignore suppressed records
    else
        // count other records
        numberVar recNo := recNo + 1;
    
  2. ff_MyRecNo 放在Details 部分并隐藏它。
  3. 将您的备用着色公式更改为:

    WhilePrintingRecords;
    if {@ff_MyRecNo} mod 2 = 0 then
        crSilver
    else
        crNocolor
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多