![]() |
#2
csyx2025-03-21 11:37
|
只有本站会员才能查看附件,请 登录
【代码:】
* 按钮的 Click 方法
CREATE CURSOR tb1(id int,parent_id int,name varchar(50))
INSERT INTO tb1(id,parent_id,name) VALUES (1,0,'Root')
INSERT INTO tb1(id,parent_id,name) VALUES (2,1,'Child1')
INSERT INTO tb1(id,parent_id,name) VALUES (3,1,'Child2')
INSERT INTO tb1(id,parent_id,name) VALUES (4,2,'GrandChild1')
INSERT INTO tb1(id,parent_id,name) VALUES (5,3,'GrandChild2')
LOCAL lcRootKey
lcRootKey = "Root"
THISFORM.tvw1.Nodes.Clear() && 清空 TreeView
THISFORM.tvw1.Nodes.Add(, , lcRootKey, "Root") && 添加根节点
THISFORM.AddChildNodes(1, lcRootKey) && 从根节点开始递归加载数据
*AddChildNodes表单方法
LPARAMETERS tnParentID, tcParentKey
LOCAL lcKey, lcName
SELECT tb1
SCAN FOR parent_id = tnParentID && 查找当前父节点的子节点
lcKey = ALLTRIM(STR(tb1.id)) && 使用 id 作为节点的唯一键
lcName = ALLTRIM(tb1.name) && 获取节点名称
THISFORM.tvw1.Nodes.Add(tcParentKey, 4, lcKey, lcName) && 添加子节点
THISFORM.AddChildNodes(tb1.id, lcKey) && 递归调用,添加子节点
ENDSCAN
[此贴子已经被作者于2025-3-21 11:03编辑过]