溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

度量快速開發(fā)平臺分頁構建介紹

發(fā)布時間:2020-07-02 07:13:59 來源:網絡 閱讀:291 作者:fishwood9701 欄目:數(shù)據(jù)庫

 度量快速開發(fā)平臺中,網格部件使用非常多,一般情況下,比如數(shù)據(jù)在1萬以內的,都可以直接快速查詢出來,如果數(shù)據(jù)量很大,考慮到一次性打開可能有效率影響,因此可能有網格部件顯示數(shù)據(jù)的分頁需求。
雖然數(shù)據(jù)量大后分頁顯示效率提高,但是查看數(shù)據(jù)還是不太方便。如果確實要分頁,那么分頁功能如何在度量快速開發(fā)平臺中來實現(xiàn)呢?


對于mysql數(shù)據(jù)庫,分頁還很好實現(xiàn),在sql中直接就提供了limit分頁的功能。度量快速開發(fā)平臺一般是sqlserver或者是oracle,我們同樣可以利用sql語句來實現(xiàn)分頁效果。

主要實現(xiàn)思路就是利用sql語句查詢不同數(shù)據(jù),再界面上構建類似上一頁,下一頁,指定頁的數(shù)據(jù),以下是實現(xiàn)步驟:

1、建立業(yè)務表
    業(yè)務表建立的時候,就需要考慮分頁的功能,下面代碼示例對oracle與sqlserver通用:

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

說明:
rownum表示每一行數(shù)據(jù)的序號,rowscount表示該查詢的所有記錄。
兩個整數(shù)型的業(yè)務表變量 PAGE,ROW 分別表示頁數(shù),每頁顯示條數(shù)。

2、建立窗體
分別拖入一個網格部件,一個下拉選擇(頁選擇),兩個按鈕(上頁,下頁)。
網格部件選擇好上面建立的業(yè)務表。

2.1)窗體加載事件代碼:
度量快速開發(fā)平臺分頁構建介紹

'定義每頁顯示條數(shù)
dim PAGE_OF_ROW = 19

'定義頁數(shù),默認查詢第一頁
dim PAGE_NUM = 1
Call("刷新")
'------------------------配置頁選項功能開始----------------------------
'頁選項刷新標志(0不刷新,1刷新)
dim RefreshGlag=0
'總條數(shù)
dim allCount=網格部件1.GetFocusedRowValue("ROWSCOUNT")
dim ALL_PAGE=0
'因為cint四舍五入了,為了保證有效行數(shù),加0.4999,這樣,小數(shù)點后有值的,就表示要多一頁。
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)

        頁選項.SetItems(stringset,false)
        頁選項.Value=PAGE_NUM
else
        stringset="1"
        頁選項.SetItems(stringset,false)
        頁選項.Value=PAGE_NUM
end if
RefreshGlag=1
文本標簽1.Text = "共計 "&allCount &" 條數(shù)據(jù),每頁 "&PAGE_OF_ROW&" 條。 "
'------------------------配置頁選項功能結束----------------------------

2.2)頁選項與上頁,下頁代碼:
度量快速開發(fā)平臺分頁構建介紹 
'頁選項 的 值變化事件 事件代碼:
if RefreshGlag=1 then
  PAGE_NUM = 頁選項.Value
  Call("刷新")
end if 


'上頁 的 單擊事件 事件代碼:
if cint(PAGE_NUM) > 1 then
  PAGE_NUM = cint(PAGE_NUM) - 1
  頁選項.Value= PAGE_NUM
end if


'下頁 的 單擊事件 事件代碼:
if cint(PAGE_NUM) < ALL_PAGE then
  PAGE_NUM = cint(PAGE_NUM) + 1
   頁選項.Value= PAGE_NUM
end if


2.3)刷新 功能代碼:
'刷新數(shù)據(jù)
網格部件1.SetVaribleValue("PAGE",PAGE_NUM)
網格部件1.SetVaribleValue("ROW",PAGE_OF_ROW)
網格部件1.RefreshData()

3、效果:
度量快速開發(fā)平臺分頁構建介紹 

分頁還有多種方式,其他的請google查詢sql分頁

原文地址:http://bbs.delit.cn/thread-979-1-1.html

轉載請注明出處:

撰寫人:度量科技http://www.delit.cn

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI