為GridView新增兩種自定義分頁樣式

2021-09-22 09:05:58 字數 1754 閱讀 2565

gridview

的分頁功能很不錯

, 利用

datasource

控制項我們可以比較輕鬆地實現分頁.此外

,我們還可以使用

pagetemplate

來自定義分頁行的樣式

.很多時候這樣就足夠了

,但如果還是不能滿足要求

,我們可以擴充套件

gridview,

為其新增自定義的分頁樣式.

本文將給出兩種比較常用的分頁樣式

,通過此例

,我們也可大致了解自定義分頁樣式的原理

,如果需要新增其它樣式

,也不會很難了.

這裡參考了兩篇文章,一是

codeproject

的using a dropdownlist pager, 

二是園子裡webabcd

的擴充套件分頁功能

. 前一篇是通過重寫

initializepager

方法來實現

, 後一篇是通過重寫

onrowcreated

來實現的

. 通過比較可以發現重寫

initializepager

是更好的方式

, 在此方法中

, 我們分頁所需的

pagesize, pagecount, pageindex, recordcount

可以輕鬆獲得

,這樣就突破了對

datasource

控制項的依賴

,這一點比使用

onrowcreated要好.

別忘了,gridview

正是通過此方法來初始化分頁行的.

下面是效果圖

我們借助於objectdatasource來分頁和排序.objectdatasource的宣告如下:

<

asp:objectdatasource 

id="objectdatasource1"

runat

="server"

enablepaging

="true"

typename

="samples.service.productservice"

selectcountmethod

="gettestdatacount"

selectmethod

="getrequiredtestdata"

startrowindexparametername

="skipresults"

maximumrowsparametername

="maxresults"

sortparametername

="sortexression"

>

asp:objectdatasource

>

startrowindexparametername

、maximumrowsparametername

、sortparametername

三個引數是其中的關鍵.然後設定customgridview的pagertype屬性,以及各個相關的路徑.

關於繫結GridView的兩種寫法

1.databinder.eval container.dataitem,欄位名 用databinder.eval 繫結不必關心資料 dataread或dataset 不必關心資料的型別eval會把這個資料物件轉換為乙個字串。在底層繫結做了很多任務作,使用了反射效能。正因為使用方便了,但卻影響了資料...

獲取 GridView 行資料的常見兩種方式

我們在用asp.net gridview控制項時經常需要在後台讀取一行的資料,常見的方式有以下幾種 1.在後台rowcommand 事件中先取得行號,再根據行號去訪問各列的值,具體方法可參考 http www.cnblogs.com kuitar archive 2009 04 11 1433777...

Android 自定義GridView新增網格線

有乙個需求是這樣的,查了下網上的資料都是利用間隔 但是我這個gridview的背景是漸變的.於是就不好辦了.又在google上面看見乙個自定義的gridview,但是有bug.在偶數的情況下,最下面一行會有底線.奇數並不會.於是修改了下.通過重寫dispatchdraw 利用paint進行繪製 pa...