Question : Arbre de câble avec le bouton par radio

J'ai des données de XML, et je veux prouver que des données dans la commande d'arbre de câble avec le bouton par radio. Comment oser nous combinons l'arbre de câble et le bouton pour leafs.

Let nous supposent que nous avons l'application suivante en place :

< ? version= " 1.0 " de xml ?
: Xmlns d'application : du >
de " #FFFFFF " de backgroundColor= du nofollow " > http://www.adobe/>.com/2006/mxml " de " rel= " de _blank de " target= " de http://www.adobe.com/2006/mxml de " href= " de
de label= " de " part2 » d'id= de
de label= " de " part1 » d'id= de
de la " liste B " de label= de " item2 » d'id= de


de label= " de " part2 » d'id= de
de label= " de " part1 " d'id= de
de la " liste A " de label= de " item1 " d'id= de du
du >
de " myData " d'id= de " e4x " de format= de XML part1 " a vérifié = part2 » vérifié = part1 » vérifié = part2 » vérifié = vérifié = « vrai »l'id= « vrai » « faux » « faux » « faux » " part1 » de
de la " liste E " de label= de l'id= " item5 » de
de/>
de label= " de " part2 » d'id= de
de label= " de " part1 » d'id= de
du " article D " de label= de " item4 » d'id= de du
du >
de la " liste C " de label= de " item3 » d'id= de de/>

de label= " de " part2 » d'id= de
de label= " de " part2 » d'id= de
part4 » a vérifié = part5 » vérifié = part1 » vérifié = part2 » vérifié = label= « faux » " part1 » de l'id= le " part15 » de
de la " liste F " de label= de l'id= " item6 » de
de/>
de label= " part1 » a vérifié = vérifié = le


: XML>
 
 
      » 5 » » paddingBottom= " du paddingRight= " 5 5 "

: Width= " du
" de " myTree » d'id= du
d'arbre faux du
" de showRoot= 100% » height= du
" 100% » folderClosedIcon= du
 » de " @label de labelField= » du
{nulle} « folderOpenIcon= du
 » {nulle} » defaultLeafIcon= du
" {nulle} « dataProvider= du
 » {myData} » openItems= du
" {myData. .item} « >

       
   
             
   

How peut nous réaliser ce qui suit :
•Peupler l'arbre basé sur le
de valeur (marque choisie par exposition s'il est vrai)•Déterminer le noeud (vérifié) choisi avec son parent pour davantage de processing.
•Le bouton par radio devrait travailler à chaque
(ce qui de noeud individuellement je veux dire par ceci que nous devrions avoir le groupe de bouton par radio pour chaque parent que des enfants du
List A de node.
comme exemple a le bouton par radio et l'événement sur ce bouton par radio ne devrait pas affecter le bouton par radio de la liste B).


class= de

Réponse : Arbre de câble avec le bouton par radio

Ce qui suit est ma solution :
1- Créer un TreeItemRenderer fait sur commande comme suit :

RadioButtonTreeItemRenderer.as
_________________________________________________
paquet
{
      importation flash.events. Événement ;
      
      importation mx.controls.RadioButton ;
      importation mx.controls.RadioButtonGroup ;
      importation mx.controls.treeClasses.* ;

      la classe publique RadioButtonTreeItemRenderer prolonge TreeItemRenderer
      {
            variété RadioBtn de public : RadioButton ;
            variété RadioBtnGR de public : RadioButtonGroup
        itemXml public de variété : XML ;

            fonction publique RadioButtonTreeItemRenderer ()
            {
                  superbe () ;
                  mouseEnabled = faux ;
            }


            données réglées de fonction publique de priorité (valeur : Objet) : vide {
            si (valeur ! = nulle) {
                super.data = valeur ;
               
                this.itemXml = XML (valeur) ;
                si (== de this.itemXml.@checked vrai) {
                    this.RadioBtn.selected = rectifient ;
                } autrement {
                    this.RadioBtn.selected = faux ;
                }
            }
        }
        la fonction protégée par dépassement createChildren () : vide {
            super.createChildren () ;
            RadioBtn = nouveau RadioButton () ;
            RadioBtnGR = nouveau RadioButtonGroup () ;
           
           RadioBtn.group = RadioBtnGR ;
           addChild (RadioBtn) ;
        }
        updateDisplayList de fonction protégé par dépassement (unscaledWidth : Nombre, unscaledHeight : Nombre) : vide {
            super.updateDisplayList (unscaledWidth, unscaledHeight) ;
            si (super.data) {
                tld de variété : TreeListData = TreeListData (super.listData) ;

                si (tld.hasChildren) {
                    this.RadioBtn.visible = faux ;
                } autrement {
                    this.RadioBtn.visible = rectifient ;
                }
                si (RadioBtn.visible) {
                    this.RadioBtn.x = super.label.x
                    super.label.x = this.RadioBtn.x + 17 ;
                    this.RadioBtn.y = super.label.y+8 ;
                }
            }
        }
      
      
}
}

________________________________________

2- le code d'application est :

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

      
            

                  
                        
                        

                  


                  
                        
                        
                        
                        
                        
                  


                  
                        
                        
                  
 

            

      


      
                              importation mx.collections.ArrayCollection ;
                  importation mx.rpc.events.ResultEvent ;
                  importation mx.controls. Alerte ;


                  fonction privée TreeClickHandler (événement : Événement) : vide
                  {
                        selectedXmlList de variété : XMLList ;
                        itemObject de variété : Objet = event.currentTarget.selectedItem ;

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

                  }

                  processSelection privé de fonction (liste : XMLList, Objid : Corde) : vide {
                        article de variété : XML ;
                        pour chacun (article dans la liste) {
                              si (item.@id ! =Objid)
                              {
                                    item.@checked = faux ;
                              } autrement
                              {
                                    item.@checked = rectifient ;
                              }
                        }
                  }

            ]] >
      



      
                                     id= " myTree "  
                         itemClick= " TreeClickHandler (événement) «       
                         itemRenderer= " RadioButtonTreeItemRenderer "
                         showRoot= " faux "
                         width= " 100% "  
                         height= " 100% "
                         labelField= " @label "                                            
                         folderClosedIcon= " {nulle} « 
                         folderOpenIcon= " {nulle} « 
                         defaultLeafIcon= " {nulle} « 
                         dataProvider= " {myData} « 
                         openItems= " {myData. .item} « >
            


      



Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us