2010-11-11 10 views
1

我嘗試在同一高級數據網格中拖放分層數據,並且希望在更新ADG時更新數據提供程序。 (我希望能夠保存並加載這棵樹,所以重要的是保存拖動和拖放。)在拖放過程中更新高級數據網格中的分層數據提供程序

我有一個示例應用程序(啓用了視圖源)張貼在這裏:www.crcarlson.com/adg /AdvancedDataGridDragAndDrop.swf

示例應用程序具有顯示分層數據以及平面數據的ADG。每個數據網格的第一列顯示底層數據的rowindex。

如果重新排列左側ADG上的項目,則行索引變爲無序。如果您單擊traceTree,則會看到數據提供者不正確。

在另一方面,如果你做同樣的權利,即使對象移動周圍的行數保持有序的,如果你點擊traceFlat,數據提供者是在ADG

我的目標顯示的順序應使數據提供者順序與正在顯示分層數據的左側網格的ADG順序匹配。

我會很感激這方面的任何建議,包括「你不能從那裏到達,這樣做。」

回答

1

我注意到了一些東西,而細讀你的代碼,並使用該應用程序:

  • 使用一個ArrayCollection,而不是Array作爲數據提供程序爲其數據變化的視圖組件。這可能會解決您的更新問題。
  • 如果實現ArrayCollection不能完全解決更新問題,請將必要的邏輯添加到dragDrop或dragComplete事件處理程序。
  • 每當我將一個項目從adg拖到adgFlat時,我都會遇到運行時錯誤。

這是Adobe的Using Drag and Drop。具體查看標題爲「移動和複製數據」的最後一頁。祝你好運。

+0

如果其他人感興趣,我通過更改底層數據結構來解決此問題。我用實現IHierarchicalData接口的對象構建了我的樹,然後datagrid按照我的預期使用本地拖放行爲適當地修改了底層數據。 – crcarlson 2010-12-01 02:29:37

相關問題