用平铺方式显示数据
为了便于学习本节的内容,可以先打开CaseStudy目录下的文件“ListView.Table”,并参考该文件名为“示例九”的窗口。
之前已经接触了大图标、小图标和详细信息三种显示模式,下面介绍如何以平铺方式显示数据。
本节的任务是设计一个下图所示的窗口,ListView以平铺方式显示员工的照片以及详细信息:
设计步骤:
1、在窗口中分别插入一个ListView和Button控件。
2、将按钮的Click事件代码设置为:
Dim
lvw As
WinForm.ListView
= e.Form.Controls("ListView1")
lvw.StopRedraw()
'暂停绘制
lvw.Rows.Clear()
'清除原来的行
lvw.Images.Clear()
'清除原来的图片
lvw.View
= ViewMode.Tile
'显示模式为平铺
lvw.Images.LargeSize
= New Size(65,75)
'定义大图标尺寸
lvw.TitleSize
= New Size(150,90)
'设置平铺区域的大小
Dim
cls()
As
String
=
{"编号","姓名","部门","职务","性别"}
'定义列名
For
i
As
Integer
=
0
To
cls.Length
-
1
'增加列
Dim
c
As
WinForm.ListViewColumn
=
lvw.Columns.Add()
c.Name
=
cls(i)
'指定列名
Next
For
Each
dr
As
DataRow
In
DataTables("员工").DataRows
'从数据表中提取数据
Dim Key
As String =
dr("照片")
'获取此员工的照片文件
lvw.Images.AddLargeImage(Key,
Key)
'添加照片,直接用文件名作为图片键值
Dim vr
As WinForm.ListViewRow
= lvw.Rows.Add()
'增加一行
vr.ToolTipText
= dr("备注")
'设置此行的动态提示
vr.ImageKey
= Key
'设置图片键值
For Each
cl As
String In
cls
'逐列取值
vr(cl)
= dr(cl)
Next
Next
lvw.ResumeRedraw()
'恢复绘制
一些提示:
1、默认情况下,ListView会自动根据显示内容计算平铺区域的大小,我们也可以通过TitleSize属性明确设置平铺区域的大小。
2、由于备注列内容太长,不适合直接显示在ListView中,所以上面的例子中,我们将行的ToolTipText属性设置为员工的备注,这样在ListView中将鼠标移到某个员工,就会自动显示这个员工的备注。