2016年12月20日 星期二

【Reporting Service】ReportViewer doesn't seem loaded show whole blank without exception

改報表的時候 ReportViewer 載完整個是白的,也沒錯誤訊息。

查 SO,可以造成這個狀況的因素也太多了吧...
我碰到的是報表參數裡有不允許 Null 與空字串的參數,但卻傳入了空字串結果就壞了,還不會丟錯誤訊息。

1. Fer R 在 SO
提供了一個不錯的方法找到底是哪個參數沒過,以下是基於他建議的進一步改寫
var parameters = ReportView1.LocalReport.GetParameters()
    .Where(param => param.State == ParameterState.MissingValidValue).AsEnumerable();
// elements in parameters should be allowed null or "", otherwise correct value must been set.


不是上述問題的可以嘗試以下

2. 在 aspx 中 ReportViewer 屬性 AsyncRendering to False

3. 沒有正確的 refresh
ReportViewer1.LocalReport.Refresh()
// or ReportViewer1.ServerReport.Refresh()

4. 修正無法正確顯示的 ReportViewer 高寬,如 height 被設成 100% 之類的。

※ 09/14/2017 補充
找出隱含的錯誤訊息
Tools > Options > Debugging > General
取消選取 Enable Just My Code

ref:SO

沒有留言:

張貼留言