PDA

Просмотр полной версии : Выставление свойств DataGrid кастомного компонента извне


vola62
23.09.2010, 19:23
День добрый. Вот если мой компонент юзает внутри себя DataGrid - рально ли сделать возможность юзания
таким способом:


<s:Label text="test of MyComponent" />
<components:MyComponent>
<dataGrid>
<mx:DataGrid id="destDG"
dropEnabled="true"
dragDrop="dragDropHandler(event);">
<mx:columns>
<mx:DataGridColumn dataField="label"/>
<mx:DataGridColumn dataField="data"/>
<mx:DataGridColumn dataField="date"/>
</mx:columns>
</mx:DataGrid>
</dataGrid>
</components:MyComponent>




Спасибо

alatar
24.09.2010, 03:49
Реально. В компоненте добавьте публичную переменную dataGrid:DataGrid. Только выглядеть будет несколько иначе:
<components:MyComponent>
<components:dataGrid>
<mx:DataGrid id="destDG"
dropEnabled="true"
dragDrop="dragDropHandler(event);">
<mx:columns>
<mx:DataGridColumn dataField="label"/>
<mx:DataGridColumn dataField="data"/>
<mx:DataGridColumn dataField="date"/>
</mx:columns>
</mx:DataGrid>
</components:dataGrid>
</components:MyComponent>

vola62
29.09.2010, 21:39
Да, но я не обошёлся без того чтоб не оверрайдить measure() и updateDisplayList() в компоненте(у меня таких несколько чайлдов). Вообще, мне кажется накой контейнер лучше писать на AS - не на MXML

alatar
30.09.2010, 01:21
А я вам ничего про mxml и не говорил, это был пример использования готового компонента. А если вам дорога производительность в приложении и читабельность кода, то вообще лучше не вспоминайте об mxml компонентах, если они сложнее тех которые адоби приводит в своих примерах.