Web之真假分頁

2021-06-22 15:00:33 字數 1839 閱讀 9076

在web

設計中乙個無法避免的問題就是分頁顯示。當資料量特別大的時候,我們不可能將所有的資料都在乙個頁面進行顯示,如果這樣將嚴重影響到它的美觀性。所以在這個時候,分頁顯示則成為了我們的大功臣。當然分頁也分兩種,一種是真分頁,一種是假分頁,即:

假分頁:從資料庫中選擇所有記錄後在分頁。

真分頁:從資料庫中選擇當前頁的記錄

首先先來說一下自帶的分頁功能(假分頁):

在.net

中的grid

view

控制項就自帶分頁顯示功能,當然操作很簡單,總共分成兩步:

1、在介面新增乙個

gridview

控制項,設定其屬性

allowpaging

的值為true

,pagesize

的值為n(n

為每一頁顯示記錄的條數),這樣就設定成功了。

2、將資料繫結到

grid

view

控制項上面就可以了。具體如下:

protected void page_load(object sender, eventargs e)

}/// ///繫結資料方法

///

private void bindnews()

/// /// 換頁時的資料繫結功能

///

///

///

protected voidgridview1_pageindexchanging(object sender, gridviewpageeventargs e)

通過上面的步驟就可以輕鬆得到分頁的資料了。雖然可以實現想要的結果,但是還存在著一些問題,比如上面的繫結資料方法中繫結的是全部的新聞,每次執行的時候都會查詢資料庫中所有的記錄,當記錄達到一定量大的時候比如

50萬條,

100萬條等等,這個時候繫結的時候會是多麼長的時間。所以將上面的情況定義成為假分頁。與其相比,真分頁則很好的解決了這個問題,下面再來見證一下真分頁的神奇吧:

在分頁之前要進行資料查詢,所以在這我建立了乙個儲存過程,用於查詢分頁資料,具體如下:

alter procedure[dbo].[asppagechoose]

@startpageint,

@endpageint

as begin

----建立臨時表,用於儲存

withtemptbl as (

selectrow_number() over (order by id desc)as rownum ,* from news

) select* from temptbl where rownum between@startpage and @endpage

end

其次是u

層的建立,在介面上面放置兩個控制項,分別是

aspnetpage

和gridview

,將這兩個控制項每頁顯示的個數設定成對應的數值,最後就是對資料的繫結,進行顯示,如下

protected voidpage_load(object sender, eventargs e)

}//進行換頁顯示資料

protected voidanp_pagechanged(object sender, eventargs e)

總結:常說對比出真知,通過上面的對比,可以很清楚的展示,真分頁為我們開啟了方便之門,除此之外還給我們程式設計帶來了巨大的好處。上面的純屬自己摸索而來,如有什麼不足,還請各位指點指點。

Vue真假分頁

一共100條資料,我要分10頁顯示,每頁顯示10條 一共100條資料,我要分5頁顯示,每頁顯示20條 一共99條資料,我要分5頁顯示,每頁顯示20條 理論上這三個引數,獲取任意兩個,便可知道第三個,但由於鎮假分頁的概念,所以在真分頁中只能選擇 pagenum,和pagesize,不然則是假分頁啦,既...

福分系統 EasyUI真假分頁

最近在進行乙個福分管理系統的專案,遇到很多問題,其中關於easyui datagrid控制項的分頁問題,著實被刺激了一把。當資料量足夠大時,如果不分頁,第一,可能影響資料載入速度 第二,資料顯示內容過多,最終的結果都是影響使用者體驗。按照每頁記錄的需求條數對資料庫進行訪問,每次換頁都會和資料庫進行一...

簡單web分頁實現

在這裡主要講解一下mysql sqlserver2000 及sqlserver2005 和orcale三種資料庫實現分頁查詢的方法。可能會有人說這些網上都有,但我的主要目的是把這些知識通過我實際的應用總結歸納一下,以方便大家查詢使用。下面就分別給大家介紹 講解一下三種資料庫實現分頁查詢的方法。一 m...