设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1927|回复: 3
打印 上一主题 下一主题

[Access本身] [技巧]Treeview节点编码技巧

[复制链接]
跳转到指定楼层
1#
发表于 2005-11-8 16:03:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们在treeview 应用中,最先接触到就是节点的编码,举一个设计的例子,

Rootkey=”AAA”

SubAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="1" UnitName="”">001”</st1:chmetcnv>

SubAAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="1001" UnitName="”">001001”</st1:chmetcnv>

SubABkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="1002" UnitName="”">001002”</st1:chmetcnv>

那么再增加一个一级子节点

strNewID = Rootkey & Format((trvw.Nodes(Rootkey).Children + 1),”<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="0" UnitName="”">000”</st1:chmetcnv>)

麻烦,难看

我们可以把编码中小于100的不要,取100到999,

SubAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="100" UnitName="”">100”</st1:chmetcnv>

SubAAkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="100100" UnitName="”">100100”</st1:chmetcnv>

SubABkey=”AAA<st1:chmetcnv w:st="on" TCSC="0" NumberType="1" Negative="False" HasSpace="False" SourceValue="100101" UnitName="”">100101”</st1:chmetcnv>

上面的代码就可以写成

strNewID = Rootkey & (trvw.Nodes(Rootkey).Children + 1)

同样,在删除,移动节点时都将简化了,大家可以试着将编码为(1-999)及(100-999)的SubAAkey和SubABkey的Key用编程进行交换,就可以体会到好处了

另外Rootkey的长度应该和编码长度一样,如我们编码是三位数,那Rootkey长度也应该是三(“AAA”),这个在实际设计中会有一些便利
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-11-8 16:28:00 | 只看该作者
幸苦。。学习学习。。
3#
发表于 2005-11-8 18:42:00 | 只看该作者
我对Treeview一窍不通,版主有没有这方面的资料介绍啊?
4#
 楼主| 发表于 2005-11-8 19:17:00 | 只看该作者
查找一下旧贴,例子很多
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-11 01:27 , Processed in 0.082690 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表