Fråga : Sladdtreen med radiosände knäppas

Jag har XML-data, och jag önskar att visa att data i sladdTree kontrollerar med radiosände knäppas. Anta att vi har efter applikationen in att förlägga: hur kan vi sammanslutningsladdtreen och att knäppas för leafs.

Let oss,


: Applikationxmlns: för http://www.adobe.com/2006/mxml för mx=" för >
" för #FFFFFF " för backgroundColor= för nofollow " > http://www.adobe/>.com/2006/mxml " " för rel= " för _blank " target= ": Label= " för id= " item1 för för
för >
" för myDataen " för id= för XML-format= " e4x " listar label= " för id= " item2 för


för label= " " för part2” för id= för
för label= " " för part1 " för id= för
kontrollerad part1 " = ”riktig” kontrollerad part2” = ”falsk” listar label= " part3” för id= " part2” för
för label= " " för part2” för id= för
för label= " " för part1” för id= för
kontrollerad part1” = ”kontrollerad falsk” kontrollerad part2” = ”falsk” = ”riktigt”," för
label= " för id= " item3 för för/>

för label= " " för part2” för id= för
för label=, part2” part4” kontrollerade = ”falsk” kontrollerad part5” = ”falsk” listar id= " part1” för
för label= " listar E " för id= " item5” för
för/>
för label= " " för part2” för id= för
för label= " " för part1” för id= för
" för objekt D " för label= " för item4” för id= för för
för c-" >
kontrollerad part1” = ”falsk” kontrollerad part2” = ”riktig”, label= " part1” för id= " part15” för
för label= " listar F " för id= " item6” för
för/>
för label= " kontrollerade part1” = ”kontrollerad falsk” = ”riktig”


: XML>
 
 
     ” 5”” paddingBottom= " för paddingRight= " 5 5 "

: Width= för
" för showRoot= " för
" " för myTree” för id= för Tree
falsk 100%” height= för
" 100%” för labelField=" @label för
” {ogiltiga} folderClosedIcon= för
” ”{ogiltig} folderOpenIcon= för
”” {ogiltig} defaultLeafIcon= för
" ”dataProvider= för
” {myDataen}” openItems= för
" {myDataen. .item} ”>

       
   
             
   

How kan oss uppnå efter:
•,Befolka treen som baseras på kontrollerat, värderar (den utvalda showen markerar, om det är riktigt),
•,Bestäm den utvalda (kontrollerade) knutpunkten med dess förälder för mer ytterligare processing.
•,Radiosände knäppas bör fungera på varje
(vad för knutpunkten individuellt jag betyder vid detta att vi bör ha radiosände knäppas gruppen för ett varje för exempel
List A för förälder node.
As barn har radiosände knäppas och händelsen på det radiosände knäppas inte bör påverka listar B radiosände knäppas).


" klar "

Svar : Sladdtreen med radiosände knäppas

Är efter min lösning:
1- Skapa en beställnings- TreeItemRenderer som följer:

RadioButtonTreeItemRenderer.as
_________________________________________________
paketera
{
      import flash.events. Händelse;
      
      import mx.controls.RadioButton;
      import mx.controls.RadioButtonGroup;
      import mx.controls.treeClasses.*;

      allmänhet klassificerar RadioButtonTreeItemRenderer fördjupa TreeItemRenderer
      {
            offentlig var RadioBtn: RadioButton;
            offentlig var RadioBtnGR: RadioButtonGroup
        offentlig var-itemXml: XML;

            allmänhet fungerar RadioButtonTreeItemRenderer ()
            {
                  toppet ();
                  mouseEnabled = falskt;
            }


            åsidosättandeallmänhet fungerar fastställda data (värdera: Anmärka): annullera {
            om (värdera! = ogiltigt) {
                super.data = värderar;
               
                this.itemXml = XML (värdera);
                om (riktig this.itemXml.@checked-==) {
                    this.RadioBtn.selected = true;
                } annars {
                    this.RadioBtn.selected = falskt;
                }
            }
        }
        skyddad åsidosättande fungerar createChildren (): utan laga kraft {
            super.createChildren ();
            RadioBtn = nya RadioButton ();
            RadioBtnGR = nya RadioButtonGroup ();
           
           RadioBtn.group = RadioBtnGR;
           addChild (RadioBtn);
        }
        skyddad åsidosättande fungerar updateDisplayListen (unscaledWidth: Numrera unscaledHeight: Numrera): annullera {
            super.updateDisplayList (unscaledWidth, unscaledHeight);
            om (super.data) {
                var-tld: TreeListData = TreeListData (super.listData);

                om (tld.hasChildren) {
                    this.RadioBtn.visible = falskt;
                } annars {
                    this.RadioBtn.visible = true;
                }
                om (RadioBtn.visible) {
                    this.RadioBtn.x = super.label.x
                    super.label.x = this.RadioBtn.x + 17;
                    this.RadioBtn.y = super.label.y+8;
                }
            }
        }
      
      
}
}

________________________________________

2- applikationen kodifierar är:

http://www.adobe.com/2006/mxml " backgroundColor= " #FFFFFF " >

      
            

                  
                        
                        

                  


                  
                        
                        
                        
                        
                        
                  


                  
                        
                        
                  
 

            

      


      
                              import mx.collections.ArrayCollection;
                  import mx.rpc.events.ResultEvent;
                  import mx.controls. Vaket;


                  privat fungera TreeClickHandler (händelse: Händelse): utan laga kraft
                  {
                        var-selectedXmlList: XMLList;
                        var-itemObject: Anmärka = event.currentTarget.selectedItem;

                        om (! myTree.dataDescriptor.isBranch (itemObject)) {
                              selectedXmlList = myData.item.part. (@parentid== itemObject.@parentid);
                              processSelection (selectedXmlList, itemObject.@id);
                        }

                  }

                  privat fungera processSelectionen (lista: XMLList Objid: Stränga): annullera {
                        var-objekt: XML;
                        för varje (objektet listar in) {
                              om (item.@id! =Objid)
                              {
                                    item.@checked = falskt;
                              } annars
                              {
                                    item.@checked = true;
                              }
                        }
                  }

            ]] >
      



      
                                     id= " myTree ",  
                         itemClick= " TreeClickHandler (händelse) ”,      
                         itemRenderer= " RadioButtonTreeItemRenderer ",
                         " falsk " showRoot=,
                         width= " 100% ",  
                         height= " 100% ",
                         labelField= " @label ",                                            
                         {ogiltig} folderClosedIcon= " ”,
                         {ogiltig} folderOpenIcon= " ”,
                         {ogiltig} defaultLeafIcon= " ”,
                         dataProvider= " {myDataen} ”,
                         openItems= " {myDataen. .item} ”>
            


      



Andra lösningar  
 
programming4us programming4us