在拖放期间更新高级数据网格中的分层数据提供程序

时间:2010-11-11 02:06:04

标签: flex drag-and-drop advanceddatagrid

我正在尝试在同一个高级数据网格中拖放分层数据,我希望在更新ADG时更新数据提供程序。 (我希望能够保存并加载这棵树,因此保存拖拽和丢弃是很重要的。)

我在此处发布了一个示例应用程序(启用了视图源):www.crcarlson.com/adg/AdvancedDataGridDragAndDrop.swf

示例应用程序有一个显示分层数据和平面数据的ADG。每个数据网格的第一列显示基础数据的rowindex。

如果重新排列左侧ADG中的项目,则行索引将变为无序。如果单击traceTree,则会看到数据提供程序不正常。

另一方面,如果您在右侧执行相同的操作,即使对象四处移动,行号仍保持有序,如果您单击traceFlat,则数据提供程序按ADG上显示的顺序

我的目标是让数据提供程序顺序与显示分层数据的左侧网格的ADG顺序相匹配。

我很感激任何关于此的建议,包括“你不能从这里到达那里,这样做。”

1 个答案:

答案 0 :(得分:1)

在仔细阅读代码并使用应用时,我注意到了一些事情:

  • 对于数据更改的视图组件,使用ArrayCollection而不是Array作为dataProvider。这可能会解决您的更新问题。
  • 如果实现ArrayCollection并不能完全解决更新问题,请将必要的逻辑添加到dragDrop或dragComplete事件处理程序。
  • 每次将项目从adg拖到adgFlat时,都会出现运行时错误。

这是Adobe对Using Drag and Drop的看法。具体请查看标题为“移动和复制数据”的最后一页。祝你好运。