用了合并列”子目号+ '.' +子目名称 as 子目,支付编号+ '.' +细目名称 as 细目“生成加载树节点,显示目录树中的”子目“,”细目“列无效。请老师指导
窗口事件:
If User.Name = "开发者" Or User.Name = "管理员" Then
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELEC T DISTINCT 项目名称,施工合同段,章节,子目号+ '.' +子目名称 as 子目,支付编号+ '.' +细目名称 as 细目 Fro m {工程量清单}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"项目名称|施工合同段|章节|子目|细目")
trv.Nodes.Insert("加载所有数据",0)
Else
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELEC T DISTINCT 项目名称,施工合同段,章节,子目号+ '.' +子目名称 as 子目,支付编号+ '.' +细目名称 as 细目 Fro m {工程量清单} where 承包人机构 = '" & User.Name & "' or 监理机构 = '" & User.Name & "' or 业主机构 = '" & User.Name & "'"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"项目名称|施工合同段|章节|子目|细目")
trv.Nodes.Insert("加载所有数据",0)
End If
vars("工程量清单filter") = DataTables("工程量清单").LoadFilter
目录加载树事件:
Dim Filter As String = "1=1"
Dim dr = e.node.FullPath.split("\") '获取生成此节点的行
If e.Node.Text <> "加载所有数据" Then
Select Case e.Node.Level
Case 0
Filter = "[项目名称] = '" & dr(0) & "'"
Case 1
Filter = "[项目名称] = '" & dr(0) & "'And [施工合同段] = '" & dr(1) & "'"
Case 2
Filter = "[项目名称] = '" & dr(0) & "'And [施工合同段] = '" & dr(1) & "' And [章节] = '" & dr(2) & "'"
Case 3
Filter = "[项目名称] = '" & dr(0) & "'And [施工合同段] = '" & dr(1) & "' And [章节] = '" & dr(2) & "' And [子目] = '" & dr(3) & "'"
Case 4
Filter = "[项目名称] = '" & dr(0) & "'And [施工合同段] = '" & dr(1) & "' And [章节] = '" & dr(2) & "' And [子目] = '" & dr(3) & "'And [细目] = '" & dr(4) & "'"
End Select
End If
If User.Name = "开发者" Or User.Name = "管理员" Then
DataTables("工程量清单").LoadFilter = filter
DataTables("工程量清单").LoadOver="支付编号"
DataTables("工程量清单").LoadReverse = True
DataTables("工程量清单").LoadTop= 5
DataTables("工程量清单").Load
Tables("工程量清单").sort="支付编号"
Else
DataTables("工程量清单").loadfilter = "(承包人机构 = '" & User.Name & "' or 监理机构 = '" & User.Name & "' or 业主机构 = '" & User.Name & "') and " & Filter
DataTables("工程量清单").LoadOver="支付编号"
DataTables("工程量清单").LoadReverse = True
DataTables("工程量清单").LoadTop= 5
DataTables("工程量清单").Load
Tables("工程量清单").sort="支付编号"
End If
vars("工程量清单filter") = DataTables("工程量清单").LoadFilter