7

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 行,它在底部增加了空间)在此处输入图像描述

4

2 回答 2

8

让数据网格只显示添加的数据并非不可能,但这不是我会做的,尤其是对于移动应用程序。

就个人而言,我会使用一个 DataGroup(使用 virtualLayout=true)包裹在一个设置为高度/宽度 100% 的 Scroller 中(它只会在数据“溢出”时显示)。DataGroups 默认设置显示所有数据。您必须为数据创建自己的项目渲染器,并且可以创建自己的“标题”。

通过这样做,您从网格中删除了很多功能,但它在移动应用程序中很少使用。另外,如果您创建数据组,您可以添加自己的触摸功能和手势来做事,同时保持网格的“权重”较低,以提供良好的用户体验。

于 2011-05-12T15:59:10.467 回答
0

使用宽度=“100%”和高度=“100%”

于 2013-02-14T17:32:50.160 回答