社区
C++ Builder
帖子详情
如何快速地实现 TreeView 的结点枚举?
LngDotin
2006-12-07 11:07:28
TreeView 的结点放在了数据库中,且所有结点的层次不同,只有通过判断父结点的子结点 ID 才能确定它的子结点个数,用了递归法,可是枚举时好慢(近3000个不同层次的结点)。老大们,谁有好的办法,给俺指条明路,谢谢了。
本帖属纯技术帖,谢绝路过顶贴、灌水等非讨论内容。
...全文
235
4
打赏
收藏
如何快速地实现 TreeView 的结点枚举?
TreeView 的结点放在了数据库中,且所有结点的层次不同,只有通过判断父结点的子结点 ID 才能确定它的子结点个数,用了递归法,可是枚举时好慢(近3000个不同层次的结点)。老大们,谁有好的办法,给俺指条明路,谢谢了。 本帖属纯技术帖,谢绝路过顶贴、灌水等非讨论内容。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xwb1966
2006-12-08
打赏
举报
回复
一楼的正解, 就是说, 你程序一开始展现的Tree应该只包含第一层的结点, 但将该结点的HasChildren属性置true, 这样会在该结点前显示"+", 但并不真正从数据库中读. 当该结点被第一次展开时, 再到数据库中读取该结点下一层的内容, 按同样的方法仅读一层即可, 依次类推.
TreeView操作是相当慢的, 只有通过这种办法, 将一次性数据库读取分担到每次展开时读取, 才能解决这个问题, 而且给人的感觉丝毫没有受到影响.
当然, 这种方法也有弱点, 比如调入以后要直接在Tree中遍历查找的功能就要受到限制了.
controstr
2006-12-07
打赏
举报
回复
用几个字段分别存放TreeView各节点的值,本身的序号,父节点的序号,及排序序号
在显示时,如果该节点值没有父节点,则该节点值本身就是父节点,如果存在父节点,则先查找到它的父节点,再AddChild就可以了
一个循环分别读取数据库中的数据就可以遍历所有数据
不知道我说的LZ是否明白
LngDotin
2006-12-07
打赏
举报
回复
回答我想干什么:
一个空 TreeView ,我想把藏在数据库中的各结点按层次枚举出来。数据库有一个字段放有父、子结点的逻辑关系。
wood542344
2006-12-07
打赏
举报
回复
这个问题好像以前的帖子讨论过的。递归的效率是慢了点,不过可以不要一次性全把树整棵都画起来啊。可以先把根结点和根结点下一层结点先画好。下一层子结点先不要画。如果有子结点则先加一个空结点,没有则不加。
最后点击有子结点的结点时,再去数据库里找子结点。。。
这样不会很卡,但访问数据库的次数明显增多。楼主自己看着办喽。
SSM后台管理系统开发实战
一、简介 通过这个课程带大家从零开发一款功能全面的后台管理系统,包括项目搭建、功能
实现
到最后的Linux系统部署全过程。本课程使用SpringMVC + Spring + Mybatis作为主体框架,使用AdminLTE作为前端框架,使用主流关系型数据库Mysql作为存储数据库,使用非关系型数据库Redis作为缓存数据库,并集成SpringSecuriy安全框架做权限的动态管理,集成Swagger2自动生成接口文档,集成Druid连接池进行SQL性能监控,集成ActiveMQ消息中间件进行异步解耦,提高性能。最后使用linux系统进行服务部署,并搭建nginx反向代理服务器提高网站性能。 二、学习目标 通过本课程的学习带大家掌握SSM框架的开发流程,并熟练使用SpringSecurity做为安全框架进行权限管理,整合相关优秀的开源框架进行功能开发。还在项目中带大家学习前端相关的Jquery、Bootstrap等知识。课程
结
束之后希望大家能做到独立进行开发项目的目的,增强解决问题的能力,具备功能落地
实现
的能力。 三、课程涉及知识点 SpringMVC源码分析Mybatis源码分析通用MapperMysql数据库Redis缓存
实现
ActiveMQ消息中间件SpringSecurity鉴权Swagger2接口文档生成自定义注解AOP切面编程自定义过滤器Logback日志整合Druid性能监控Linux系统Nginx反向代理Ajax异步请求技术Jquery基本使用AdminLTE前端框架Chart图表-线状图和饼状图百度地图定位城市BootStrap前端框架BootStrap-Table插件BootStrap-
Treeview
插件Markdown编辑器403、404、500错误页面配置数据库事务消息提示插件toastr.js图片上传插件bootstrap fileinput数字滚动效果pv/uv流量统计...四、课程部分内容截图如下 1、首页 2、菜单管理 3、图床管理 4、图标管理 5、留言反馈管理 6、druid监控 7、登录日志
treeview
TreeView
样式(1)
TreeView
有一个细化的样式模型,允许你完全控制
TreeView
的外观。每个样式作用于一种
结
点。样式由TreeNodeStyle类表示,它继承自更常规的Style类。 和其他富控件一样,通过样式你可以设置前景色和背景色、字体和边框。此外,TreeNodeStyle类加入了表17-10所列的特定
结
点的样式属性。这些属性处理
结
点图片以及
结
点间的间距。 表17-10
WPF之
TreeView
操作实战
1、绑定层级数据源 绘制名称为
TreeView
_NodeList的
TreeView
控件,使用HierarchicalDataTemplate类将具有层级
结
构的数据源绑定至
TreeView
控件。<
TreeView
Name="
TreeView
_NodeList"> <
TreeView
.Resources>
TreeView
样式
TreeView
有一个细化的样式模型,允许你完全控制
TreeView
的外观。每个样式作用于一种
结
点。样式由TreeNodeStyle类表示,它继承自更常规的Style类。 和其他富控件一样,通过样式你可以设置前景色和背景色、字体和边框。此外,TreeNodeStyle类加入了表17-10所列的特定
结
点的样式属性。这些属性处理
结
点图片以及
结
点间的间距。 表17-10 添加的Tre...
PB节点知识 PB
TreeView
查找节点
PowerBuilder提供的
TreeView
控件可以使我们以树形方式分层组织和显示数据,使程序的表现更为灵活,用户的操作更加方便。通常情况下,在
TreeView
控件中通过展开和折叠各分枝,可以方便地对所需信息进行查找和定位,但是如果该控件中的内容层次较多,用户对其内容又不非常了解时,要让用户逐一展开各分枝进行定位就会使效率降低,这种情况下就...
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章