Dim nms() As String = {"xinmin","qsdate","jsdate"}
Dim sps() As String = {"'","#","#"}
Dim bjf() As String = {" = "," >= "," <= "}
Dim fds() As String = {"姓名","随访时间","随访时间"}
Dim filter As String
For i As Integer = 0 To nms.Length - 1
If e.Form.Controls(nms(i)).value IsNot Nothing Then
If filter > "" Then
filter = filter & " and "
End If
filter = filter & fds(i) & bjf(i) & sps(i) & e.Form.Controls(nms(i)).value & sps(i)
End If
Next
If filter > "" Then
Tables("高血压糖尿病老年人的随访个体化健康教育活动记录表").filter = filter
End If
Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.Reset() '重置ListView,清除所有的分组?列?行和图片.
lvw.View = ViewMode.Details
lvw.Images.AddSmallImage("Man", "Man.ico") '添加代表男性的图标
lvw.Images.AddSmallImage("Woman", "Woman.ico") '添加代表女性的图标
Dim cls() As String = {"序号","姓名","性别","年龄","地址","电话","疾病诊断","档案编号","随访时间","随访编号","随访单位","随访图片"} '定义列名
Dim wds() As String = {60,60,50,50,100,100,100,150,100,100,100,100} '定义列宽
For i As Integer = 0 To cls.Length - 1 '增加列
Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
c.Text = cls(i) '指定列标题
c.Name = cls(i) '指定列名
c.Width = wds(i) '指定列宽
Next
For Each dr As Row In Tables("高血压糖尿病老年人的随访个体化健康教育活动记录表").Rows '从数据表中提取数据
Dim vr As WinForm.ListViewRow = lvw.Rows.Add() '增加一行
For Each cl As String In cls '逐列取值
vr(cl) = dr(cl)
Next
If dr("性别") = "男" Then '设置分组
vr.ImageKey = "Man"
Else
vr.ImageKey = "Woman"
End If
vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
Next