Datagrids на Flex Mobile - PullRequest
       33

Datagrids на Flex Mobile

7 голосов
/ 12 мая 2011

Adobe запрещает использовать Datagrid на мобильных устройствах. Я создаю приложение Blackberry Playbook, которое имеет больше места на экране, чтобы потенциально отображать таблицу данных. Поэтому возникает несколько вопросов!

  • Если я не должен использовать DataGrid, что я должен использовать? (Список не считается, потому что в моем приложении у меня есть 10 таблиц с разными номерами столбцов и шириной столбцов)

  • Хорошо, если мне нужно использовать Datagrid, как я могу установить его размер для отображения точно всех данных? Например, некоторые таблицы имеют строки различной длины, поэтому requiredRowCount = '- 1' не работает (см. Пример ниже)

Код

    <s:DataGrid  requestedRowCount="-1" requestedColumnCount="-1" variableRowHeight="true"  styleName="dataGrid" id="partiesGrid" dataProvider="{arr1}"  skinClass="skins.DataGridSkin" click="navigator.pushView(view.AssessmentInvolvementEditView)">
        <s:columns>
        <s:ArrayList>
            <s:GridColumn dataField="name" headerText="Name" width="150"/>
            <s:GridColumn dataField="role" headerText="Role" width="150"/>
            <s:GridColumn dataField="startdate" headerText="Start" width="100"/>
            <s:GridColumn dataField="enddate" headerText="End" width="100"/>
            <s:GridColumn dataField="presponsibility" headerText="Response" width="150"/>
            <s:GridColumn dataField="pcarer" headerText="Carer" width="110"/>
            <s:GridColumn dataField="kworker" headerText="Worker" width="110"/>
            <s:GridColumn dataField="kteam" headerText="Team" width="110"/>
        </s:ArrayList>
        </s:columns>
    </s:DataGrid>`

Результат (обратите внимание, что высота не вписывается в 3 ряда, он добавляет пространство внизу) ! enter image description here

Ответы [ 2 ]

8 голосов
/ 12 мая 2011

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

Лично я бы использовал DataGroup (используя virtualLayout = true)завернутый в Scroller, установленный на высоту / ширину 100% (который будет отображаться только при переполнении данных).Настройки DataGroups по умолчанию, чтобы показать все данные.Вам придется создавать свои собственные средства визуализации элементов для данных и создавать свои собственные «заголовки».

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

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

use width = "100%" и height = "100%"

...