2009-11-03 98 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