Stimulsoft Reports篩選數據來綁定顯示2個報表


  今天用Stimulsoft Reports做報表的時候,遇到一個問題,需要一個報表中顯示2個報表視圖,我在百度和博客園中搜索了一下,發現這方面的資料很少,我自己最后把問題解決了之后,整理了一下給大家分享一下吧。

  這種問題一般解決方法有2個:1、一張Stimulsoft Reports報表綁定2個數據源;2、一張報表綁定一個數據源,通過數據源的篩選來顯示2個視圖報表的數據。而第一種方法,現在的報表控件好像還都不支持一張報表綁定多個數據源(水晶報表和Stimulsoft Reports)都是,如果有大俠知道一張報表綁定多個數據源的方法,歡迎指教;那下面我們就詳細說說第二種實現方法,通過數據篩選來實現一張報表顯示多個視圖報表。

  首先,肯定還是要Stimulsoft Reports先綁定好你的數據源(dataset啊,視圖啊,存儲過程啊等等),而我此次綁定的數據源是查詢好數據的dataset對象,這個dataset中有你需要顯示2張報表視圖的所有字段數據,通過Stimulsoft Reports的databand數據源的篩選屬性,把一些字段為空(或者你通過三元運算符賦予的設定值)的數據排除(就是說這個dataset中有2個或多個報表數據,而2個報表的數據字段不一樣,那第一個報表中的有些字段數據在第二個報表中就肯定沒有),這樣子,你就可以顯示第一個報表時候排除掉第二個報表的數據,因為第一個報表中的有些關鍵字段,在第二個報表中顯示的數據字段值是沒有的,顯示第一個報表數據時候排除掉沒用第二個報表的數據不就是想要顯示的報表視圖嘛,同理,第二個報表也是啊,通過一些關鍵字段排除掉第一個報表數據中沒值的那些數據,就得到了第二個報表的數據啦。好吧,也許到現在,有些童鞋還在雲里霧里,那我就在下面上圖詳細給大家看一下。

  我們先來看在一張報表中顯示多個報表視圖的效果:

如果這張報表你不通過篩選來顯示這2個報表,那結果肯定是上下2個報表同時顯示了2個報表所有的11條數據,而且數據看起比較臟亂,明顯不是想要分開顯示2個報表的結果。

  在Stimulsoft Reports Designer中設計報表樣式,托出headerband、databand、footerband以及畫出對應的字段屬性中綁定這些我就不在此多說了哈,不清楚的童鞋百度哈,一大堆,這些都基本的設計綁定好之后,我們就要進行2個報表的篩選了,雙擊databand1也就是合同那個報表,廣告合同那個報表就是databand2啦。

大家看到了吧,雙擊databand1之后就會顯示這個“設置”對話框,選擇“過濾”,我設置了啟用過濾顯示“AdContractCode”(廣告合同的編號)值等於1的這些數據,因為databand1綁定的是我們合同的報表啊,而不需要顯示廣告合同的報表啊,我們綁定的dataset對象中合同相關的數據是沒有“AdContractCode”(廣告合同的編號)值的啊,有“AdContractCode”值的是廣告合同相關的數據啊,所以,“AdContractCode”值為1的數據就是合同的數據;同理,篩選出來廣告合同相關的數據。

  為什么篩除值為“1”的呢?看代碼:

dr["AdContractCode"] = charge.AdContractCode == null ? "1" : charge.AdContractCode;  值為null時候,我默認賦值為“1”。

  好了,就說到這里吧,下班快一個小時了,趕緊回家了,大家有不清楚的再留言吧。

  對了,此文為原創,如果有些童鞋覺得這篇還不錯的,歡迎轉載,同時,請加上轉載的本原文鏈接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM