以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  刷新目录树  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108975)

--  作者:zhimin
--  发布时间:2017/11/1 17:43:00
--  刷新目录树
老师好!
我在目录树treeview的NodeMouseClick事件中,用了以下代码,请问在我修改了数据表中的数据——建立时间之后,添加什么代码能便于更新目录树的时间目录?(我现在得关闭项目重新登录之后,目录树才会按照修改后的更新)
谢谢!

Dim Filter As String = ""

If e.node.Name <> "显示所有行" Then

    Dim d1 As Date

    Dim d2 As Date

    Dim Year As Integer = e.Node.DataRow("年")

    Dim Month As Integer = e.Node.DataRow("月")

    Dim Product As String = e.Node.DataRow("项目名称")

    

    Select Case e.Node.Level

        Case 0

            d1 = New Date(Year,1,1) \'取得该年的第一天

            d2 = new Date(Year,12,31) \'取得该年的最后一天

            Filter = "建立时间 >= #" & d1 & "# And 建立时间 <= #" & d2 & "#"

        Case 1

            d1 = New Date(Year, Month, 1) \'取得该月的第一天

            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天

            Filter = "建立时间 >= #" & d1 & "# And 建立时间 <= #" & d2 & "#"

        Case 2

            d1 = New Date(Year, Month, 1) \'取得该月的第一天

            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天

            Filter = "建立时间 >= #" & d1 & "# And 建立时间 <= #" & d2 & "# And 项目名称 = \'" & Product & "\'"

    End Select

End If

Tables("商机").Filter = Filter


--  作者:有点甜
--  发布时间:2017/11/1 18:03:00
--  
你把afterLoad事件的代码,拷贝到一个按钮的click事件,不就好了?
--  作者:zhimin
--  发布时间:2017/11/1 18:23:00
--  
不好意思,那您说的做法不好用,修改数据表后,点击按钮,目录树有闪动,但是没有任何变化。
还是关闭项目重新打开才能得到新的目录树的。
[此贴子已经被作者于2017/11/1 18:25:14编辑过]

--  作者:有点甜
--  发布时间:2017/11/1 19:34:00
--  

你先把表格保存,然后再生产目录树,即可。


--  作者:zhimin
--  发布时间:2017/11/1 20:11:00
--  
嗯,我在按钮click事件中添加以下代码,ok了!

DataTables("表名").Save()

谢谢!