在Flex中,为了手动调整datagrid的大小,如何保持列宽合理?

时间:2011-10-27 18:20:09

标签: flex datagrid

每当您手动调整数据网格(而不是通过代码)时,最后一列似乎保留了大部分宽度。更糟糕的是,无论何时扩展它并将其缩小到很大程度,其他列都会变得微妙。这是一个完美的例子:

Datagrid Example

理想的解决方案是将宽度均匀分布或与文本长度成比例。另外,如果没有必要,可以避免覆盖文本。现在,在上面的示例中将宽度设置为0.5似乎可以缓解此问题,但不能完全阻止它。

我还想知道是否有任何精心打造的自定义数据网格可以解决这个问题。从试图找到解决方案,我怀疑唯一可用的解决方案更具特色。

1 个答案:

答案 0 :(得分:1)

我知道有两种方法可以避免这个问题。

1)将List与特殊项目渲染器一起使用,模拟列(例如,用规则分隔的HBox)和标题,重复项目渲染器的布局。它不是非常优雅的解决方案,但调整大小是可以预测的。您还可以轻松添加排序功能(通过向标题添加按钮),但我不确定是否可以在此处实现列调整大小。

2)使用SDK 4.x中的spark s:DataGrid。它还没有AFAIK这样的调整问题。