2010-08-31 20 views
0

Я дал дереву ArrayCollection как dataprovider, который я вытащил из базы данных, и он содержит детей, но значок раскрывателя не исчезнет на объекте, у которого нет ребенка.icon icon icon icon

я думаю, что проблема в том, что рендерер не признает листьев ребенка, которым содержит детей массив длины 0, или нуль ......

ответ

0

найдено решение

override update display list function at tree item renderer and check the data there, if it doesn't have children, make the discloser icon not visible. 

override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
    { 
     super.updateDisplayList(unscaledWidth, unscaledHeight); 

     if (null != data && (data.children.length <=0) 
     { 
      disclosureIcon.visible = false; 
     } 

}

1

Возможно, вы сможете попробовать решение проблемы с commitProperties вместо updateDisplayList?

+0

hii, не могли бы вы объяснить мне, почему это так ??? что такое дефференция, если обе работают? это очень важно для меня, потому что производительность сейчас плохо для дерева ... это не единственное изменение, которое я сделал в функции обновления – seismael