请教大佬,treeview递归加载树代码修改
请教大佬,一个表表tb1(有如下3个字段 id parent_id name) 把数据传入treeview控件中显示树,表做了个递归方法,这块要如何改,我这样写一直无法实现,要如何一下【代码:】
* 按钮的 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编辑过]