本帖最后由 xbl7966 于 2012-11-8 18:34 编辑
接5楼 ListView控件加载数据除上述加载方法之外,还有一种重要的数据加载方法即加载SQL查询记录集,以上述《员工信息表》为例,其查询、加载数据代码如下: Dim cn As Object, rs As Object Set cn = CreateObject("ADODB.Connection") '连接数据库 Set rs = CreateObject("ADODB.Recordset") cn.Open "dsn=excel files;dbq=" & ThisWorkbook.FullName Sql = "Select * from [员工信息表$] " rs.Open Sql, cn, 1, 3 ListView1.ListItems.Clear '清除ListView记录 Do While Not rs.EOF Set Itm=ListView1.ListItems.Add() '添加记录 Itm.Text = rs.Fields("姓名") '添加第一列内容 Itm.SubItems(1) = rs.Fields("性别") '添加第二列内容 Itm.SubItems(2) = rs.Fields("文化") '添加第三列内容 Itm.SubItems(3) = rs.Fields("住址") '添加第四列内容 Itm.SubItems(4) = rs.Fields("身份证") '添加第五列内容 rs.MoveNext Loop rs.Close: Set rs = Nothing: cn.Close 以上代码中牵涉到SQL查询相关知识点,对SQL查询不熟悉的朋友,可在网上查阅相关知识进行学习,这样才能更好地理解上述代码,更加方便日后的实际应用。 三、ListView控件的重要属性和方法 在本章中我们将介绍ListView控件的一些重要属性和方法,望大家能牢记这些属性和方法。 1、对齐属性 ListView控件在初始化之前,为美观之需要,我们可以对每列数据排列格式进行设置,每列数据可或左对齐、或右对齐、或中间对齐,该项工作和加载表头同步进行,下面以加载“ 姓名”表头为例,其代码如下: 左对齐: ListView1.ColumnHeaders.Add , , "姓名", 40, lvwColumnLeft 右对齐: ListView1.ColumnHeaders.Add , , "姓名", 40, lvwColumnRight 中间对齐: ListView1.ColumnHeaders.Add , , "姓名", 40, lvwColumnCenter 这里需特别提醒ListView控件首列只能左对齐,否则代码会出现编译错误。 2、排序属性 ListView控件在初始化之前,可以根据用户需求对指定列进行排序,其代码如下: ListView1.Sorted = True 'listivew的排序属性为True时, ListView控件将对指定列进行排序,属性为False时ListView控件将不具有排序功能。 ListView1.SortKey = 0 ' 0为listivew排序的列索引号,0为第1列、1为第2列,以此类推,若此项属性值未设置,ListView控件将默认按首列排序。如果我们想点击ListView表头排序,可用以下代码实现: Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader) If ColumnHeader.Index - 1 > -1 Then ListView1.SortKey = ColumnHeader.Index - 1 End Sub 3、显示方式设置 ListView控件除了可以对数据排列格式进行设置外,还可以对数据显示方式进行设置,常见的有日期显示方式、金额显示方式,以单元格F3数据加载给ListView控件第2列为例,其代码如下: 日期显示方式: Itm.subitem1(1) = Format(Cells(3, "F"), "YYYYY-MM-DD") 金额显示方式: Itm.subitem1(1) = Format(Cells(3, "F"), "#0.00") 4、选择ListView控件任意一行,获取行号 I = ListView1.SelectedItem.Index 5、获取ListView控件第I行,首列的值 ListView1.ListItems(I).Text 6、获取ListView控件第I行,J列的值 ListView1.ListItems(I).SubItems(J - 1) 7、删除ListView控件第I行数据 ListView1.ListItems.Remove I 8、删除ListView控件所有数据 ListView1.ListItems.Clear 9、获取ListView控件记录数 ListView1.ListItems.Count 待续------------------------------------- |