Flex4.5:Datagrid行高自动增长



 在Flex4.5中,使用<s:datagrid>碰到个这么个问题:

 

如果dataprovider长度是0,则dataprovider的高度就是Header的高度

 

如果dataprovider的长度不为零,则dataprovider的高度就是所有的行高加header的高度。。。

 

但是在<s:datagrid>中,默认的是显示三行,而且是不可编辑的,如果我通过一个按钮【add item】来增加一行的话,对于用户来说,到底增加了一行没有,没有明显的显示,除非你在新增行中双击一下,让其中的任一单元格处于可编辑状态,显然,这样儿的动作太繁杂了、、、

 

从而就引出了我上面的需求:我需要新增一行时,要让用户明确看见datagrid中新增了一行.

 


Flex4.5:Datagrid行高自动增长
 

以上就是datagrid 的默认行数,加上 <s:datagrid>中没有rowCount属性来动态控制显示的行数。。。

 

于是想到如下办法:

 

[Bindable]
public var gridHeight:int = 25;

 

让其默认高度为datagrid的header高度。

 

把这个值绑定到datagrid的height属性上:

 



 

在creationComplete 事件中,初始化该值:



 

让后在【add item】按钮的事件中添加以下语句:



 

效果图如下:

初始状态:


Flex4.5:Datagrid行高自动增长
 

添加了两行之后的效果如下:

 


Flex4.5:Datagrid行高自动增长
 这个时候,用户就会很清楚的知道添加行是否成功、、、O(∩_∩)O~

你可能感兴趣的:(datagrid)