Tree 从自引用表/sObject在VisualForce/Apex中创建树状结构

Tree 从自引用表/sObject在VisualForce/Apex中创建树状结构,tree,salesforce,apex-code,visualforce,force.com,Tree,Salesforce,Apex Code,Visualforce,Force.com,我的控制器都是定制的 我有一个对象/表,其中一个字段引用同一个对象并表示父对象 对象/表中有许多行 我希望将它们全部转储到VF,并允许用户检查哪些行适用于它们。如果父对象不适用于用户,则子对象将永远不适用 为了限制用户在页面上必须看到的项目数量,我希望仅显示顶级对象,并且只有当用户选择顶级对象时,他才会看到其子对象。从理论上讲,顶级对象可以具有无限的深度 视觉力和顶点是如何最好地完成的 谢谢大家! 例如,仅显示父帐户所需的 SELECT Id, Name FROM Account WHERE P

我的控制器都是定制的

我有一个对象/表,其中一个字段引用同一个对象并表示父对象

对象/表中有许多行

我希望将它们全部转储到VF,并允许用户检查哪些行适用于它们。如果父对象不适用于用户,则子对象将永远不适用

为了限制用户在页面上必须看到的项目数量,我希望仅显示顶级对象,并且只有当用户选择顶级对象时,他才会看到其子对象。从理论上讲,顶级对象可以具有无限的深度

视觉力和顶点是如何最好地完成的


谢谢大家!

例如,仅显示父帐户所需的

SELECT Id, Name FROM Account WHERE ParentId = null
当用户决定要查看一条记录的子记录时(可以通过

  • (免费)
  • (付费,不知道是否有一个“试运行”选项可以用来查看至少使用的视觉力。我与这家公司没有任何关系)
  • SELECT Id, Name, (optional subquery here)
    FROM Account
    WHERE ParentId = :selectedId
        OR Parent.ParentId = :selectedId
        OR Parent.Parent.ParentId = :selectedId
        ... // We can use up to 5 dots
    ORDER BY ParentId, Parent.ParentId, Parent.Parent.ParentId ...