2009-11-03 64 views
0

我有两个datagrid组件,我想将一列从一个组件拖到另一个组件。我一直在尝试几种方法,但我无法证实这一点。 任何人都可以帮助我吗?添加拖放到flex中的datagrid列

+0

此页面提供的代码和拖动的工作SWF和降启用数据网格http://blog.flexexamples.com/2007/09/19/dragging-rows-between-two -different-flex-datagrid-controls /但是这是为了拖动行(数据) - 我不认为你可以将一列从一个数据网格拖到另一个数据网格。 – Amarghosh 2009-11-04 06:06:31

+0

您可以拖动数据网格中的列 - 将其位置从第一列移动到第二列,依此类推。但是你试图在不同的数据网格之间拖动列,对吧? – Amarghosh 2009-11-04 06:09:39

+0

我已经看过那个网站。它解释了如何拖放行。我想拖放不同数据网格之间的列。 – Kezern 2009-11-04 10:20:58

回答

0

你想要做的是禁用第一个数据网格上的一列,并在第二个数据网格上启用它。您必须收听DRAG_START事件,找到目标列的字段,并在拖动成功时将其隐藏在第一个数据网格上。然后你使用对称方法为第二个数据网格...

我想你将不得不创建一个自定义的拖动代理可视化组件,如果你想它是视觉连贯的。

好运气=)

+1

我正在尝试做那样的事情。我已将此属性添加到advancedDataGrid组件(dragStart =“dragStart(event)”)并创建此函数: public function dragStart(event:MouseEvent):{ var column:AdvancedDataGridColumn = event.target.parent.data; var dragSource:DragSource = new DragSource(); dragSource.addData(column,'advancedDataGridColumn'); DragManager.doDrag(column,dragSource,event); DragManager.doDrag(column,dragSource,event); } 我的第一个问题是函数没有被调用,另一个问题是我在函数的最后一行出现错误。 无法将AdvancedDataGridColumn转换为IUIComponent – Kezern 2009-11-05 10:50:18