2012-03-06 2 views
1

Это похоже на то, что это должна быть довольно простая проблема, но мы были на ней весь день и не можем понять ее.Проблема с Flex DataGrid с визуализацией и прокруткой

Мы используем по умолчанию Flex Datagrid без ItemRenderer. Наша сетка связана с моделью, которая является ArrayCollection. На нашем экране есть несколько кнопок, которые меняют модель. (i.e «Сегодня» показывает сегодняшние данные, «щелчок» показывает все данные и т. д.)

Если я нажимаю на все, и наша сетка заполняется, мы должны прокрутить вниз, чтобы увидеть эту информацию, и она отлично работает. Но затем, когда я нажимаю на другую кнопку, и данные в датапаравиде меняются, показанный datagrid не отображается должным образом - если я прокручиваю три строки, после изменения набора данных, три первых 3 строки не отображаются до тех пор, пока я не буду играть с скроллер.

Любая помощь будет использована.

Спасибо, Патрик

+0

Не уверен, что это помогает, но я заметил, что если я не буду предварительно устанавливать свои столбцы, все будет хорошо. Проблема в том, что я не хочу показывать все - я просто хочу показать несколько столбцов. – fufonzo

+0

Пожалуйста, поделитесь некоторым кодом. Как вы меняете dataProvider? Вы его замените? Или изменение элементов внутри? Если последнее, вам придется использовать itemUpdated(), чтобы принудительно обновить визуализатор. [Даже если вы не создали свой собственный рендерер, вы по-прежнему используете значение по умолчанию] – JeffryHouser

ответ

0

Следующие работал для меня. Я просто аннулировал список отображения для сетки при завершении создания.

<mx:Script> 
    private function updateGrid(event:Event):void { 
    event.currentTarget.invalidateDisplayList(); 
    } 
</mx:Script> 

<mx:DataGrid creationComplete="updateGrid(event)"> 
    <!-- stuff... --> 
</mx:DataGrid>