我們正在編寫一些代碼來控制從Tridion Broker數據庫查詢(使用API)返回的結果的分頁。Tridion分頁 - 獲取結果總數
我們使用的是SDL Tridion 2011 SP1,並且可以使用PagingFilter獲取所選頁面上組件的tcmIds。
但是,在寫出分頁控件時,我們需要知道結果的總數(以確定將有多少頁)。有沒有一種更有效的機制來完成這個工作,而不僅僅是爲'全部'結果運行一個單獨的查詢並對字符串數組返回一個.Length? (顯然你只會運行這個查詢一次,並保持該值,因爲用戶點擊頁面之間)
如果我們得到所有的結果,那麼爲什麼我會打擾使用PagingFilter,當我們可以只處理返回的信息在'全部'查詢中?
很多感謝, 喬納森
注意:有可能會是一個最大的2000個結果返回的任何一種類型的。
我知道前內容交付返回的對象被緩存,但現在(完全匹配)代理查詢被緩存(自Tridion 2011?) - _也許_可能是使用特定過濾器的原因?我已經看到了基於JavaScript的分頁,但不能確定比兩種查詢方法更好的想法。 – 2012-03-23 13:25:48
偉大的問題喬恩,看起來不像你可以做一個「COUNT(....)」風格的查詢。 – Neil 2012-03-23 13:55:06
謝謝尼爾。是的,我們認爲可能還有更有效的COUNT(...)機制。 如果你知道有多少頁面或者不需要知道有多少頁面(並且處理有效返回的空數組),那麼PagingFilter方法非常有用,但是我認爲這很少見。 – 2012-03-23 14:21:01