我有一个包含行的ListGrid A,可以展开它们以显示B类型的ListGrids。那些ListGrids B也有可以展开的行以显示ListGrids C. 所有ListGrids B都由相同的数据源B提供,该数据源B通过外键链接到数据源A. 类似地,所有ListGrids C都由相同的数据源C提供,该数据源C通过外键链接到数据源B.
我想在所有ListGrids C之间启用拖放操作。因此,在ListGrids C初始化期间,我调用它们来设置拖放引擎:
setCanReorderRecords(true); setCanDragRecordsOut(true); setCanAcceptDroppedRecords(true); setDragDataAction(DragDataAction.MOVE);但我只能在同一网格中重新排序行。在网格之间拖动n不起作用。 有人知道我错过了什么吗?
感谢您的帮助。
答案 0 :(得分:0)
在要启用拖放功能的所有组件上设置相同的类型。即对于C类型的所有列表网格,请使用以下两种方法:
public static final String DRAG_AND_DROP_TYPE = "typeC";
...
tileGridOfTypeC.setDropTypes(DRAG_AND_DROP_TYPE);
tileGridOfTypeC.setDragType(DRAG_AND_DROP_TYPE);
...
答案 1 :(得分:0)
我正在使用SmartGWT 2.5。在这个版本中,我还必须在类型B的ListGrids上启用拖放功能。我还在ListGrids B上添加了一个drop handler,它通过简单地调用event.cancel()来取消任何drop操作。 这不是完美的解决方案,但至少它确实有效。