2009-11-30 2 views
0

저는 XML 기반 응용 프로그램을 구축하고 있습니다. 별도의 actionscript-class에 새 상태를 만듭니다. 이 상태에는 모두 DataGrid가 있습니다. Main.mxml에서 상태를 전환 할 수 있습니다.동적 생성 상태의 자식 변경

하지만 이제 DataGrid의 특정 하위 항목에 액세스하려고합니다. 이 경우 Main.mxml의 Button에서 GridItems의 가시성을 토글하고 싶습니다.

어떻게 액세스하여 이미 생성 된 상태에 적용 할 수 있습니까? RemoveChilds를 만들고 해당 상태로 재정의/푸시하려고했습니다. 제가 생각하기에 마지막 상태에서 전체 GridRow를 제거하는 것이었지만 모든 상태에서 하나의 GridItem이어야합니다.

도움을 주셔서 감사합니다.

+0

는 각 상태로 동일한하는 RemoveChild 객체를 추가하고 있습니까? 나는 이것을 시도하지 않았지만 RemoveChild가 다른 UI 자식과 동일한 규칙에 의해 바인딩 된 경우 두 번째 상태에 추가하면 이전 자식에서 제거됩니다. – susichan

답변

0

문제를 해결하십시오. 정보를 상태로 밀어 넣지 말고 상태가 필요할 때 정보를 가져 오도록하십시오.

각 상태에서 바인딩을 추가하여 단추의 상태를 확인하고 removeChild 논리 자체를 수행하십시오.

0

좋아, 나는 분명히 당신의 제안을 시도해야합니다. 내 방식으로 그것을 해결했지만 추측 복잡합니다. 상태가 만들어지면 배열의 모든 GridItem을 밀어 넣고 배열을 반환하는 getFunction을 만들어 Main.mxml에서 액세스 할 수 있습니다. Main.mxml의 toggler 기능은 다음과 같습니다 :

_gridItemArray = theStateClass.getGridItemArray(); 

if(_buttonToggler == false) 
{ 
     for each(_gridItemArray.child in _gridItemArray) 
    { 
    _gridItemArray.child.visible = false; 
    } 
_buttonToggler = true; 
} 

else 
{ 
    for each(_gridItemArray.child in _gridItemArray) 
    { 
     _gridItemArray.child.visible = true; 
    } 
     _buttonToggler = false; 
    }