Flex DataGrid内容自动换行相关

转自:Flex DataGrid内容自动换行相关


1. 使用itemRenderer
<mx:DataGridColumn headerText="网站简介">
       <mx:itemRenderer>
               <mx:Component>
                     <mx:Label text="{data.desc}"/>
               </mx:Component>
       </mx:itemRenderer>
 </mx:DataGridColumn>
这里有个内置的data属性,可以用它访问外部DataGrid绑定的数据源。
      2. 列自动换行
<mx:DataGridColumn headerText="网站简介" dataField="desc" wordWrap="true"/>
这样可以达到自动换行的目的,但是DataGrid默认每行的高度是相等的,于是某单个单元格内容过多,就会把所有行的高度撑大。
      3. 内容自动截取
使用内嵌label组件,然后内容自动截取的方式可以解决上述问题。
            <mx:DataGridColumn headerText="网站简介">
                <mx:itemRenderer>
                    <mx:Component>
                        <mx:Label text="{data.desc}" truncateToFit="true"/>
                    </mx:Component>
                </mx:itemRenderer>
            </mx:DataGridColumn>
      4. 行高不一
如果一定要显示所有内容,这就存在问题了。有人说itemRenderer中使用VBox来解决,确定这个方法不可行。可以使用DataGrid 的 variableRowHeight="true" ,默认variableRowHeight="false",表示所有的行高相等。
---------------------
DataGrid和TileList都是基于list的组件(直接或间接基类是ListBase)。出于性能考虑(List每次滚动都要重新度量呈现区域 的高度,确保不会出现某行被边框遮掩掉部分而造成显示不全),Adobe在设计List组件时将其设计成了等高行列表。

rowHeight:Number  [读写](ListBase)
行高(以像素为单位)。只有在 variableRowHeight 属性设置为 true 时,所有的行高才相等。如果未指定此属性,则行高基于字体大小和渲染器的其它属性而定。

variableRowHeight:Boolean  [读写](ListBase)
一个标志,指示各行是否可以采用不同的高度。TileList 和 HorizontalList 将忽略此属性。如果设置为 true,则各行可以具有不同的高度值。
默认值为 false.

    上面两个描述有冲突,经测试variableRowHeight为true时,行高可以不同。
<mx:DataGrid x="10" y="10" dataProvider="{employees}" fontSize="14" width="1154" height="430" variableRowHeight="true">
        <mx:columns>
            ...
            <mx:DataGridColumn headerText="网站简介" dataField="desc" wordWrap="true"/>
            ...
        </mx:columns>
    </mx:DataGrid>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值