В чем разница между invalidateList и invalidateDisplayList? - PullRequest
10 голосов
/ 16 сентября 2008

У меня есть DataGrid, заполненный объектами в ArrayCollection. После обновления одного из полей объекта я хочу обновить экран. Источник данных не является привязываемым, потому что я создаю его во время выполнения (и я пока не понимаю, как сделать его привязанным на лету - это другой вопрос).

В этой ситуации, если я вызову InvalidateDisplayList () для сетки, похоже, ничего не произойдет. Но если я вызываю invalidateList (), обновления происходят. (И это тоже очень плавно - нет мерцания, как я ожидал бы от аннулирования окна в WIN32.)

Итак, вопрос: в чем разница между InvalidateList и InvalidateDisplayList? Из документации кажется, что любой из них должен работать.

Ответы [ 2 ]

18 голосов
/ 16 сентября 2008

invalidateList сообщает компоненту, что данные изменились, и ему необходимо перезагрузить их и повторно обработать.

invalidateDisplayList сообщает компоненту, что ему нужно перерисовать себя (но не обязательно перезагружать свои данные).

0 голосов
/ 16 сентября 2008

invalidateDisplayList () просто устанавливает флаг, чтобы updateDisplayList () можно было вызвать позже во время обновления экрана. invalidateList () - это то, что вы хотите.

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

...