人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

DataGrid也玩分頁

DataGrid也玩分頁

更新時(shí)間:2022-10-15 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

呵呵,不是.NET的.

這幾天論壇上回答問題,有人提出這個DataGrid控件的分頁。

請看:

?

數(shù)據(jù)庫:test2000.mdb

表:numbers

字段:Id(自動編號),anumber(數(shù)字)

?

因?yàn)镈ataGrid控件我們采用直接綁定記錄集來顯示數(shù)據(jù).所以分頁處理我們采用了間接的辦法,定義另一個記錄集objrs,將分頁后的記錄集付給objrs.然后綁定DataGrid

'效果還不錯 , 我加了詳細(xì)地注釋?像pagesize, AbsolutePage的用法可參考msdn

?

VB中新建工程,form中添加DataGrid控件,按鈕cmdPrevious和cmdNext,文本框txtPage

'引用microsoft active data object 2.x object library

Option Explicit

Dim conn As ADODB.Connection

Dim lCurrentPage As Long

?

Private Sub cmdNext_Click()

??? lCurrentPage = lCurrentPage + 1

??? Call Loadcontrol(lCurrentPage)

End Sub

?

Private Sub cmdPrevious_Click()

??? If lCurrentPage > 1 Then

??????? lCurrentPage = lCurrentPage - 1

??????? Call Loadcontrol(lCurrentPage)

??? End If

End Sub

?

Private Sub Form_Load()

???

??? Set conn = New ADODB.Connection

??? conn.CursorLocation = adUseClient

??? conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test2000.mdb;"

?

??? lCurrentPage = 1

??? Call Loadcontrol(lCurrentPage)

?

End Sub

Private Sub Loadcontrol(lPage As Long)

??? Dim adoPrimaryRS As ADODB.Recordset

??? Dim lPageCount As Long

??? Dim nPageSize As Integer

??? Dim lCount As Long

???

??? '每頁顯示的紀(jì)錄

??? nPageSize = 10

??? Set adoPrimaryRS = New ADODB.Recordset

??? adoPrimaryRS.Open "select * from numbers", conn, adOpenStatic, adLockOptimistic

?

??? adoPrimaryRS.PageSize = nPageSize

??? '頁數(shù)

??? lPageCount = adoPrimaryRS.PageCount

??? If lCurrentPage > lPageCount Then

??????? lCurrentPage = lPageCount

??? End If

???

??? adoPrimaryRS.AbsolutePage = lCurrentPage

??? '定義另一個記錄集

??? Dim objrs As New ADODB.Recordset

??? '添加字段名稱

??? For lCount = 0 To adoPrimaryRS.Fields.Count - 1

??????? objrs.Fields.Append adoPrimaryRS.Fields(lCount).Name, adVarChar, adoPrimaryRS.Fields(lCount).DefinedSize

??? Next

??? '打開記錄集

??? objrs.Open

??? '將指定記錄數(shù)循環(huán)添加到objrs中

??? For lCount = 1 To nPageSize

??????? objrs.AddNew

??????? objrs!id = adoPrimaryRS!id

??????? objrs!anumber = adoPrimaryRS!anumber

??????? adoPrimaryRS.MoveNext

??? Next

??? '綁定

??? Set DataGrid1.DataSource = objrs

???

??? '在文本框顯示頁數(shù)

??? txtPage = lPage & "/" & adoPrimaryRS.PageCount

End Sub

?

Private Sub Form_Unload(Cancel As Integer)

??? If Not conn Is Nothing Then

??????? conn.Close

??? End If

??? Set conn = Nothing

End Sub

‘文本框中輸入頁數(shù),回車跳轉(zhuǎn)到指定位置

Private Sub txtPage_KeyDown(KeyCode As Integer, Shift As Integer)

??? lCurrentPage = Val(txtPage.Text)

??? Call Loadcontrol(lCurrentPage)

End Sub

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 洛宁县| 乌鲁木齐县| 万年县| 巩留县| 泾川县| 桐乡市| 灵山县| 松滋市| 江孜县| 昌吉市| 德保县| 南靖县| 额济纳旗| 四平市| 勐海县| 安义县| 常山县| 蒲江县| 交口县| 洛川县| 宁陵县| 新巴尔虎左旗| 巫山县| 黔西县| 石泉县| 松滋市| 无锡市| 施秉县| 屏山县| 莫力| 馆陶县| 南投县| 宝应县| 博野县| 门头沟区| 道真| 电白县| 舞钢市| 顺义区| 沐川县| 沈阳市|