zoukankan      html  css  js  c++  java
  • .net 的水晶报表在push模式下的多表关联问题

    最近忙于用水晶报表来设计各种报表,都是采用push模式
    设计一个报表的基本情况是这样的:
    1 创建一个Dataset
    2 在该DataSet中手工创建一个或多个表结构,纯手工创建;
    3 创建一个rtp文件;
    4 通过DataBaseExpert导入刚才创建的DataSet;
    5 在报表设计的过程中使用这个数据集;

    现在我有一个报表的格式是这样的,所以我打算在DataSet中为A,B,C三相各创建一个表。
     

    参数

    A

    B

    C

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    总有功(kW)

    三个表的结构相同,都包含以下字段:
    RowName;
    MaxValue float;
    MaxValueTime DateTime;
    MinValue float;
    AvgValue float;
    ProValue float;

    在将这个数据集导入到rtp文件的过程中,expert会要求关联,第一次我把所有的这些link都删除了。虽然删除了关联,可是这些数据集还是可以添加到rpt文件中。但是在报表设计好并运行的过程中问题就出现了。
    假如现在A表的值为以下两列:
    总有功(kW), 100, 2006-11-11 22:22:22, 10, 50, 75 
    总有功(kW), 100, 2006-11-11 22:22:22, 10, 50, 75 
    B表和C表的值也相同,按照正常来说,应该显示为
      
     

    参数

    A

    B

    C

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    总有功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总无功(kVar)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100


    可是实际上却显示为,共为8行:
     

    参数

    A

    B

    C

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    总有功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总无功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

     

    总有功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总无功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总有功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总无功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总有功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总无功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100


    于是我怀疑是因为在database expert导入Dataset的过程中我删除了link的缘故,所以我决定重新导入Dataset;
    首先通过database expert删除原来导入的dataset,然后在DataSet中将Row设置为主键,然后用Database expert重新导入这个DataSet,在设置关联的时候,把其他所有的关联都删除,只剩下主键之间的关联。
    然后再运行原来的程序,就出现了预期中的结果:
     

    参数

    A

    B

    C

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    最大值

    最大值时刻

    最小值

    平均值

    95%

    率值

    总有功(kW)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    总无功(kVar)

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

    100

    2006-11-11 22:22:22 

    10 

    50 

     100

  • 相关阅读:
    【SpringBoot1.x】SpringBoot1.x 安全
    WebStorm快捷键(Mac版)
    iOS 容联离线消息推送
    iOS使用TestFlight进行内部和外部人员测试
    iOS Runtime常用方法整理
    模仿斗鱼直播
    一个很好用的侧滑框架ICSDrawerController实现的 QQ 侧滑及换肤功能
    swift3.0 项目引导页
    使用 swift3.0高仿新浪微博
    swift 监听键盘弹出的高度
  • 原文地址:https://www.cnblogs.com/strinkbug/p/531463.html
Copyright © 2011-2022 走看看