请教各位:关于treeview控件里的一个需求!

nofound007 2003-10-26 12:54:25
需求是这样的:有一个数据库里有一个时间字段(YYYY-MM-DD格式)。可是这个时间并不一定是连续的(注意:不是连续的),现在要利用treeview这个控件把它分出来,具体做法是,BOOT这一层为年,子层为月,再子层为日,之后还有可能根据实际情况还有子层,这个年月日从数据库提取出来,而且当数据库中出现一个新的年份时,在treeview的BOOT层上可以自动添加上去。

请问这样的需要如何做最好,最简单!请大家提提建议,如何?

(我是个编程新手,比较菜的,但是这个需求我会做,但我觉得我的思路做起来比较麻烦,所以还是请教大家了)

先谢了!
...全文
49 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmzs 2003-10-28
  • 打赏
  • 举报
回复
lirh 2003-10-28
  • 打赏
  • 举报
回复
关注ing
nofound007 2003-10-28
  • 打赏
  • 举报
回复
northwolves(野性的呼唤)

说的似乎可以解决问题,我先去看看!先谢了!
northwolves 2003-10-28
  • 打赏
  • 举报
回复
麻烦,好象没有好办法:
Dim d(1 To 300) As Date

Private Sub Command1_Click()
On Error Resume Next
Dim nodex As Node
For i = 1 To 300
With TreeView1
.LineStyle = tvwRootLines
Set nodex = .Nodes.Add(, , "y" & Year(d(i)), Year(d(i)))
nodex.Expanded = True
nodex.Sorted = True
Set nodex = .Nodes.Add("y" & Year(d(i)), 4, "ym" & Year(d(i)) & Month(d(i)), Month(d(i)))
nodex.Expanded = True
nodex.Sorted = True
Set nodex = .Nodes.Add("ym" & Year(d(i)) & Month(d(i)), 4, "d" & d(i), Day(d(i)))
nodex.Sorted = True
End With
Next
End Sub

Private Sub Form_Load()
Randomize
For i = 1 To 300
d(i) = DateSerial(2000, 1, 1 + Int(2000 * Rnd))
Next
End Sub
nofound007 2003-10-27
  • 打赏
  • 举报
回复
?
nofound007 2003-10-26
  • 打赏
  • 举报
回复
若有代码,或者类似的代码更好!
nofound007 2003-10-26
  • 打赏
  • 举报
回复
高手们,帮忙啊!
onlineboy 2003-10-26
  • 打赏
  • 举报
回复
只能读每一条数据,然后分析其日期数据,再绘制到TreeView的相应位置
建议利用每一个Node的Key字段,比如Root的Key为"KeyYYYY",月的为"KeyYYYYMM",日的就是"KeyYYYYMMDD",这样你就可以为每一条数据找到合适的位置了
aha99 2003-10-26
  • 打赏
  • 举报
回复
好像没有特别简单的办法啊,只能是读出值来,分析值来进行treeview的控制
nofound007 2003-10-26
  • 打赏
  • 举报
回复
各位大哥帮帮忙啊!!
nofound007 2003-10-26
  • 打赏
  • 举报
回复
真的没有其他办法了?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧