salesforce如何使用动态重复次数

时间:2013-07-24 17:20:41

标签: javascript jquery angularjs apex-code visualforce

public class product2tree
{


public List<prowrapper> prowrapperlist{get;set;}
Map<ID,product2__c> promap;

public product2tree()
{
    prowrapperlist=new List<prowrapper>();
    promap=new Map<ID,product2__c>();
    for(product2__c pro:[select name,product2__c,(select name,product2__c from product2s__r) from product2__c])
        {
            promap.put(pro.id,pro);
        }
    for(ID id:promap.keySet())
        {
            product2__c pro=promap.get(id);
            if(pro.product2__c==null)
                {
                  prowrapperlist.add(new prowrapper(pro,promap));
                }
        }
}

public class prowrapper
{
     public String name{get;set;}
     public List<prowrapper> child{get;set;}
     public boolean isSelected{get;set;}
     Id proid;

     public prowrapper(product2__c pro,Map<ID,product2__c> promap1)
        {
            child=new List<prowrapper>();
            pro=promap1.get(pro.id);
            name=pro.name;
            isSelected=false;
            proid=pro.id;
            for(product2__c pro1:pro.product2s__r)
              {
                 child.add(new prowrapper(pro1,promap1));                          
              }

        }
}

}

现在我想在visualforce页面上将prowrapperlist显示为treeView。问题在于它是多级深度的,并且可以是任何级别的深度。所以有谁能告诉我如何在visualforce页面上显示它。

在visualforce页面上的

我正在使用这个

<apex:repeat value="{!prowrapperlist}" var="pro">


    <li>
        {!pro.name}

        <ul>
        <apex:repeat value="{!pro.child}" var="proc">
            <li>
                {!proc.name} 
                <ul>
                    <apex:repeat value="{!proc.child}" var="proc1">
                    <li>
                        {!proc1.name} 
                        <ul>
                            <apex:repeat value="{!proc1.child}" var="proc2">
                            <li>
                                {!proc2.name} &nbsp;&nbsp;&nbsp;&nbsp;

                                <apex:inputCheckbox value="{!proc2.isSelected}"/>

                            </li>
                              </apex:repeat>
                       </ul>

                    </li>
                    </apex:repeat>
                </ul>



            </li>
        </apex:repeat>
        </ul>

    </li>

 </apex:repeat>   

意味着它是完全静态的。尽可能多的时间我会使用重复我可以显示那个级别很深的树。但我希望它充满活力。就像循环一样。 你可以使用任何库,即javscript,jquery,angularjs

提前致谢。

0 个答案:

没有答案