一个树使用的实例,仅供参考..

mdejtod mdejtod 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在网上看到很多人问TREEVIEW的使用方法,当然,例子代码也非常多,这是我之前写的,将以下代码贴出来,抛砖引玉,仅供参考一下,
本人水平有限,只能实现一些简单的功能...各位牛人别拍砖啊..-_-...
注: 在 FormShow 中的 Filter 只是为了进行权限判断,只加载具备条件的节点,少了一段代码,就是在保存之后插入一个
节点和数组元素...

--------------------------------------------------------------------------------------------
表结构:
dp_companytype dp_company
------------------------------------------------------------------
Coid char Companytypeid int
Companytypeid int parentid int
AreaID int
isopen bit
name char

数据:
dp_companytype dp_company
_________________________________________________ ____________________________________________
parentid | Companytypeid | Areaname Companytypeid | coid | isopen | name
_________________|__________________|____________ _________________|______|_________|_________
0 | 1 | 华南区 1 | 001 | 1 | test1
_________________|__________________|____________ _________________|______|_________|_________
1 | 2 | 广东省 2 | 002 | 0 | test2
_________________|__________________|____________ _________________|______|_________|_________
2 | 3 | 深圳市 3 | 003 | 0 | test3
_________________|__________________|____________ _________________|______|_________|_________
2 | 4 | 广州市 5 | 004 | 1 | test4
_________________|__________________|____________ _________________|______|_________|_________
3 | 5 | 福田区 4 | 005 | 1 | test5
_________________|__________________|____________ _________________|______|_________|_________
6 | 006 | 1 | test6
_________________|______|_________|_________
------------------------------------------------------------------------------------------------------------

1.树节点添加流程:
(1) 首先从 dp_companytype 表中加载出所有的地区,形成一个一级节点,AddParentNode过程
所有区域
|
|---华南区
| |
| |___广东省
| | |
| | |___广州市
| | |
| | |
| | |
| | |___深圳市
| | | |
| | | |---福田区
| | | |


(2) 之后再从 dp_company 表中查询 Companytypeid 与 dp_companytype 表中 Companytypeid 相同的记录,将其添加到相应的区域下
AddChildNode(ChildNode:TTreeNode;nCompanytypeid:integer;Isparentid:boolean);
参数说明 : 1.新增子节点的父节点,2.查找的二级节点ID,3.该节点是否无父节点

(3) dp_company 表中有些 Companytypeid 在 dp_companytype 中不存在,当然也要加载到树上,作为单独的一个二级节点添加

(4) 添加最后一级节点,即 dp_company中的节点

SelectCoid(aChildNode,aChildquery.fieldbyname('Companytypeid').AsInteger); //添加相应的店名

(5) 最后形成的节点应该是:

所有区域
|
|---华南区
| |
| |___test1
| |
| |___广东省
| | |
| | |___test2
| | |
| | |___广州市
| | | |
| | | |___test5
| | |
| | |___深圳市
| | | |
| | | |___test3
| | | |
| | | |---福田区
| | | | |
| | | | |---test4
| | | | |
|__________________________test6 (由于它的companytypeid 在 dp_companytype中不存在,故将它加到一级子节点上)

当然程序有根据 isopen 将相应的节点差色(最后一级子节点),

之后就是数据操作,比如修改 dp_company 中 Companytypeid 的值,则将相应的记录移动别的节点上,为了使数据和界面分隔,将代码写在

datasource 的DataChange 事件中
...全文

相关推荐

Microsoft.WinDbg-1.2610.1001.0-x64

Microsoft.WinDbg-1.2610.1001.0-x64

CSUer丶夜神゛

Claude 代码超强能力:核心技能库

Superpowers 是一套面向你的编码智能体的完整软件开发方法论,由一组可组合技能和若干初始指令构建而成,用以确保智能体真正使用这些技能。

yiersansiwu123d

PDF发票内容提取排版并结构化导出xlsx/cvs嵌入式ptyhon

【本地发票提取工具】 核心优势:不依赖传统粗糙 OCR,基于文字排版结构进行精准提取。仅“税网”下载及税网邮件发送的原版 PDF 发票(开票软件发送的不太支持)能实现开票明细级的秒级本地提取,告别只能提抬头、总额的尴尬。 可免费试用 3 天! 【用前须知】 去微软官网下载VC_redist.x64.exe运行修复运行库(必要的前置操作),之后再解压本工具rar,运行本exe即可。 VC_redist.x64.exe官网永久下载地址 https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist 【安全须知】 个人开发暂未做代码签名,杀软可能会有误报拦截。遇到拦截请在杀软中添加信任/白名单即可。 VirusTotal扫描结果 2/61,主流杀软均通过,个别引擎因无签名误报。官网 virustotal.com 点击页面中间显眼的 “Choose file”(选择文件)按钮上传扫描。

信人远邮168

Flask校园二手交易平台课设

这是一份基于 Flask + SQLite 的校园二手交易平台课程设计完整资料,包含实验报告(Markdown、HTML、PDF 三种格式)、全部 Python 源码、8 个 Jinja2 页面模板、5 张运行截图、答辩 PPT。学生注册账号后发布闲置物品,同校同学按分类翻、按关键词搜,看中了在详情页留言咨询,管理员能下架违规商品。不接支付不做物流,买卖双方线下交易,平台只负责信息展示和沟通,一个学期课设能做完。 系统功能:用户注册登录登出,session 维持登录态;发布商品填标题、描述、价格、选六类分类,图片可选上传不强制;首页卡片网格展示在售商品,顶部搜索框按标题描述模糊匹配,下方分类按钮筛选,搜索和筛选可组合;商品详情页展示大图、完整描述、卖家昵称,登录用户能留言咨询;我的发布页能看自己挂过的所有商品并删除;管理员后台能看全部商品,一键下架违规品或恢复在售。 几个值得参考的实现点:密码用 Werkzeug 哈希加盐存储;登录接口不区分"用户不存在"和"密码错误",防枚举用户名;图片上传限制后缀和 2MB,文件名随机串重命名,防覆盖和传脚本;分类和搜索筛选组合用动态拼 SQL;首次启动自动建表写管理员账号;Bootstrap 5 栅格,手机浏览器也能看。 适合正在做 Web 课程设计、Python 后端入门的学生,以及想学习"Flask 蓝图 + SQLite + 登录鉴权 + 文件上传"完整小项目的自学者。拿到手后 cd src,pip install -r requirements.txt,python app.py,浏览器开 http://127.0.0.1:5000 即可,管理员账号 admin/admin123,普通用户自行注册。

小鹿( ﹡ˆoˆ﹡ )

《低秩加稀疏模型的高效动态平行MRI重建.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

海神之光
评论 9
收藏 已收藏
分享
返回顶部
mdejtod
Delphi 5,944 成员 262,941 内容