flex datagrid列拖动

时间:2010-10-08 20:37:18

标签: flex datagrid

我有一个数据网格,用户可以拖动列并重新定位它们。 但是有一个奇怪的要求是某些列不应该被拖到其他列的左侧。

例如,假设列是:名称,价格,开始日期,结束日期,

不应拖动结束日期并将其放置在开始日期之前。 即用户可以拥有

  • 开始日期,价格,名称,结束日期。
  • 姓名,开始日期,价格,结束日期。

但在任何时候都不能在开始日期之前出现结束日期。

有没有办法做这个flex? 有没有办法知道用户试图删除列的位置并显示错误消息?

2 个答案:

答案 0 :(得分:2)

解决方案涉及到解决方案。

  • 首先使用高级数据网格而不是数据网格。
  • 然后创建一个列组并向其添加“开始日期”和“结束日期”列。
  • 然后在列组中设置childrenDragEnabled =“false”。
  • 多数工作。示例代码如下。

解决方案(通知childrenDragEnabled="false"):

<mx:AdvancedDataGridColumnGroup childrenDragEnabled="false">
    <mx:AdvancedDataGridColumn dataField="startDate" />
    <mx:AdvancedDataGridColumn dataField="endDate" />
</mx:AdvancedDataGridColumnGroup>

答案 1 :(得分:0)

您需要侦听headerShift事件,检查新索引是否存在以前不允许的索引,并自行将其移回。