Ä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} ”>