以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- LISTVIEW平铺外框怎么做? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=116256) |
-- 作者:yangsion -- 发布时间:2018/3/21 21:38:00 -- LISTVIEW平铺外框怎么做? 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 lvw.ResumeRedraw() \'恢复绘制 |
-- 作者:yangsion -- 发布时间:2018/3/21 21:46:00 -- 请问各位大神这个怎么编写?需要绘制线条,颜色是按某列来指定变化 |
-- 作者:有点甜 -- 发布时间:2018/3/21 22:34:00 -- 全局代码
Public Sub listView1_DrawItem(ByVal sender As Object, ByVal e As Windows.forms.DrawListViewItemEventArgs) Dim n As New Pen(Color.Red,2) End Sub
生成代码
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") |
-- 作者:yangsion -- 发布时间:2018/3/21 22:42:00 -- 谢谢大神,但是这个颜色数固定红色的吗?比如我表A有一列为颜色,里面有不同的颜色,RED,YELLOW等等,可以定义进去吗?小白麻烦大神了 |
-- 作者:有点甜 -- 发布时间:2018/3/21 23:16:00 -- 参考代码
Public Sub listView1_DrawItem(ByVal sender As Object, ByVal e As Windows.forms.DrawListViewItemEventArgs) If e.item.SubItems("性别").text = "男" Then End Sub |