【发布时间】:2012-03-07 20:02:16
【问题描述】:
我有一个绑定到mx:DataGrid 列的项目渲染器。渲染器曾经与列内联,但我已将其移出到自己的文件中,以便我可以在多个表中重复使用它。
问题是现在渲染器在调整列大小时不会调整大小(增长/缩小)。因此,如果用户使列非常小,则渲染器显示的内容只会占用空间并显示在其他列之上。有什么想法可以做到这一点吗?
项目渲染器代码:
<?xml version="1.0" encoding="utf-8"?>
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
focusEnabled="true">
<mx:HBox verticalScrollPolicy="auto" horizontalScrollPolicy="off" width="100%">
<mx:Spacer top="0" bottom="0" width="4" />
<mx:Image id="typeIcon" buttonMode="false" source="{data.type}" />
</mx:HBox>
</s:MXDataGridItemRenderer>
使用该渲染器的列代码:
<mx:DataGridColumn headerText="Type" dataField="type" itemRenderer="com.myCompany.myProject.TypeRenderer" />
编辑
将width=100% 添加到MXDataGridItemRender 无效。
【问题讨论】:
-
将
width="100%"添加到MXDataGridItemRenderer? -
我想说山姆说的话。也就是说,当一列超出其边界进入另一列时;这可能是一种视觉异常,似乎没有多少编码可以解决。 DataGrid 有很多这样的。
-
也许——但旧代码(使用内联渲染器)工作正常...
标签: apache-flex actionscript flex4