Het volgende is mijn oplossing:
1- Cre�ër als volgt een douane TreeItemRenderer:
RadioButtonTreeItemRenderer.as
_________________________________________________
pakket
{
de invoer flash.events. Gebeurtenis;
de invoer mx.controls.RadioButton;
de invoer mx.controls.RadioButtonGroup
;
de invoer mx.controls.treeClasses.*;
de openbare klasse RadioButtonTreeItemRenderer
breidt TreeItemRenderer uit
{
openbare var RadioBtn: RadioButton;
openbare var RadioBtnGR: RadioButtonGroup
openbare var itemXml: XML;
overheidsfunctie RadioButtonTreeItemRenderer
()
{
super ();
mouseEnabled = vals;
}
treed openbare functie vastgestelde gegevens met voeten (waarde: Voorwerp): leegte {
als (waarde! = verklaar) nietig {
super.data = waarde;
this.itemXml = XML (waarde);
als (ware this.itemXml.@checked ==) {
this.RadioBtn.selected = waar;
} anders {
this.RadioBtn.selected = vals;
}
}
}
createChildren de opheffing beschermde functie (): leegte {
super.createChildren ();
RadioBtn = nieuwe RadioButton ();
RadioBtnGR = nieuwe RadioButtonGroup ();
RadioBtn.group = RadioBtnGR;
addChild (RadioBtn);
}
opheffing beschermde functieupdateDisplayList (unscaledWidth
: Aantal
, unscaledHeight: Aantal): leegte
{
super.updateDisplayList (unscaledWidth
, unscaledHeight
);
als (super.data) {
var tld: TreeListData = TreeListData (super.listData
);
als (tld.hasChildren) {
this.RadioBtn.visible = vals;
} anders {
this.RadioBtn.visible = waar;
}
als (RadioBtn.visible) {
this.RadioBtn.x = super.label.x
super.label.x = this.RadioBtn.x + 17;
this.RadioBtn.y = super.label.y+8;
}
}
}
}
}
________________________________________
2- de toepassings code is:
http://www.adobe.com/2006/mxml " backgroundColor= " #FFFFFF " >
de invoer mx.collections.ArrayCollection;
de invoer mx.rpc.events.ResultEvent;
de invoer mx.controls. Alarm;
privé functie TreeClickHandler (gebeurtenis: Gebeurtenis): leegte
{
var selectedXmlList: XMLList;
var itemObject: Voorwerp = event.currentTarget.selectedItem;
als (! myTree.dataDescriptor.isBranch (itemObject)) {
selectedXmlList = myData.item.part. (@parentid == itemObject.@parentid);
processSelection (selectedXmlList, itemObject.@id);
}
}
privé functieprocessSelection (lijst: XMLList, Objid: Koord): leegte {
var punt: XML;
voor elk (punt in lijst) {
als (item.@id! =Objid)
{
item.@checked = vals;
} anders
{
item.@checked = waar;
}
}
}
]] >
id= " myTree "
itemClick= " TreeClickHandler (gebeurtenis) „
itemRenderer= " RadioButtonTreeItemRenderer "
showRoot= " vals "
width= " 100% "
height= " 100% "
labelField= " @label "
folderClosedIcon= " {ongeldig} „
folderOpenIcon= " {ongeldig} „
defaultLeafIcon= " {ongeldig} „
dataProvider= " {myData} „
openItems= " {myData. .item} „>