Flexicious: доступ к данным в nextLevelRenderer - PullRequest
1 голос
/ 14 октября 2011

Я пытаюсь получить доступ к компоненту CheckBoxList, который определен в nextLevelRenderer FlexDataGrid.Как ты это делаешь?

Я думал, что смогу использовать getLevelForItem (arg) и передать selectedItem для FlexDataGrid, но я ничего не получу с этим.

Кроме того, есть ли хорошее место для гибких обучающих программ онлайн?Я ничего не могу найти.

Спасибо за любую помощь!

1 Ответ

2 голосов
/ 18 октября 2011

Fumeng, Попытка получить доступ к объекту ячейки, вероятно, не лучший способ сделать это.В вашем рендерере уровней, когда пользователь изменяет список флажков, вы должны установить какое-либо свойство в поставщике данных (если вы это сделаете (родительский как IFlexDataGridCell) .rowInfo.data, вы получите дескриптор связанного объекта данных.значение непосредственно из вашего объекта данных.

Если вы действительно должны использовать ячейку, сетка имеет объект bodyContainer, который может привести вас в живот сетки. Существуют методы API для непосредственного получения ячеек данных, но нетдля ячеек уровня рендерера. Для этого вам нужно будет пройти через ряды.

for each(var row:RowInfo in bodyContainer.rows) //all body rows
{
  if(row.rowPositionInfo.rowType == RowPositionInfo.ROW_TYPE_RENDERER){
    for each(var cell:ComponentInfo in row.cells){
      if(cell.component is FlexDataGridLevelRendererCell){
          //this will be your renderer
          var yourRenderer:UIComponent = cell.component.renderer as UIComponent;
          //depending on where you have placed the CBL, 
          //one of yourRenderer.children should be the CBL
      }
    }
  }
}
...