Apache flex 在拖放过程中更新高级数据网格中的分层数据提供程序

Apache flex 在拖放过程中更新高级数据网格中的分层数据提供程序,apache-flex,drag-and-drop,advanceddatagrid,Apache Flex,Drag And Drop,Advanceddatagrid,我正在尝试在同一个高级数据网格中拖放分层数据,我希望在ADG更新时更新数据提供程序。(我希望能够保存并加载此树,因此保存拖放非常重要。) 我在这里发布了一个示例应用程序(启用了查看源代码):www.crcarlson.com/adg/AdvancedDataGridDragAndDrop.swf 示例应用程序有一个ADG,显示分层数据和平面数据。每个datagrid的第一列显示基础数据的行索引 如果重新排列左侧ADG上的项目,行索引将变得无序。如果单击traceTree,则会看到数据提供程序不正

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

我在这里发布了一个示例应用程序(启用了查看源代码):www.crcarlson.com/adg/AdvancedDataGridDragAndDrop.swf

示例应用程序有一个ADG,显示分层数据和平面数据。每个datagrid的第一列显示基础数据的行索引

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

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

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


如果您能给我一些建议,我将不胜感激,包括“您无法从这里到达目的地,请这样做。”

在阅读您的代码和使用应用程序时,我注意到了一些事情:

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

以下是Adobe的观点。具体查看标题为“移动和复制数据”的最后一页。祝你好运。

在阅读你的代码和使用应用程序时,我注意到一些事情:

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

以下是Adobe的观点。具体查看标题为“移动和复制数据”的最后一页。祝您好运。

如果其他人感兴趣,我通过更改底层数据结构解决了这个问题。我用实现IHierarchicalData接口的对象构建了我的树,然后datagrid使用本机拖放行为适当地修改了底层数据。如果其他人感兴趣,我通过更改底层数据结构解决了这个问题。我用实现IHierarchicalData接口的对象构建了我的树,然后datagrid使用本机拖放行为适当地修改了底层数据。