以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于窗口内多个listview 同步增大的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=109960) |
-- 作者:堕落的后天 -- 发布时间:2017/11/23 16:10:00 -- 关于窗口内多个listview 同步增大的问题 在一个窗口中放了一个listview ,只要设置他的“锚定”属性上下左右,这样在窗口最大化时,listview也会同步比例增大. 但是如果在一个窗口中并列均匀放置5个listview ,如何在同样窗口最大化时,同步均匀增大5个listview()
|
-- 作者:有点蓝 -- 发布时间:2017/11/23 16:42:00 -- 那就不能做“锚定”。 窗口sizechanged事件,获取窗口的大小,平均计算listview 的大小(宽和高个除以5),还要动态计算每个listview 的位置top和left。
|
-- 作者:堕落的后天 -- 发布时间:2017/11/23 20:45:00 -- 谢谢版主,知道怎么写了. |
-- 作者:堕落的后天 -- 发布时间:2017/11/23 23:01:00 -- 想问下 我想用 表里面 一个日期字段来添加分组(日期是date属性的) 写了: For Each zh As Date In DataTables("预约表").GetValues("日期") \'增加分组 Dim grp As WinForm.ListViewGroup = lvw.Groups.Add() grp.Name = zh Select Case zh.DayOfWeek Case 0 grp.Text = "周日" & zh Case 1 grp.Text = "周一" & zh Case 2 grp.Text = "周二" & zh Case 3 grp.Text = "周三" & zh Case 4 grp.Text = "周四" & zh Case 5 grp.Text = "周五" & zh Case 6 grp.Text = "周六" & zh Case Else grp.Text = zh End Select Next 测试却是一直错误,不知错在哪里? |
-- 作者:有点蓝 -- 发布时间:2017/11/24 9:00:00 -- Select Case cdate(zh).DayOfWeek |
-- 作者:有点甜 -- 发布时间:2017/11/24 9:02:00 -- 报什么错?贴出来
For Each zh As Date In DataTables("预约表").GetValues("日期", "日期 is not null") \'增加分组 |
-- 作者:堕落的后天 -- 发布时间:2017/11/24 12:16:00 -- 代码如下---没有报错--但是也没有分组---分组栏显示 default Dim lvw As WinForm.ListView = e.Form.Controls("ListView2") Dim rq As Date = e.Form.Controls("DateTimePicker3").Text Dim rp As Date = rq.AddDays(6) lvw.StopRedraw() \'停止绘制 lvw.Groups.Clear() \'清除原来的分组 lvw.Columns.Clear() \'清除原来的列 lvw.Rows.Clear() \'清除原来的行 lvw.Images.Clear() \'清除原来的图片 Dim filter As String = "日期 >= #" & rq & "# And 日期 <= #" & rp & "# And 所属医生 = \'" & _UserName & "\' And 院区 = \'" & _Usercangku & "\' " lvw.View = ViewMode.Details \'显示模式为详细信息 Dim cls() As String = {"状态","时间段","病人姓名","预约项目") Dim wds() As Integer = {70,100,80,80) For i As Integer = 0 To cls.Length - 1 \'增加列 Dim c As WinForm.ListViewColumn = lvw.Columns.Add() c.Name = cls(i) \'指定列名 c.Text = cls(i) \'指定标题,这里标题和列名相同 c.Width = wds(i) \'指定列宽 Next For Each zh As Date In DataTables("预约表").GetValues("日期","日期 is not null")\'增加分组 Dim grp As WinForm.ListViewGroup = lvw.Groups.Add() grp.Name = zh Select Case cdate(zh).DayOfWeek Case 0 grp.Text = "周日" & zh Case 1 grp.Text = "周一" & zh Case 2 grp.Text = "周二" & zh Case 3 grp.Text = "周三" & zh Case 4 grp.Text = "周四" & zh Case 5 grp.Text = "周五" & zh Case 6 grp.Text = "周六" & zh Case Else grp.Text = zh End Select Next For Each dr As DataRow In DataTables("预约表").Select(filter,"开始时,开始分") Dim r As WinForm.ListViewRow = lvw.Rows.Add() \'增加一行 r.Group = dr("开始时") For Each cl As String In cls \'逐列取值 r(cl) = dr(cl) Next r.CellUseRowStyle = False If dr("状态") = "已约" Then \'用蓝底白字整行显示东正教国家 r.Cells(0).BackColor = Color.LimeGreen r.Cells(0).ForeColor = Color.White Else If dr("状态") = "提醒" Then r.Cells(0).BackColor = Color.IndianRed r.Cells(0).ForeColor = Color.White Else If dr("状态") = "取消" Then r.Cells(0).BackColor = Color.Red r.Cells(0).ForeColor = Color.White Else If dr("状态") = "到达" Then r.Cells(0).BackColor = Color.Magenta r.Cells(0).ForeColor = Color.White Else If dr("状态") = "过期" Then r.Cells(0).BackColor = Color.Gray r.Cells(0).ForeColor = Color.White Else End If r.Tag= dr Next lvw.ResumeRedraw() \'恢复绘制
|
-- 作者:有点甜 -- 发布时间:2017/11/24 12:31:00 -- r.Group = dr("开始时")
改成
r.Group = dr("日期") |
-- 作者:有点甜 -- 发布时间:2017/11/24 12:31:00 -- 如果还有问题做个例子发上来。 |