開發ReportViewer中遇到的一些問題

2021-06-04 16:19:07 字數 2629 閱讀 2009

1.每頁顯示多少行由report的interactivesize-height屬性決定,規則是 height=行數*0.63492 每行的高度

2.如何顯示表頭,選擇用xml格式開啟report檔案,在

after

true //加上這句話就可以了。屬性裡找不到,只可以在這裡加

3.pagecountmodel屬性

在頁面新增了reportview控制項後有乙個pagecountmodel屬性,這個屬性的有兩個值,actual和estimate。

actual是現實真實的具體頁數

estimate是也是預估的頁面,後面有乙個問號

4.如果通過頁面裡載入了這麼

也就是在頁面裡reportviewer控制項的右上角點三角載入的rdlc檔案,這樣在winform是沒有問題的,但是在web裡會出現沒有資料來源的問題,正確辦法是在查詢按鈕裡載入 rvcopyrecord.localreport.reportpath = @"rdlc\copyrecordrdlc.rdlc";

這樣就不會有那個提示了

5.報表裡增加引數,

在報表裡增加總費用,在報表工具箱裡引數資料夾下右鍵,新建引數allcost,把這個引數拖到報表裡,在頁面傳值,

double allcost =0;

reportdatasource reportdatasource = getdata(out allcost);

reportparameter r = new reportparameter("allcost", allcost.tostring());

rvcopyrecord.localreport.setparameters(r);

這樣就可以把總費用傳入報表了

6.統計功能

必須在int或者decimal欄位上菜可以加,其他的字段是first

選中報表的最後一行,選擇增加group blow 在最下面增加一行,在groupby裡輸入乙個無意義的引數,這樣會只顯示一行,如果選擇有意義的字段會出現很多行(不知道為什麼)。在右鍵最後一行的最後一列,選擇fx,進入表示式頁面,選在database,這裡列出了所有可以統計的字段,int或者decimal是sum其他的是first,在sum欄位上雙擊,這樣在上面的輸入框裡自動生成乙個表示式,這樣統計功能就生成了。

7.餅狀圖百分比,

餅狀圖里顯示的時候顯示百分比,預設的是顯示的小數如0.2(vs2010),但是希望顯示百分比,在series label propertys裡有乙個number屬性,在裡面可以設定百分比屬性,但是不知道是微軟的bug還是我自己沒有研究透,反正設定上了百分比不成功,每次開啟又變成預設值,也就是小數,

提供2種方法顯示百分比,

1),在餅狀圖上選擇百分比數字,選擇series label propertys,在label data 裡選擇fx,在裡面新增如下內容= formatpercent(countrows()/countrows("piechart"),2)(piechart是你餅狀圖的名字,預設為chart1).這樣就會顯示百分比了。

2),在series label propertys裡選擇number屬性不生效,每次開啟都變成default,但是柱狀圖裡可以設定,通過比較xml檔案發現了區別,用xml格式開啟餅狀圖的xml檔案,在chartdatapoint節點下有乙個chartdatalabel節點,在裡面加上如下** 

這樣就可以顯示為百分比了。

8.如何在餅狀圖里顯示鏈結

如果想在各個比例上單擊開啟網頁,然後傳乙個引數過去

在餅狀圖上選擇標籤然後選擇series label propertys,在url裡面選擇action,選擇url,點fx,寫入,=""+fields!paremare.value.

注意在使用url的時候必須在引用這個rdlc檔案的地方加上如下的**

rvcopyrecord.localreport.enablehyperlinks = true;

否則編譯的時候不報錯,但是執行的時候報錯

9.如何讓餅狀圖百分比在餅的外面並顯示連線

選擇餅狀圖上的datalable,然後選擇右面的屬性,在裡面選擇customerattirbutes,設定pielabelstyle=outside,pielablecolor="color"這樣就可以了

10.使用subreport控制項的問題,在父報表裡放乙個subreport控制項,將reportname屬性設定為需要顯示的子報表的名字。

1)data retrieval failed for the subreport, 'subreport1', located at: d:\work\報表開發\reportservice\reportservice.web\rdlc\productdetail.rdlc. please check the log files for more information.

這個問題是因為沒有給子報表提供資料來源,

在顯示報表的事件裡新增  reportviewer1.localreport.subreportprocessing += new subreportprocessingeventhandler(localreport_subreportprocessing);

void localreport_subreportprocessing(object sender, subreportprocessingeventargs e)

finally

}

Rdlc在reportviewer中的全屏解決方案

最近在做乙個winform專案,涉及到報表。個人不太會用水晶報表 根本不會 還是覺得微軟親兒子的rdlc好用。各種爽後發現展示在winform裡,報表內容總是顯示在左邊,無法居中。這特麼就坑爹了。網上有解決方案說設定成列印模式,rpv.zoommode zoommode.pagewidth 居中是居...

ReportViewer報表中矩陣實現行合併的方法

reportviewer報表中矩陣這個控制項除了第一列可以進行行合併之外,其他列的行沒有直接合併的功能。網上也沒有找到比較靠譜的方法,在試驗中意外發現了乙個方法 有點小缺陷 最後一列也不能合併,輸入框不會彈出 資料庫圖示 讓選擇字段!方法 1.插入列 新建乙個矩陣 預設已經存在行分組功能,否則需要先...

ReportViewer 巢狀子報表

1.aspx 頁面 reportviewer1 subreportprocessing方法繫結子報表資料來源 頁面註冊 register assembly microsoft.reportviewer.webforms,version 10.0.0.0,culture neutral,publick...