專案中需要用到報表,經過技術驗證和成本方面的考慮,最後決定使用reporting service,因此在這裡把開發中的一些故事記下來,以備後用。
開發環境:vs2005,sql server 2005 sp3,這裡說下為什麼要用sp3,安全問題嘛,呵呵,如果用sp2,就會出現報表無法列印,報的錯誤是「無法載入客戶端列印控制項」,公升級成sp3就ok了。
對於形如grid的這種**,用rs來做超級簡單,直接拖拽個**就ok了。難的是中國式報表,比如下面這個:
直接用**來做比較麻煩,用矩陣來做的話,上圖中的「其中」又不好畫出來。
對這種情況,偷一下懶,先用文字框繪製靜態的部分,堆乙個**,然後用**來顯示空具體的資料
最後執行的結果
將前面的報表稍微修改下,在資料來源裡加上乙個引數,比如
select top 8 s.salesorderid, e.employeeid, e.title, s.salesordernumber, title=@title
from sales.salesorderheader as s inner join
humanresources.employee as e on s.salespersonid = e.employeeid
這裡的@title就是乙個引數,需要在執行的時候提供
在web中顯示報表可以通過ms提供的reportviewer控制項,
在控制項的標記裡可以直接設定報表所在的路徑,當然,這些都可以在**裡來實現
比如reportparameter parameter = new reportparameter("title", "test");//新增引數
listlist = new list();
list.add(parameter);
this.reportviewer1.serverreport.setparameters(list);
this.reportviewer1.showparameterprompts = false; //不顯示引數提示
執行的效果:
reportingservice 報表開發雜項
1 新增行號 rownumber nothing ssrs內建函式rownumber,這裡最主要的是傳入引數 nothing 2 行間不同背景色的設定 iif rownumber nothing mod 2,white gainsboro 通過行號模2,設定背景顏色。3 分母為0的處理 iif fi...
Reporting Service報表水印的新增
1 水印產生程式碼 using system using system.data using system.configuration using system.drawing using system.drawing.imaging watermarkcreater 的摘要描述 public cl...
Reporting Service報表空白頁問題
這幾天解決reporting service報表空白頁問題,發現幾個注意點,記錄下來以備以後參考 注意報表中包含子報表的,如果父子兩個報表都新增了分頁符則會一定會出現空白頁,所以要把子報表的分頁符去掉 還是報表中包含子報表的,在只有父報表加了分頁符的情況下如果子報表沒有資料,預設情況下也會把它佔的空...