论坛首页 编程语言技术论坛

List或DataGrid可变行高

浏览 3754 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-11-29  

        默认情况下List组件是每行的行高是固定的,但有时需要根据每行的内容显示不同的行高,variableRowHeight决定了是否用可变行高,默认情况下为false即固定行高。

       下面的例子使用wordWrap和variableRowHeight来实现可变行高的功能

  

       列表组件,包含List和ComboBox

      

<mx:List id="list"
            variableRowHeight="true"
            wordWrap="true"
            labelField="title"
            width="250" />

 

   表格组件

 

  

<mx:DataGrid id="dataGrid" dataProvider="{arrColl}" variableRowHeight="true" width="100%" height="100%">
        <mx:columns>
            <mx:DataGridColumn  dataField="articleName" headerText="question" wordWrap="true" />
            <mx:DataGridColumn  dataField="data" headerText="ID of the article" />
        </mx:columns>
    </mx:DataGrid>

 

  Flex列表的默认渲染器是Label,但是很多时候我们的需求不单单是一个文字了,这是就需要自定义渲染器了,但是如果variableRowHeight=true,您还应覆盖 measure() 函数, 告知列表 itemRenderer 有多大,原因很简单可变高度下,Flex不能计算出列表到底有多高。如果我不计算呢?那就会出现布局混乱现象,或者是拖动滚动时布局混乱。

 

  到此,关于换行还没有结束,本篇说的是行换行,表格组件的header如何换行呢?请继续关注我的博客。

 

 

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics