2010-11-30 53 views
1

我有一個正在開發中的小數據集正常工作的gridview。在製作過程中,它必須綁定到數千條記錄,這使得加載速度變慢。有沒有一種方法來提高性能,比如在gridview頁面索引更改期間檢索數據?gridview asp.net

回答

1

先和formost關閉ViewState。

1

您應該告訴您的數據源採取較少的記錄,然後在網格和數據源中啓用分頁。

2

也有可能你只想綁定一次。所以,你應該(如果沒有的話):

if(!IsPostback) 
{ 
    DatabindGridLogicHere(); 
} 

這樣你的GridView將只打分貝在第一時間獲取數據。

0

您可以在GridView中啓用「AllowPaging」屬性爲true,並給出頁面大小爲10的值。然後編寫數據檢索邏輯以一次返回一批數據而不是整個數據集。 當您編寫SQL查詢時,請確保按ID排序。

因此,如果頁索引是1,則可以通過傳遞的1頁索引和10

邏輯的頁大小將是採取的第一批數據;

SELECT [RequiredFields] 

FROM [YourDataSource] 

WHERE (Id>=((PageIndex-1)*pageSize) AND Id<(PageSize*pageIndex)) ORDER BY Id 

在第一頁,將第一組從0開始那些Ids的條目返回9.在它返回從10開始那些Ids的條目的第二頁至19假定的pageSize是10.可以根據需要更改頁面大小和查詢邏輯。

但是,如果排序啓用,那麼這將不會產生準確的結果。