代码如下---没有报错--但是也没有分组---分组栏显示 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() '恢复绘制