2

我正在尝试使用某种机制制作一个 Flex (Advanced)DataGrid 组件,用户可以在其中切换列的可见性。我通过将列读入右键菜单中粗略地实现了这一点,当在此处选择列名时,可见性被切换。它有效,但它不是最优雅的解决方案。

具体来说,我正在尝试模拟 Mozilla Thunderbird 用于显示电子邮件的“数据网格”。这是一张图片:

雷鸟数据网格.png

在右上角,滚动条上方有一个图标。如果没有滚动条,则图标保持在原处。单击图标时,它会打开一个菜单,其中显示所有可能的列,可见的列旁边有一个复选标记,如下所示:

Thunderbird_select_columns.png

此外,滚动条始终出现在此按钮下方,从不将其“推”到它自己的列中。

我想在 Flex 中重新创建它。我相信菜单部分和创建带有按钮 headerRenderer 的列很容易。但我不知道如何(如果可能的话)使用滚动条来做到这一点,因为滚动条似乎总是“它自己的列”。任何想法或帮助将不胜感激。谢谢你。

  • 伊恩
4

1 回答 1

1

我想到了一个肮脏的解决方案。基于 Canvas 创建一个组件,然后通过覆盖 createChildren 添加一个 AdvancedDataGrid。也覆盖 updateDisplayList 并在 Canvas 的右上角添加一个类似 Thunderbird 中的按钮。这将导致按钮出现在 DataGrid 上。问题解决了吗?

于 2011-02-14T18:30:10.473 回答