ListView實現分頁

2022-03-28 08:23:22 字數 1841 閱讀 5141

listview實現分頁有兩種方式,第一種通過datapager控制項。第二種是編寫sql語句實現。第一種是一次性將資料從資料庫中取出。

只適用於資料量小的分頁。

1、通過datapager控制項實現分頁:

1、右擊專案-新增新項-新增資料集

2.將需要的表拖進資料集

3.在資料集裡可以新增查詢語句。

4.在頁面中新增objectdatasource控制項、datapager控制項、listview控制項。將資料集繫結給objectdatasource控制項,

在將listviw控制項的datasourceid設定為objectdatasource的id。然後設定datapager控制項的pagedcontrolid為listview的id。這樣就可以繫結給listview控制項了。當然在listview控制項中選擇分頁也會自動在內部建立datapage控制項。

這樣實現的分頁是查詢出表中所有的資料,並不適合資料量大分頁。

第二種通過編寫sql語句實現:

1.在資料集中新增表,在新增查詢,查詢語句為:

select

*from (select

*,row_number() over(order

by id) rownum from gooodsinfo) t where

t.rownum

>

@startrowindex

and t.rownum <=

@startrowindex

+@maximumrows.

ps:row_number() 是sqlserver中的內建函式,作用是獲取結果集的序號  over(order by id) 是根據id來排序。row_number()必須結合over來使用。rownum是別名

上面使用子查詢的原因是如果是select * from  表名  where 字段=...  這樣的寫法,這裡的字段是從表裡去拿的。如果你要用序號,表裡是沒有序號的,是會報列名無效的。所以必須用子查詢。

上面的兩個引數@startrowindex 表示開始的行數,@maximumrows表示本頁的行數,這裡的引數名稱不能隨便命名的。這裡的引數必須跟objectdatasource

中的startrowindex引數和maximumrows相同。方法命名為getpageddata。

然後在新增sql語句。選擇select(返回單個值)。這個方法用於返回表中有多少行。

先按照正常的流程配置objectdatasource,讓listview自動生成template,再修改objectdatasource的enablepaging = 「true」,selectcountmethod設定為取得行數的方法。 然後在把selectmethod 設定為上面新增的getpageddata。

datapager的pagesize屬性為一頁的條數。datapager中按鈕顯示風格由fields中的字段設定,可以放置多個字段,分nextpreviouspagerfield

nextpreviouspagefield主要屬性:buttoncssclass: 按鈕的樣式;buttontype,按鈕渲染成什麼

firstpageimageurl,【第一頁】按鈕位址;

firstpagetext 【第一頁】 按鈕文字

showfirstbutton,是否顯示【第一頁】

numericpagefield主要屬性:buttoncount,數字的個數;按鈕渲染成什麼(button、link、image);currentpagelabelcssclass當前頁文字的樣式:numericbuttoncssclass數字按鈕的樣式。

ListView實現分頁且優化

1.建立乙個類 有2個成員變數 來當做資料來源 public class news 2.初始化listview資料 新增到集合中去 private vectorvector private int index 1 public void initdata 3.自定義adapter 優化listvie...

listview 分頁載入

模擬請求資料 public class dataserver return data public class mainactivity extends activity override public void onscroll abslistview view,int firstvisiblei...

ListView高效分頁

原因 傳統的objectdatasource作為資料來源,繫結listview,可以不寫一行 而完成插入 刪除 更新 刪除 分頁等的功能!異常的強大!但listview預設的分頁方式是從資料庫中取出所有的資料在根據頁號等顯示分頁後的資料,所以我們想能不能某頁就從資料中去會特定的資料呢?答案是 可以的...