VB将数据显示在ListView中

本文介绍如何使用VB通过ADO连接数据库,并将查询结果展示在ListView控件中。具体包括设置Recordset对象、调整ListView列宽及自定义ListView绑定数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   最近在学VB,所以把一些东西都记下来,方便以后学习。下面是将数据查处来显示在ListView中 

 Dim ledrst As ADODB.Recordset
  Set ledrst = New ADODB.Recordset
  ledrst.Open sql, g_SqlDBConn, adOpenDynamic, adLockPessimistic
  ListView_Show Me.ListView1, ledrst, False, False  '把查处来的数据集合绑定到listView中
  
  ListView1.ColumnHeaders(1).width = 800   ‘列跟字段对应
  ListView1.ColumnHeaders(2).width = 2000
  ListView1.ColumnHeaders(3).width = 800
  ListView1.ColumnHeaders(4).width = 800
  ListView1.ColumnHeaders(5).width = 800
  ListView1.ColumnHeaders(6).width = 800
  ListView1.ColumnHeaders(7).width = 1200
  ListView1.ColumnHeaders(8).width = 4000

 

'将recordset显示到listview
Public Sub ListView_Show(Lvw As ListView, rs As ADODB.Recordset, Optional isNum As Boolean = False, Optional isCon As Boolean = False) '结束时 recordset 对象关闭,是否进行合同列表第九,十列解密
Dim i As Double
Dim Order As Double
Dim itmX As ListItem   '定义一 个ListView的显示项目。
Dim tempstr As String
Dim tmpSum As Double '结算
'Dim tmpRs As ADODB.Recordset
Dim rc As RECT '定义显示listview区域

'On Error GoTo ErrFillListView
Lvw.View = lvwReport
Lvw.Visible = False
Screen.MousePointer = vbHourglass
Lvw.ListItems.Clear   '清除ListView的内容?

With Lvw.ColumnHeaders
.Clear
If isNum Then
    .Add 1, , "序号 ", 800
Else
    .Add 1, , "序号  ", 1
End If
If rs.EOF And rs.BOF Then
    For i = 0 To rs.Fields.Count - 1
        If rs.Fields(i).Name = "Code" Or rs.Fields(i).Name = "SchID" Then
            .Add i + 2, , rs.Fields(i).Name, 0
        Else
            .Add i + 2, , rs.Fields(i).Name, Len(rs.Fields(i).Name) * 200
        End If
    Next

Else
     For i = 0 To rs.Fields.Count - 1
         If rs.Fields(i).Name = "Code" Or rs.Fields(i).Name = "SchID" Then
            .Add i + 2, , rs.Fields(i).Name, 0
         Else
            .Add i + 2, , rs.Fields(i).Name, Len(rs.Fields(i).Name) * 200
        End If
    Next
End If

End With

If rs.EOF And rs.BOF Then
Screen.MousePointer = vbDefault
Lvw.Visible = True
Exit Sub

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值