Flex 4 - Когда я меняю элемент списка элементов Spark во время выполнения, используя состояния просмотра, список обрезает содержимое (высота не обновляется) - PullRequest
0 голосов
/ 01 февраля 2011

Я пытаюсь использовать два разных средства визуализации элементов через состояния просмотра (подробно или открыто).ItemRenders отображает разные данные и разные размеры.При щелчке по элементу списка в состоянии «Открыто» состояние изменяется на детальное и используется новый itemRenderer.Однако обновленный список обрезает содержимое после 25 элементов.Я пробовал invalidateDisplayList (), но, похоже, не работает.Спасибо за любую помощь.

<s:List id="list"
                currentStateChange="{list.invalidateDisplayList(); list.measuredHeight = 20000}"
                dataProvider="{items}" 
                width.Opened="310" 
                width.detail="610"
                skinClass="skins.ListSkin"
                itemRenderer="components.renderers.ListItemRenderer"
                itemRenderer.detail="components.renderers.ListItemRendererDetail">

        </s:List>

Я думаю, что на самом деле это может быть связано со свойством requiredRowCount класса Layout.Я заметил, что даже если я установил его так, чтобы он показывал все строки (-1), при изменении состояния он по умолчанию возвращается к не отображению всех строк.

<s:layout>
        <s:VerticalLayout gap="0"
                          horizontalAlign="contentJustify"
                          requestedRowCount="-1"/>
    </s:layout>

И еще одна вещь, после некоторого тестирования, 9998 pxкажется, что это предел для высоты списка, прежде чем он больше не сможет отображать все запрошенные строки и полосы прокрутки.Есть ли обходной путь?

1 Ответ

0 голосов
/ 14 февраля 2011

Ну, я был совершенно не прав. 9998 пикселей, похоже, является пределом высоты списка искр, но нет необходимости делать высоту такой большой. Меньшая высота в пикселях - это хорошо. Если прокрутка включена, она будет прокручивать весь список элементов.

...