2009-09-30 55 views
0

在Sharepoint Web部件中,我有一個帶有分頁的DataGrid,可以加載所有數據(不使用自定義分頁 - 自定義分頁需要在當前進程中進行重大改動,可能是我可以嘗試的最後一個選項)。我想知道是否有可能通過數據頁面而不重新綁定數據源到頁面索引更改事件中的網格?如果我刪除當前的調用來重新綁定數據,則無論如何它都會保留在第一頁上。DataGrid分頁與持久數據

回答

0

對於一個數據網格,我認爲你需要重新綁定網格,只要你想要去一個新的頁面。 「

」PageIndexChanged事件的典型處理程序將CurrentPageIndex屬性設置爲要顯示的頁面的索引,然後使用DataBind方法將數據綁定到DataGrid控件。「

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagrid.onpageindexchanged(VS.71).aspx

如果你想避免再次從源頭上查詢/獲取數據,那麼你就需要在「緩存」回傳的數據。這裏有各種各樣的選擇,每個都有自己的優點和缺點。

如果數據的大小不是太大而且不敏感,那麼您可以簡單地將數據置於第一頁加載的視圖狀態,並在頁面索引更改時再次讀取數據。另一個選項可能包括使用Session來「緩存」數據,儘管如果做得不對,這可能會變得棘手,當然這種方法在服務器端會有更多的負載(具有不同的數量,取決於會話是否在-Proc,狀態服務器或數據庫)。可能有其他方法來「緩存」數據,但這是你在這種情況下需要做的。

+0

對,我瞭解DataGrid的基礎知識,但我的主要問題是如何讓DataGrid中的數據行在頁面之間持久存在,以便僅在初始加載期間(而不是在隨後的頁面加載期間)獲取數據。 – Adam 2009-10-02 14:09:32