以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于按日期展开的目录树  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=44040)

--  作者:czy66ds
--  发布时间:2013/12/21 11:14:00
--  [求助]关于按日期展开的目录树

为了生成按产品名称展开的目录树

 

1、在窗口中加入控件TreeView和一个表控件,

 

2、在窗口AfterLoad事件中写入:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nde As WinForm.TreeNode

Dim s As String
Dim Values() As String
trv.Nodes.Add("按产品名称")
trv.SelectedNode = trv.Nodes("按产品名称")
s = DataTables("产品表").GetComboListString("产品名称")
Values = s.split("|")
For i As Integer = 0 To Values.Length-1
    trv.SelectedNode.Nodes.Add(Values(i))
Next

 

3、窗口控件TreeView的NodeMouseClick事件中写入:
Dim s As String = e.Node.FullPath
Dim Values() As String
Values = s.split("\\")
Dim Filter As String
If Values.Length = 1
    Filter = ""
Else
    If Values(0) = "按产品名称"
        Filter = "[产品名称] = \'" & Values(1) & "\'"
    End If
End If

Tables("产品表_查询表").Filter = filter

 

我的问题是:为了再生成按日期(以年和月为节点)展开的目录树该如何添加相关代码?

[此贴子已经被作者于2013-12-21 11:14:49编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/12/21 11:28:00
--  

做个再生成的按钮:

 

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nde As WinForm.TreeNode

Dim s As String
Dim Values() As String

trv.Nodes.Clear() \'清除以前的节点
trv.Nodes.Add("按产品名称")
trv.SelectedNode = trv.Nodes("按产品名称")
s = DataTables("产品表").GetComboListString("产品名称")
Values = s.split("|")
For i As Integer = 0 To Values.Length-1
    trv.SelectedNode.Nodes.Add(Values(i))
Next

[此贴子已经被作者于2013-12-21 11:28:33编辑过]

--  作者:czy66ds
--  发布时间:2013/12/21 11:32:00
--  
谢谢。但是我的问题是按日期以年和月为节点的代码不会写,一看见日期就蒙圈。
--  作者:狐狸爸爸
--  发布时间:2013/12/21 11:35:00
--  

按年月生成目录树,帮助有例子:

http://www.foxtable.com/help/topics/0917.htm

 


--  作者:czy66ds
--  发布时间:2013/12/21 11:39:00
--  
我的意思是说如何加写到一楼的的事件里。就是按产品的节点还要,再加上按日期的。
--  作者:狐狸爸爸
--  发布时间:2013/12/21 11:43:00
--  
不懂你的意思,最好用一个简单明了的小例子说话。