If e.Node.Level >= 2 Then '你的代码,至少要第三级别节点才可以执行,否则后面的vals(2)肯定出错.
Dim dr As DataRow = e.Node.DataRow '新增的'
If dr IsNot Nothing Then '要判断是否有符合条件的行,如果没有,下面的代码肯定出错.
Dim Result As DialogResult = messagebox.show("你是想修改该还是新增记录","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If result = DialogResult.Yes Then
Dim r As Row = Tables("代课").Current
r("学校名称") = dr("学校名称")
r("班级") = dr("班级").Substring(3,2) & "级" & dr("班级").Substring(5,2) & "班"
r("节次") = dr("节次")
r("科目") = dr("科目")
r("申请人") =dr("任课教师")
Dim filter As String = "教师 <> '& r("申请人") & ' And dr("班级") = r("班级")"
Tables("课程表").Filter = filter
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView2")
trv.BuildTree("课程表","学校名称|班级", filter, "班级")
trv.StopRedraw '停止绘制目录树
For Each nd As WinForm.TreeNode In trv.AllNodes '遍历所有节点
If nd.Level = 2 Then '如果是二级节点
nd.Text = nd.text & "," & nd.DataRow("科目") & "," & nd.DataRow("任课教师")
End If
Next
trv.ResumeRedraw
End If
If result = DialogResult.no Then
Return
End If
我想在在view1中选定了学校名称,班级,节次,科目,申请人后在生成view2中选代课人和科目, 为了方便,view2中将课程表过滤出不含代课申请人和班级为申请代课班级,filter改不对,请指导,另外后紫色部分能不能优化下.谢谢