1. 描述
在報表應用中,我們經常會用到報表頁面的刷新,比如分頁、分析、填報預覽中有數據更新時需要定時刷新,填報報表中填報成功後需要刷新,決策報表中某個報表塊需要定時的刷新等等,都會用到刷新。下面對這些刷新方法進行總結。
2. 各種刷新方法總結
2.1 手動刷新
含義:手動點擊浏覽器刷新按鈕
适用範圍:所有報表應用中
缺點:重新加載速度可能較慢,參數欄參數會初始化,需要重新填寫,用戶體驗較差。
2.2 location.reload()
含義:刷新整個報表頁面,和手動點擊浏覽器的刷新功能是一樣的
适用範圍:所有報表應用中
缺點:跟手動刷新一樣,重新加載速度可能較慢,參數欄參數會初始化,需要重新填寫,用戶體驗較差。
示例:填報成功自動刷新
2.3 contentPane.parameterCommit()
含義:重新提交參數欄參數,報表塊刷新,參數欄不會刷新
适用範圍:具有參數欄的所有報表中(包括使用了參數欄隐藏)
缺點:報表必須設置參數欄。
示例:自動查詢
2.4 contentPane.gotoPage(1)
含義:跳轉到報表第 1 頁,不管報表此時是處於第 1 頁,都會再加載一次,參數欄不會刷新
适用範圍:分頁報表,填報報表
缺點:無(沒有參數欄也可使用)
示例:自定義翻頁按鈕
注:此方法可以使用三個參數 gotoPage(pn, para, noCache),跳轉到指定頁,重新提交參數,有無緩存,使用較靈活
2.5 this.options.form.getWidgetByName("report0").gotoPage(1)
含義:獲取決策報表中名爲 report0 的報表塊,跳轉到第 1 頁,跟上面意義相同
适用範圍:決策報表
缺點:無
注:此方法可以使用三個參數 gotoPage(pn, para, noCache),跳轉到指定頁,重新提交參數,有無緩存,使用較靈活
2.6 contentPane.refreshAllSheets()
含義:刷新填報或分析報表中所有的sheet,不會刷新參數欄
适用範圍:填報報表,分析報表
缺點:如果有多個 sheet 填報,會刷新所有的 sheet,可能導緻數據丢失
示例:填報成功自動刷新
2.7 contentPane.reloadCurLGPPane()
含義:刷新填報或分析報表中當前 sheet,不會刷新參數欄,也不會影響其他 sheet 數據
适用範圍:填報報表,分析報表
缺點:無
示例:多sheet應用
2.8 contentPane.loadContentPane()
含義:加載報表内容塊,也會刷新頁面,如果參數欄有參數,會提交參數欄參數
适用範圍:分頁報表,填報報表,分析報表
缺點:如果是在填報報表或分析報表中,會刷新所有的 sheet 數據
2.9 globalForm.loadContentPane()
含義:加載報表内容塊,也會刷新頁面
适用範圍:決策報表
缺點:無