小程序構(gòu)成大項目之——分頁顯示
2024-07-21 02:16:28
供稿:網(wǎng)友
 
小程序構(gòu)成大項目之——分頁顯示
 陳根發(fā)
好久沒有寫文章了,就是覺得有點對不起自己,看我文章的人大概不多,所以就無所謂對不對的起大家了。:)
筆者最近剛剛走出校門,滿腦子混雜的東西,沒有心事靜下來寫東西,今天有空,不錯,寫點。
我每次寫的東西都有點班門弄斧的味道,但是抑制不住自己的想寫的欲望。如果有礙視線,請各位見諒。
不過筆者最主要的意思還是希望大家通過這些只字片段認(rèn)識我這個人。在人生的職業(yè)生涯中,技術(shù)也許是中堅力量,但是人生的整個旅途中,也許還有其他的東西比技術(shù)更重要!比如為人。
希望各位前輩指出文章及本人的不足,給我們后輩點一盞燈!
我今天要說的話題很簡單,如何在vb.net中,實現(xiàn)分頁顯示,以便在表格控件中顯示指定的記錄數(shù)。它是實質(zhì)就是從一個dataset1里的m條記錄取出n條記錄 存在另外一個dataset2中
需求明確了,接下來一起來做吧。
一.建立一個table與dataset1的table(0)結(jié)構(gòu)一樣,假設(shè)dataset1 只有一個table.
 dim tab1 as datatable=dataset1. table(0).clone
 
二.定義一個object對象 ,用于存放指定的記錄集
dim ary as object
dim i as integer
for i=1 to n ‘n為應(yīng)取出的記錄數(shù)
ary=dataset1. table(0).rows.itemarray(i)
next 
 
三.用object對象更新dataset2
1. 通過rows更新tab1
drow.itemarray = ary ‘drow為datarow對象
tab1.rows.add(drow)
 2.通過tab1更新page ‘page 為返回的dataset對象
page.tables.add(tab1)
 
四.返回page 
return page
完整的代碼示例如下:
'===============================
'名稱:page 類
'功能:分頁
'==============================
class page
 '----方法,分頁
 '參數(shù)(dataset總數(shù) ,當(dāng)前頁號)
 
 public function pageset(byval ds as dataset, byval curpage as integer) as dataset
 dim i, j, r as integer
 ' dim j as integer
 dim m as integer =25 '一頁多少條
 '頁數(shù) j
 j = cint(ds.tables(0).rows.count / m + 0.5)
 dim page as new dataset
 dim tab as datatable
 tab = ds.tables(0).clone
 dim dr as datarow
 dim col as datacolumn
 dim drow as datarow
 ' dim r as integer = 0
 dim ary() as object
 '判斷傳入的頁數(shù)是否合理
 if ds.tables(0).rows.count <= 0 then
 exit function
 end if
 if curpage < 1 then
 curpage = 1
 elseif curpage > j then
 curpage = j
 end if
 '取符合條件m條記錄
 i = m * (curpage - 1)
 for each dr in ds.tables(0).rows
 drow = tab.newrow
 ary = ds.tables(0).rows(i).itemarray
 drow.itemarray = ary
 tab.rows.add(drow)
 i += 1
 '有m條紀(jì)錄就跳出
 if i > m * curpage - 1 then
 exit for
 end if
 next
 page.tables.add(tab)
 return page
 end function
end class
好了,大功告成,你只要把你的的表格控件的datasource設(shè)置為page ,ok!
中國最大的web開發(fā)資源網(wǎng)站及技術(shù)社區(qū),