我寫幾年前的Windows應用程序最近需要一些變化(最初編寫VS2005,使用VS2008修改,現在更新/修改爲VS2012項目)。微軟VS2012報告與子報告工作在開發但沒有生活
該應用程序包含一個包含兩個子報告的Microsoft報告。子報告數據是一個數據集,在ReportViewer1.LocalReport.SubreportProcessing
事件期間填充。
一個新的字段被添加到主報告中,但子報告沒有被修改。該報告會開發PC上如預期,但對客戶端的筆記本電腦安裝的時候,子報告失敗,並顯示消息: - Data retrieval failed for the sub-report, <report name>, located at <report...rdlc>. Please check the log files for more information
沒有日誌文件都在客戶端筆記本電腦
我試圖生產手動安裝CTP 2012 Microsoft Report查看器,但安裝失敗,報告已經存在更新的版本(可能來自SQL Server Express 2012,也是同時安裝的)。
用於測試的數據庫從實時備份恢復,因此數據是相同的。子報告中添加ReportDataSource
的子報告事件包含一個try-catch塊,它不會引發任何異常
在開發過程中,當我在VS2012中打開報告時,打開一個對話框詢問他們是否應該將其更新爲我允許的2012格式,但這可能與故障無關。
有沒有人碰到這個問題?有沒有辦法強制客戶端筆記本電腦上的日誌文件的物理輸出?
UPDATE
把一些MessagesBoxes在代碼中我發現,子報告沒有處理的原因,但我現在需要找出原因。
'LocalReport_SubreportProcessing'事件爲我的報告觸發兩次 - 每次子報告一次。
爲了確定哪個子報表需要額外的數據源,我檢查'SubreportProcessingEventArgs.ReportPath'的值。在我的開發系統中,它具有報告的名稱(減去.rdlc擴展名),但在客戶端筆記本電腦上,該值爲空。
我看不到如何將報告內置到輸出中。主報告在筆記本電腦上顯示OK(只是缺少子報告),但從目前的位置來看,我不知道 - 需要更多調查!