递归函数:查询任意父节点下面的全部子节点
最近有客户提问,如何根据父节点查询出与其对应的全部子节点。数据表的结果大致如下:
我们可以看出,每一条记录(ID)都对应着一个上级记录(ParentID),这是现状。
而需求则是:我在页面中选中任意一个(ParentID),都能自动查询出与之对应的(ID),并且查询层级没有限制,直到再也找不出为止。
下面帖几张图,给大家看一下最终效果:
最后,照例将项目源码奉上。
学习下:lol // JavaScript source code
var table = Forguncy.Page.getListView("表格1");
var rowCount = table.getRowCount();
var initialData = new Array();
for (var i = 0; i < rowCount; i++)
{
initialData.push({
id: parseInt(table.getText(i, 0)),
pid: parseInt(table.getText(i, 2))
});
}
var children = new Array();
var getChildren = function(id)
{
for(var i = 0; i < initialData.length; i++)
{
var currentID = initialData.id;
var currentPID = initialData.pid;
if (currentPID == parseInt(id))
{
children.push(currentID);
getChildren(currentID);
}
}
}
var index = table.getSelectedRowIndex();
var id = table.getText(index, 0);
getChildren(id);
var cp = Forguncy.Page.getCell("childrenPanel");
cp.setValue(children.toString());
amtath 发表于 2021-6-10 20:58
感谢您对活字格的支持。
后面有问题,欢迎继续发新帖交流:loveliness: 牛逼的很啊,点击任意一节点获得所有父节点的操作怎么实现啊,大神。
页:
[1]