flex datagrid - делает динамическую высоту сетки и компонент, который ее содержит - PullRequest
2 голосов
/ 18 мая 2009

HI

Я хочу построить сетку данных, которая будет иметь динамическое значение высоты, потому что количество строк всегда будет разным. Я также хочу сообщить высоту обратно компоненту, в котором она находится, чтобы она также росла вместе с сеткой данных. Может кто-нибудь помочь мне в создании наилучшего способа создания такой динамической сетки данных.

Спасибо

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

Высота DataGrid определяется его свойством rowCount. Если вы хотите, чтобы ваша DataGrid всегда была достаточно высокой, чтобы показать все содержащиеся в ней элементы (и, например, обернуть ее внутри Scroller для обработки ситуации, когда DataGrid слишком велика для доступного пространства, вместо того, чтобы сама DataGrid прокручивала ), просто свяжите его с соответствующим свойством вашего источника данных:

<mx:DataGrid dataProvider="{myData}" rowCount="{myData.length}"/>
<fx:Script>
    <![CDATA[
        import mx.collections.ArrayCollection;

        protected var myData:ArrayCollection;
    ]]>
</fx:Script>
0 голосов
/ 18 мая 2009

Можете ли вы быть более конкретным? Ты хочешь сказать, что не хочешь, чтобы таблица данных прокручивалась? Как насчет случаев, когда количество строк превышает то, что видно на экране? - После того, как вы ответите на эти вопросы, я могу отредактировать это, чтобы получить более конкретный ответ.

Что касается связи от вашей пользовательской реализации DataGrid до родительского объекта, то вы хотите передать событие, указывающее, что высота должна измениться, и прикрепить некоторое значение - число строк или новую высоту, вероятно, - - к этому событию.

Изучив основы вещания событий во Flex, я понял, что они слишком сложны, и изучил Swiz Framework , который делает вещание и обработку событий настолько простыми, насколько это возможно (среди нескольких других потрясающих). вещи).

...