У меня есть сетка данных с одним столбцом, отображаемым с другой сеткой данных. Я делаю это, чтобы реализовать отображение в виде строки (с hbox под дочерней сеткой данных), показывающее сообщения под каждой строкой.
Когда я вкладываю и достигаю конца строки, я хочу, чтобы фокус перешел на следующую строку, то есть на следующую дочернюю сетку данных и на конкретную ячейку этой строки.
Это упрощенный код, вызывающий рендерер:
<mx:DataGrid width="100%"
showHeaders="false"
selectable="false"
id="ParentDatagrid"
dataProvider="{arrayActs}"
paddingBottom="0" paddingTop="0"
variableRowHeight="true">
<mx:columns>
<mx:DataGridColumn itemRenderer="components.ColumnRendererDatagrid"/>
</mx:columns>
</mx:DataGrid>
И код рендерера (ColumnRendererDatagrid):
<mx:DataGrid
id="dgLocal" width="100%" height="23" borderSides=""
dataProvider="{data}" showHeaders="false"
editable="true" selectable="false">
<mx:columns>
<mx:DataGridColumn />
<mx:DataGridColumn />
<mx:DataGridColumn />
<mx:DataGridColumn />
<mx:DataGridColumn />
</mx:columns>
</mx:DataGrid>
<mx:HRule width="100%" />
<mx:Label id="message" text="Error Message" width="100%" />
На данный момент я использую следующий фрагмент в ColumnRendererDatagrid, чтобы проверить, когда табуляция достигает конца строки, и всплыть событие:
if(dgLocal.editedItemPosition.columnIndex == 13){
dispatchEvent(new Event(MOVE_FOCUS_DOWN, true));
Оттуда я борюсь за то, как развернуть рендерер, чтобы установить фокус, как только более высокий компонент получит это событие. Любая помощь могла бы быть полезна. Thx