0

我有一个 ListGrid A,它有行,可以展开以显示 B 类型的 ListGrid。这些 ListGrid B 也有可以展开以显示 ListGrid C 的行。所有 ListGrid B 都由同一个数据源 B 提供,该数据源 B 链接到数据源 A 通过外键。同样,所有 ListGrids C 都由同一个数据源 C 提供,该数据源 C 通过外键链接到数据源 B。

我只想在所有这些 ListGrids C 之间启用拖放。因此,在 ListGrids C 初始化期间,我调用这些来设置拖放引擎:

    setCanReorderRecords(true);
    setCanDragRecordsOut(true);
        setCanAcceptDroppedRecords(true);
        setDragDataAction(DragDataAction.MOVE);
但我只能在同一个网格中重新排序行。在网格 C 之间拖放 n 不起作用。有人知道我缺少什么吗?

谢谢你的帮助。

4

2 回答 2

0

在要启用拖放的所有组件上设置相同的类型。即对于所有类型 C 的列表网格使用这两种方法:

    public static final String DRAG_AND_DROP_TYPE = "typeC";
    ...
    tileGridOfTypeC.setDropTypes(DRAG_AND_DROP_TYPE);
    tileGridOfTypeC.setDragType(DRAG_AND_DROP_TYPE);
    ...
于 2012-12-11T23:34:21.663 回答
0

我正在使用 SmartGWT 2.5。在这个版本中,我还必须在 B 类型的 ListGrids 上启用拖放功能。我还在 ListGrids B 上添加了一个放置处理程序,它通过简单地调用 event.cancel() 来取消任何放置操作。这不是完美的解决方案,但至少它确实有效。

于 2012-12-17T10:59:04.427 回答