2016-07-31 117 views
1

最近,我遇到的問題的Oracle APEX 4.2.0003在交互式報表保存分頁。我有一個頁面,其中有兩個報告:第一個是Classic,第二個是Interactive,因爲他們是作爲「主 - 細節」工作的。
此外,交互式報告還包含來自視圖的數據和HTML元素,例如帶有指向模式窗口或彈出窗口鏈接的圖標。除了一件事情之外,頁面中的所有內容都可以正常工作:刷新它會導致重置「詳細信息」的分頁交互式報表,儘管全部刷新或部分(不重置Classic,「主」一個)。保存分頁中的Oracle APEX交互式報表

我試着用javascript解決問題:我寫了一些代碼,從頁面獲得當前分頁並在更新之前保存它,並且更新本身通過函數gReport.navigate.paginate進行。我可以使用這種方式,但沒有考慮到交互式報表面板中的行數比它們的數量少的情況(其中還有搜索欄等)。
解決我的問題,我在考慮,現在越來越大約從視圖APEX_APPLICATION_PAGE_IR_RPT每頁當前行計數信息的另一種方式,但我不知道如何從列interactive_report_id沒有獲得信息,而是從一個名叫report_id

當然,我有通過具有會話ID和樣的看法(它可以在交互式報表面板定製)獲取信息的領路人,但我不能說我喜歡它。

因此,我有以下問題:如何使交互式報表不以我的情況下重置分頁?是否有可能比從APEX視圖獲取信息更容易?

回答

2

這是從時間彈出來一個時間問題,這仍是先端5的一個問題,是有這樣做沒有支持的方法,即使所有它需要的是開放的API了一點,所以我們不需要破解它。
您肯定可以使用gReport.navigate.paginate,我建議採取這種做法。但請注意:它不受Oracle支持(如:未公開),並且它在apex 5中不起作用(JS的IR已重做)。然而,即使在頂點5方法仍然類似:只是「破解」它。

我不會查詢意見。您仍然需要報告中的ID並與後端進行通信,並且會創建比實際需要更多的問題。

只是弄清楚在JavaScript時,有分頁與否。

HTML的IR時,有超過每頁允許的行更多的行:

<td colspan="18" class="pagination" align="left"> 
    <span class="fielddata"> 1 - 15 of 1878 
    <a href="javascript:gReport.navigate.paginate('pgR_min_row=16max_rows=15rows_fetched=15')"> 
     <img src="/i/jtfunexe.gif" title="Next" alt="Next" align="absmiddle"> 
    </a> 
    </span> 
</td> 

HTML當有小於或等於行比量允許的:

<td colspan="18" class="pagination" align="left"><span class="fielddata"> 1 - 1 of 1 </span></td> 

所以:你可以檢查是否存在錨點。
如果是:執行您的'分頁'功能。
如果不是:請刷新。

+0

非常感謝@Tom的回答,但不幸的是,這部分內容對我很有幫助。我已經改變了我的Javascript代碼中的一些邏輯,但是當它需要重新設置分頁或在中間或開始時有一部分查詢時,它可以正常工作。要說到最後一部分查詢的情況,我有以下問題。 (不好意思,但是網站告訴我我寫的太多了,所以我不得不另外回答。) – PiggyInTheMirror

+0

讓我們在IR中使用的視圖中有8行,每頁的行數等於5.我進入查詢的「6 - 8」部分,當刷新的功能以保存模式執行時分頁,我得到「1 - 3」!儘管有函數gReport.navigate.paginate _does_接收參數6,3和3(min_row,max_row,rows_fetched),但我仍然擁有這個功能。 所以問題是:我應該怎麼做_correctrly_工作解決方法? – PiggyInTheMirror

+0

@PiggyInTheMirror你確實在調用'paginate'時遇到任何其他問題?我不知道你用什麼代碼來調用它,這可能是。執行本地刷新將按照設計重新設置爲第一頁,因此不能這樣。 – Tom

相關問題