Fumeng, 세포 개체에 액세스하려는 시도가 아마도 최선의 방법이 아닙니다. 레벨 렌더러에서 사용자가 체크 박스 목록을 수정하면 데이터 제공자에 대한 일부 속성을 설정해야합니다 (iflex (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
}
}
}
}
한 가지 더 명심. 행이 재활용되기 때문에이 현재로 렌더링되는 경우에만 위의 코드를 사용하여 목록을 얻을 것이다 전화하는 시간 이 코드. 따라서 사용자가 변경하고 목록을 업데이트하고보기 밖으로 스크롤 한 다음 저장 버튼을 클릭하면이 코드는 목록을 가져 오지 않습니다. 따라서 데이터 공급자를 업데이트하는 첫 번째 방법을 권장합니다. –
종합적인 답변을 보내 주셔서 대단히 감사합니다 ... 매우 도움이됩니다. – fumeng