我正在创建一个应用程序,允许用户通过允许他们将对象从Flex Tree拖放到DataGrid中来建模配置信息。
我知道Tree和DataGrid都支持Drag和Drop。
我的问题是我希望用户将项目从Tree中删除到特定的Datagrid单元格中。我认为Datagrid中的标准丢弃事件默认尝试填充整个datagrid行。这不是我想要的,我只想将组件放入单元格中。
我在想,每次将对象放到数据网格上时,您都必须: - 获取对象被放入的单元格位置(x,y) - 获取所有现有单元对象并从头开始重建该数据网格行(动态)将新删除的对象添加到行的正确位置。因此给出了一个幻觉,你可以放入一个单元格 - 它有点软糖但我认为它可以工作:)
任何反馈都会很棒。 提前致谢 麦克
答案 0 :(得分:1)
为数据网格转动拖放。
编写一个自定义渲染器,用于侦听DragEnter / DragDrop事件。在drop事件的处理程序中,将项添加到数据中(在该列引用的变量处)。
如果您的渲染器绑定到该项目,它现在将更新。
((注意,这不是最佳实践,您需要调度包含渲染器数据项的事件,它所代表的变量和丢弃的项目,然后在渲染器外部操纵数据提供者) )