【问题标题】:Update hierarchical data provider in advanced data grid during drag and drop在拖放期间更新高级数据网格中的分层数据提供程序
【发布时间】:2010-11-11 02:06:03
【问题描述】:

我正在尝试将分层数据拖放到同一个高级数据网格中,并且我希望在更新 ADG 时更新数据提供程序。 (我希望能够保存和加载这棵树,所以保存拖放很重要。)

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

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

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

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

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

我将不胜感激任何建议,包括“你不能从这里到达那里,这样做。”

【问题讨论】:

    标签: apache-flex drag-and-drop advanceddatagrid


    【解决方案1】:

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

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

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

    【讨论】:

    • 如果其他人有兴趣,我通过更改底层数据结构解决了这个问题。我用实现 IHierarchicalData 接口的对象构建了我的树,然后数据网格通过原生拖放行为适当地修改了底层数据。
    猜你喜欢
    • 1970-01-01
    • 2011-06-23
    • 2013-09-02
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    相关资源
    最近更新 更多