.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 | |
總結
以上是生活随笔為你收集整理的.net 的水晶报表在push模式下的多表关联问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库中的goto语法
- 下一篇: C#文件路径操作总结