以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请问这个filter怎么改  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90562)

--  作者:刘林
--  发布时间:2016/9/17 10:16:00
--  请问这个filter怎么改
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改不对,请指导,另外后紫色部分能不能优化下.谢谢


--  作者:有点蓝
--  发布时间:2016/9/17 10:40:00
--  
Dim filter As String = "教师 <> \'" & r("申请人") & "\' And 班级 = \'" & r("班级") & "\'"
--  作者:有点蓝
--  发布时间:2016/9/17 10:42:00
--  
基本没有优化的余地了。
--  作者:刘林
--  发布时间:2016/9/17 11:02:00
--  
为什么view2不能生成呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:教务管理系统.table

请指导,谢谢!

--  作者:有点蓝
--  发布时间:2016/9/17 11:21:00
--  
Dim filter As String = "任课教师 <> \'" & r("申请人") & "\' And 班级 = \'" & dr("班级") & "\'"