度量快速開(kāi)發(fā)平臺(tái)中,網(wǎng)格部件使用非常多,一般情況下,比如數(shù)據(jù)在1萬(wàn)以內(nèi)的,都可以直接快速查詢出來(lái),如果數(shù)據(jù)量很大,考慮到一次性打開(kāi)可能有效率影響,因此可能有網(wǎng)格部件顯示數(shù)據(jù)的分頁(yè)需求。
雖然數(shù)據(jù)量大后分頁(yè)顯示效率提高,但是查看數(shù)據(jù)還是不太方便。如果確實(shí)要分頁(yè),那么分頁(yè)功能如何在度量快速開(kāi)發(fā)平臺(tái)中來(lái)實(shí)現(xiàn)呢?
對(duì)于MySQL數(shù)據(jù)庫(kù),分頁(yè)還很好實(shí)現(xiàn),在sql中直接就提供了limit分頁(yè)的功能。度量快速開(kāi)發(fā)平臺(tái)一般是sqlserver或者是oracle,我們同樣可以利用sql語(yǔ)句來(lái)實(shí)現(xiàn)分頁(yè)效果。
主要實(shí)現(xiàn)思路就是利用sql語(yǔ)句查詢不同數(shù)據(jù),再界面上構(gòu)建類似上一頁(yè),下一頁(yè),指定頁(yè)的數(shù)據(jù),以下是實(shí)現(xiàn)步驟:
1、建立業(yè)務(wù)表
業(yè)務(wù)表建立的時(shí)候,就需要考慮分頁(yè)的功能,下面代碼示例對(duì)oracle與sqlserver通用:
瑪曲ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!
select * from
(
select
ROW_NUMBER() over(order by id ) as rownum,
COUNT(*) over() rowscount,
ID,TITLE,HEIGHT , WIDTH, CREATE_TIME, CREATE_USER from form_list
) t
where rownum>= ([:PAGE] -1) * [:ROW] +1 and rownum< [:PAGE] * [:ROW]+1
說(shuō)明:
rownum表示每一行數(shù)據(jù)的序號(hào),rowscount表示該查詢的所有記錄。
兩個(gè)整數(shù)型的業(yè)務(wù)表變量 PAGE,ROW 分別表示頁(yè)數(shù),每頁(yè)顯示條數(shù)。
2、建立窗體
分別拖入一個(gè)網(wǎng)格部件,一個(gè)下拉選擇(頁(yè)選擇),兩個(gè)按鈕(上頁(yè),下頁(yè))。
網(wǎng)格部件選擇好上面建立的業(yè)務(wù)表。
2.1)窗體加載事件代碼:
'定義每頁(yè)顯示條數(shù)
dim PAGE_OF_ROW = 19
'定義頁(yè)數(shù),默認(rèn)查詢第一頁(yè)
dim PAGE_NUM = 1
Call("刷新")
'------------------------配置頁(yè)選項(xiàng)功能開(kāi)始----------------------------
'頁(yè)選項(xiàng)刷新標(biāo)志(0不刷新,1刷新)
dim RefreshGlag=0
'總條數(shù)
dim allCount=網(wǎng)格部件1.GetFocusedRowValue("ROWSCOUNT")
dim ALL_PAGE=0
'因?yàn)閏int四舍五入了,為了保證有效行數(shù),加0.4999,這樣,小數(shù)點(diǎn)后有值的,就表示要多一頁(yè)。
ALL_PAGE=cint(allCount/PAGE_OF_ROW+0.4999999)
dim stringset=""
for iLoop=1 to ALL_PAGE
stringset=stringset+cstr(iLoop)+","
next
if len(stringset)>0 then
stringset=left(stringset,len(stringset)-1)
頁(yè)選項(xiàng).SetItems(stringset,false)
頁(yè)選項(xiàng).Value=PAGE_NUM
else
stringset="1"
頁(yè)選項(xiàng).SetItems(stringset,false)
頁(yè)選項(xiàng).Value=PAGE_NUM
end if
RefreshGlag=1
文本標(biāo)簽1.Text = "共計(jì) "&allCount &" 條數(shù)據(jù),每頁(yè) "&PAGE_OF_ROW&" 條。 "
'------------------------配置頁(yè)選項(xiàng)功能結(jié)束----------------------------
2.2)頁(yè)選項(xiàng)與上頁(yè),下頁(yè)代碼:
'頁(yè)選項(xiàng) 的 值變化事件 事件代碼:
if RefreshGlag=1 then
PAGE_NUM = 頁(yè)選項(xiàng).Value
Call("刷新")
end if
'上頁(yè) 的 單擊事件 事件代碼:
if cint(PAGE_NUM) > 1 then
PAGE_NUM = cint(PAGE_NUM) - 1
頁(yè)選項(xiàng).Value= PAGE_NUM
end if
'下頁(yè) 的 單擊事件 事件代碼:
if cint(PAGE_NUM) < ALL_PAGE then
PAGE_NUM = cint(PAGE_NUM) + 1
頁(yè)選項(xiàng).Value= PAGE_NUM
end if
2.3)刷新 功能代碼:
'刷新數(shù)據(jù)
網(wǎng)格部件1.SetVaribleValue("PAGE",PAGE_NUM)
網(wǎng)格部件1.SetVaribleValue("ROW",PAGE_OF_ROW)
網(wǎng)格部件1.RefreshData()
3、效果:
分頁(yè)還有多種方式,其他的請(qǐng)google查詢sql分頁(yè)
原文地址:http://bbs.delit.cn/thread-979-1-1.html
轉(zhuǎn)載請(qǐng)注明出處:
撰寫(xiě)人:度量科技http://www.delit.cn
網(wǎng)站題目:度量快速開(kāi)發(fā)平臺(tái)分頁(yè)構(gòu)建介紹
標(biāo)題網(wǎng)址:http://sd-ha.com/article38/jgsgpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、定制網(wǎng)站、建站公司、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)