|
回复 sgrshh29 的帖子
九、接下来是Listview控件,从名称可以知道是一个列表控件。
在示例中控件是用来显示树节点(文件夹)下的内容(子文件夹和文件)
1、在窗体添加一个Listview控件,命名为Listview0,适当调整大小
2、添加一个Imagelist控件,命名为Imagelist2,在其属性对话框中添加图标,作为Listview0的大图标的来源
3、在属性中设置属性
4、创建一个数据表来保存Listview0项目数据,命名为tblListview
5、设计表
6、将这个表与tblTreeview建立关系,并且钩选实施参照完整性、级联更新、级联删除
7、输入一些临时数据
8、加载Listview0,在窗体加载中添加二句
初始化Listview Me.ListView0
加载ListItem
这二句的过程分别是
9、初始化
Sub 初始化Listview(ByVal objListview As Object)
With objListview
.ListItems.Clear
.ColumnHeaders.Clear
.LabelEdit = lvwManual
.ColumnHeaders.Add , , "文件名", .Width * 3.1 / 5, lvwColumnLeft, 3
.ColumnHeaders.Add , , "文件类型", .Width * 0.55 / 5, lvwColumnCenter
.ColumnHeaders.Add , , "文件大小K ", .Width * 0.67 / 5, lvwColumnRight
.ColumnHeaders.Add , , "修改日期 ", .Width * 0.67 / 5, lvwColumnRight
End With
End Sub
10、加载
Public Sub 加载ListItem(Optional strKey As String = "T1")
Dim ItemX As ListItem
Forms("frmMain").Controls("listview0").ListItems.Clear
Set objRs = CurrentDb.OpenRecordset("select * from tblTreeview where gid=" & Mid(strKey, 2) & " order by id;")
Do Until objRs.EOF
Set ItemX = Forms("frmMain").Controls("listview0").ListItems.Add(, "P" & objRs("id"), objRs("pname"), 2, 1)
ItemX.SubItems(1) = ""
ItemX.SubItems(2) = Format(IIf(Not IsNull(objRs("psize")), objRs("psize"), "") / 1024, "#,##0.000")
ItemX.SubItems(3) = IIf(Not IsNull(objRs("pdate")), Format(objRs("pdate"), "yyyy-mm-dd"), "")
objRs.movenext
Loop
objRs.Close
Set objRs = CurrentDb.OpenRecordset("select id, fname, ftype, fsize, fdate from tblListview where gid=" & Mid(strKey, 2) & " order by id;")
Do Until objRs.EOF
If blnSingle Then objRs.movelast
Set ItemX = Forms("frmMain").Controls("listview0").ListItems.Add(, "L" & objRs("id"), objRs("fname"), 1, 4)
ItemX.SubItems(1) = IIf(Not IsNull(objRs("ftype")), objRs("ftype"), "")
ItemX.SubItems(2) = Format(IIf(Not IsNull(objRs("fsize")), objRs("fsize"), "") / 1024, "#,##0.000")
ItemX.SubItems(3) = IIf(Not IsNull(objRs("fdate")), Format(objRs("fdate"), "yyyy-mm-dd"), "")
objRs.movenext
Loop
objRs.Close
Set objRs = Nothing
Set ItemX = Nothing
Exit Sub
End Sub
11、为不同的文件类型指定图标
12、然后在窗体的Treeview0的节点点击事件中,重新加载Listview0
Private Sub TreeView0_NodeClick(ByVal Node As Object)
加载ListItem Node.Key
End Sub
13、完成以上步骤后的窗体演示
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|