銳浪報表(Grid++Report)問題-子報表獲取不到父報表參數問題解決


按銳浪文檔描述,

  • Grid++Report 在內部這樣約定:當子報表在運行時,子報表中的參數會自動從主報表中同名的參數或記錄集字段中取值。利用這點特性,就可以讓子報表根據主報表的當前數據獲取子報表的數據。如果在子報表中應用參數化的查詢SQL語句,並讓應用到的參數與主報表中的參數或記錄集字段同名,這樣就自動實現了主子報表的數據關聯。
  • 另也可以在子報表的 Initialize 與 FetchRecord 報表事件中編寫程序代碼實現主子報表關聯,在事件代碼中可以獲取主報表的數據,如報表參數與字段的值,這些值可以設置到子報表上,如根據主表上的這些值作為參數獲取子報表的記錄集數據。

子報表參數可以自動獲取主報表同名的參數的值,實際情況是沒有取值。還好可以寫腳本

if (Report.ParentReport != null) {
    for (var i = 0; i < Report.Parameters.count; i++) {
        if (Report.ParentReport.ParameterByName(Report.Parameters.ItemAt(i+1).Name) != null) {
            Report.ParameterByName(Report.Parameters.ItemAt(i+1).Name).AsString = Report.ParentReport.ParameterByName(Report.Parameters.ItemAt(i+1).Name).AsString;
        }
    }
}

把腳本放至“初始化腳本”里面即可實現子報表參數獲取父報表同名參數值


免責聲明!

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



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