如何在Jewel List中进行水平滚动以使其表现为DataGrid?

时间:2019-05-08 07:50:57

标签: apache-royale

我有带有自定义itemRenderer的珠宝清单。

我的目标是将其用作datagrid,因为在珠宝中没有datagrid。

<j:Card width="500" id="cardDetail" height="550">
   <j:List id="lsDetail" width="100%" height="420" 
          itemRenderer="detail_itemrenderer">
   </j:List>
</j:Card>

这是detail_itemrenderer

<j:HGroup>
    <j:Label html="{data['field1']}" multiline="true" width="100"/>
    <j:Label html="{data['field2']}" multiline="true" width="300"/>
    <j:Label html="{data['field3']}" multiline="true" width="100"/>
    <j:Label html="{data['field4']}" multiline="true" width="200"/>
</j:HGroup>

标签的总长度为800,但列表的长度仅为500。 因此,当我运行代码时,field4标签没有显示。

问题是列表没有水平滚动条。 我想念一些财产吗?以及如何设置?

谢谢

2 个答案:

答案 0 :(得分:1)

只需使用Jewel HorizontalListScroll珠即可实现List水平滚动功能。

TourDeJewel中的示例代码为:

<j:List width="450" height="300" className="tableStyle" 
        labelField="label" selectedIndex="1"
        dataProvider="{listModel.iconListData}">
    <j:beads>
        <j:HorizontalListScroll/>
    </j:beads>
</j:List>

答案 1 :(得分:-1)

列表本身是可滚动的,因为它有珠ScrollingViewport。但是,您的内部内容不可滚动,因为HGroup默认没有滚动。您需要添加小珠使其可滚动:

<j:HGroup>
        <j:beads>
            <j:ScrollingViewport />
        </j:beads>
        <j:Label html="{data['field1']}" multiline="true" width="100"/>
        <j:Label html="{data['field2']}" multiline="true" width="300"/>
        <j:Label html="{data['field3']}" multiline="true" width="100"/>
        <j:Label html="{data['field4']}" multiline="true" width="200"/>
</j:HGroup>