将Flexs 3 DataGridColumn的宽度调整为其ItemRenderer的内容?

时间:2010-05-07 16:35:03

标签: datagrid flex3

我有以下情况:

  • Flex 3 DataGrid就在这里
  • 在运行时,会在此网格中添加一列
  • 该列具有自定义ItemRenderer
  • ItemRenderer继承自HBox,并动态地向HBOx添加一些项目

我的问题是列的宽度不会改变。因此,我的列保持较小,并且行中显示一个丑陋的水平滚动条,而不是我的内容(这是完全不可读的)。

我希望该列的宽度适应ItemRenderer中HBox的内容。我尝试了以下方法:

  • 将ItemRenderer的'percentWidth'设置为'100'
  • 添加项目后,ItemRenderer的属性无效

唯一具有“可见”效果的东西是强制DataGridColumn的宽度。显然这是不可接受的,因为我正在动态地向ItemRenderer添加组件,我不知道它们有多少或多大。

此外,当我在ItemRenderer中时,我无法访问列本身(或者我?)因此我无法从此处强制列的大小。

那么有办法解决这个问题吗? AdvancedDataGrid会在这里提供帮助吗(不要因为其他原因而无法真正使用它......)

或者,如果某人有一个解决方案,显示列单元格没有丑陋的水平滚动条(不提及将horizo​​ntalScrollPolicy设置为“off”,在那里,尝试过,丢失衬衫;)),我会很高兴。

谢谢

PH

1 个答案:

答案 0 :(得分:0)

我没有找到尺寸的解决方案,但是我找到了移除滚动条的方法;你必须在itemRenderer Factory的属性列表中放置“horizo​​ntalScrollPolicy:'off'”(而不是在itemRenderer本身上)。