문제

ArrayCollection의 개체로 채워진 DataGrid가 있습니다.개체 필드 중 하나를 업데이트한 후 화면을 업데이트하고 싶습니다.데이터 소스는 런타임에 구성하고 있기 때문에 바인딩할 수 없습니다(그리고 아직 즉시 바인딩 가능하게 만드는 방법을 이해하지 못합니다. 이는 또 다른 질문입니다).

이 상황에서 그리드에서 InvalidateDisplayList()를 호출하면 아무 일도 일어나지 않는 것 같습니다.하지만 validateList()를 호출하면 업데이트가 발생합니다.(또한 매우 부드럽습니다. WIN32에서 창을 무효화할 때 예상되는 깜박임이 없습니다.)

그래서 질문은:InvalidateList와 InvalidateDisplayList의 차이점은 무엇입니까?문서에 따르면 둘 중 하나가 작동해야 하는 것 같습니다.

도움이 되었습니까?

해결책

InvalidateList는 구성 요소에 데이터가 변경되었음을 알리고 이를 다시 로드하고 다시 렌더링해야 합니다.

InvalidateDisplayList는 구성 요소에 자체적으로 다시 그려야 함을 알려줍니다(그러나 반드시 데이터를 다시 로드할 필요는 없음).

다른 팁

InvalidateDisplayList()는 나중에 화면 업데이트 중에 updateDisplayList()가 호출될 수 있도록 플래그를 설정하기만 합니다.InvalidateList()는 당신이 원하는 것입니다.

http://livedocs.adobe.com/flex/2/langref/mx/core/UIComponent.html#invalidateDisplayList()

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top