2011-08-05 67 views
0

我有一個GridView填充了最近的100個文檔記錄(標題,描述,作者,CreationDate)。 我使用DataTable jQuery插件來提供進一步的功能,如:列拖動,搜索,分頁拖動&。改善表分頁邏輯

由於文檔的總數可能非常高(記錄的連續數),因此我決定將提供的數據限制爲只有100個條目。這將滿足將近90%的案例。
但是,有些用戶可能需要搜索/查看較早的文檔。因此,我需要進一步實施邏輯以允許加載「更多」100條記錄。

我的過程如下:
1)加載前100個條目。
2)提供額外的按鈕 - >點擊後,再向表格中推進100個條目(因此,200條記錄)。

由於我不喜歡真的需要插入額外的按鈕來「推」新數據,所以如何以更好的方式實現這一點?

+0

爲什麼你不想要一個按鈕?這基本上是標準的所有搜索引擎('去下一頁'或其他...)。 或者你是否想加載更多的結果,如果用戶只是滾動頁面? – fgysin

+0

jQuery插件提供了2個按鈕來導航到next/prev頁面。每頁有20到50條記錄,其他則會顯示在下一頁(不必向下滾動,然後顯示最後一條時,自動加載下一個100)。在設計/佈局視角下,按鈕的想法在我看來並不是很輝煌。但是標有「載入舊數據」的按鈕,即使在當前佈局中也可能有意義。 – Francesco

回答

1

您可以使用數據表「bScrollInfinite:true」選項。您還需要指定sScrollY選項來表示數據表的高度。

設置這些選項後,用戶可以向下滾動,當數據表檢測到它們接近頁面底部時,它會自動將更多數據加載到底部。

"bScrollInfinite": true, 
"sScrollY": 350, 
+0

感謝您的支持。這種方法可以很好,我只是害怕如果我在表中加載1000多條記錄,即使使用bScrollInfinite,加載該頁面也需要一段時間。對於我所看到的,沒有Ajax調用服務器根據需要檢索行,但所有數據集必須已經可用並且僅在需要時才顯示。因此,這隻會提供一種不同的分頁方式。 – Francesco

+0

Jquery數據表有一個選項來實際執行服務器端處理。有關詳細信息,請參閱此鏈接http://datatables.net/examples/data_sources/server_side.html –