我从数据库中查找出很多数据想分页显示!有人能提供思路或者代码参考么!谢谢!

解决方案 »

  1.   

    可以参考下 ASP 中论坛分页的方法   
      

  2.   

    ado.recordset对象本身就支持分页
      

  3.   

    recordset.pagesize? 有示例代码么?
      

  4.   

    装了MSDN的话,那上面就有示例代码
      

  5.   

    参考下吧Dim lngPage As Long         '\\记录记录页数  rs.PageSize = 10
    Dim rs As ADODB.Recordset   '\\记录集对象Private Sub FillData(Optional ByVal intSign As Integer = 0)
    '//向ListView填充记录集合当前页数据
    '//intSign 是否让ListView得到焦点On Error GoTo VB_Err    Dim intNum As Integer
        Dim itmData As ListItem
        Dim intIndex As Integer
        
        With lvwData
            .View = lvwReport
            .ColumnHeaders.Clear
            .ListItems.Clear
        End With
        If Not rs.BOF Or Not rs.EOF Then
            '//循环向ListView填充文件头
            For intNum = 1 To rs.Fields.Count - 1                   'rs是ADODB.Recordset
                lvwData.ColumnHeaders.Add intNum, , rs(intNum).Name
                lvwData.ColumnHeaders.item(intNum).Width = 2500
            Next
            If lngPage < 1 Then lngPage = 1
            If lngPage > rs.PageCount Then lngPage = rs.PageCount
            rs.AbsolutePage = lngPage
            '//添加内容
            For intIndex = 1 To 50
                Set itmData = lvwData.ListItems.Add(, , rs(1).Value)
                itmData.Tag = rs(0).Value
                For intNum = 2 To rs.Fields.Count - 1
                    If IsNull(rs(intNum).Value) Then
                        itmData.ListSubItems.Add , , ""
                    Else
                        If intNum = 5 Then
                            If rs(intNum).Value = 0 Then
                                itmData.ListSubItems.Add , , "领用中"
                            Else
                                itmData.ListSubItems.Add , , "已归还"
                            End If
                        Else
                            itmData.ListSubItems.Add , , rs(intNum).Value
                        End If
                    End If
                Next
                rs.MoveNext
                If rs.EOF Then Exit For
            Next
            If intSign <> 1 Then lvwData.SetFocus
            If rs.PageCount > 1 Then
                If lngPage = 1 Then
                    ChangeButtonEnabled 1
                ElseIf lngPage = rs.PageCount Then
                    ChangeButtonEnabled 3
                Else
                    ChangeButtonEnabled 2
                End If
            Else
                ChangeButtonEnabled 0
            End If
            cmdXls.Enabled = True
        Else
            lvwData.ColumnHeaders.Add , , "没有记录", 8000
            ChangeButtonEnabled 0
            cmdXls.Enabled = False
        End If
        
    VB_Err:
        If Err.Number <> 0 Then
            MsgBox "错误编号:" & Err.Number & vbCrLf & "错误描述:" & Err.Description, vbInformation + vbOKOnly, "错误"
        End If
        
    End Sub