以文本方式查看主题

-  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
--  
如果还有问题做个例子发上来。