用平铺方式显示数据

为了便于学习本节的内容,可以先打开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.ListViewRowlvw.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中将鼠标移到某个员工,就会自动显示这个员工的备注。


本页地址:http://www.foxtable.com/webhelp/topics/2776.htm