#apache-flex #actionscript #air #blackberry-playbook
#apache-flex #actionscript #air #blackberry-сборник пьес
Вопрос:
Adobe рекомендует нам не использовать Datagrid на мобильных устройствах. Я создаю приложение Blackberry Playbook, в котором больше места на экране, чтобы потенциально отображать таблицу данных. Итак, возникает несколько вопросов!
-
Если я не должен использовать DataGrid, что я должен использовать? (Список не учитывается, потому что в моем приложении у меня есть 10 таблиц, каждая с разным количеством столбцов и шириной столбца)
-
Хорошо, если мне нужно использовать Datagrid, как я могу установить его размер, чтобы отображать точно все данные? Например, некоторые таблицы содержат строки разной длины, поэтому requestedRowCount=’-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 строкам, это добавляет места внизу)!
Ответ №1:
Нет ничего невозможного в том, чтобы заставить datagrid отображать только добавленные данные, но это не то, что я бы сделал, особенно для мобильного приложения.
Лично я бы использовал группу данных (используя virtualLayout = true), обернутую в скроллер, для которого установлено значение height / width 100% (которое будет отображаться только при «переполнении» данных). Настройки групп данных по умолчанию для отображения всех данных. Вам нужно будет создать свои собственные средства визуализации элементов для данных, и вы можете создавать свои собственные «заголовки».
Делая это, вы удаляете из сетки множество функциональных возможностей, но это то, что редко используется в мобильных приложениях. Кроме того, если вы создадите datagroup, вы сможете добавить свои собственные сенсорные функции и жесты для выполнения действий, сохраняя при этом «вес» сетки на низком уровне для обеспечения хорошего пользовательского интерфейса.
Ответ №2:
используйте width =»100%» и height =»100%»