以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何写这个代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90353)

--  作者:刘林
--  发布时间:2016/9/10 16:15:00
--  如何写这个代码
我的代课表中有星期字段(用数字1,2,3,4,5表示),现在窗口中有一个组合框,用于选择日期,选择后计算出该日期是星期几并筛选出来,请问如何写代码,谢谢
--  作者:有点蓝
--  发布时间:2016/9/10 16:28:00
--  
Dim dtp As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Tables("表A").Filter = "星期 = " & dtp.Value.DayOfWeek

--  作者:刘林
--  发布时间:2016/9/10 16:39:00
--  
我是用表A生成的目录树,目的是想在表A筛选后目录树中的星期节点也筛选,如2016.9.5是星期一,当我筛选了表A后,目录树中的星期节点只有星期一,现在表是变了但目录树没变,请问是什么原因,,怎么办?谢谢!
--  作者:有点蓝
--  发布时间:2016/9/10 16:51:00
--  
需要重新生成目录树
--  作者:刘林
--  发布时间:2016/9/10 16:53:00
--  
重新生成了目录树但星期节点还是显出所有星期
--  作者:刘林
--  发布时间:2016/9/10 16:56:00
--  

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("课程表","学校名称|班级|星期|节次" ,"", "班级,星期,节次")
trv.StopRedraw \'停止绘制目录树
For Each nd As WinForm.TreeNode In trv.AllNodes \'遍历所有节点
    If nd.Level = 3 Then \'如果是二级节点
        nd.Text = nd.text & "," & nd.DataRow("科目") & "," & nd.DataRow("任课教师")
    End If
    
    If nd.level = 2 Then        
        nd.Text = "星期" & nd.DataRow("星期")
    End If

    If nd.level = 1 Then
       nd.text = nd.DataRow("班级").Substring(3,2) & "级" & nd.DataRow("班级").substring(5,2) & "班" & nd.DataRow("班级").substring(7,1) & "期" 
End If

Next
trv.ResumeRedraw



组合框textchanged 重新加载了, 另外目录树按了节次排序,但节次是无序的呢,请帮忙指点,谢谢!

--  作者:刘林
--  发布时间:2016/9/10 17:00:00
--  

Dim dtp As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Tables("课程表").Filter = "星期 = " & dtp.Value.DayOfWeek
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("课程表","学校名称|班级|星期|节次" ,"", "班级,星期,节次")
trv.StopRedraw \'停止绘制目录树
For Each nd As WinForm.TreeNode In trv.AllNodes \'遍历所有节点
    If nd.Level = 3 Then \'如果是二级节点
        nd.Text = nd.text & "," & nd.DataRow("科目") & "," & nd.DataRow("任课教师")
    End If
    
    If nd.level = 2 Then        
        nd.Text = "星期" & nd.DataRow("星期")
    End If

    If nd.level = 1 Then
       nd.text = nd.DataRow("班级").Substring(3,2) & "级" & nd.DataRow("班级").substring(5,2) & "班" & nd.DataRow("班级").substring(7,1) & "期" 
End If

Next
trv.ResumeRedraw


组合框textchanged 重新加载了, 另外目录树按了节次排序,但节次是无序的呢,请帮忙指点,谢谢!


--  作者:有点蓝
--  发布时间:2016/9/10 17:11:00
--  
trv.BuildTree("课程表","学校名称|班级|星期|节次" ,"在这里添加筛选条件", "班级,星期,节次")

如:trv.BuildTree("课程表","学校名称|班级|星期|节次" ,Tables("课程表").Filter, "班级,星期,节次")

"班级,星期,节次" --先按班级其次是星期,然后才是节次的顺序

--  作者:刘林
--  发布时间:2016/9/10 17:32:00
--  
谢谢!