参考下吧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
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