GWT在树内和树网格之间拖放



我们使用GWT,需要创建两个拖放树网格。每棵树包含父树和子树(目前最多两级)。以下是我们需要做的:

用例

  • 将父对象从一个树网格拖动到另一个树栅格
  • 将父对象1拖动到父对象2(1将成为2的子对象,1的所有子对象都将成为2个的子对象)->请不要问:D
  • 将子对象从父对象拖动到另一个父对象(在同一树网格内)
  • 将子对象拖动到同一树网格内的顶层(子对象将成为父对象)
  • 将一个子级拖动到另一个具有两个选项的树网格
    1-顶级-树1中的子级将成为树2上的父级
    2-父级-树1中的子级将成为树网格2中父级的子级

如果这没有多大意义,我们还没有完整的上下文,所以我们只知道这些。

问题

我们可以在同一个树网格上拖动。如果我们想拖动单元格到的行是隐藏的,我们将滚动设置为true,这样当用户在其中拖动时,网格就会滚动

private void setDraggableOptions(DragAndDropColumn<?, ?> column) {
// retrieve draggableOptions on the column
DraggableOptions draggableOptions = column.getDraggableOptions();
draggableOptions.setScroll(true);
// use template to construct the helper. The content of the div will be set
// after
draggableOptions.setHelper(HelperType.CLONE);
// opacity of the helper
draggableOptions.setOpacity((float) 0.8);
// cursor to use during the drag operation
draggableOptions.setCursor(Cursor.MOVE);
// set the revert option
draggableOptions.setRevert(RevertOption.ON_INVALID_DROP);
// prevents dragging when user click on the category drop-down list
draggableOptions.setCancel("select");
column.setDraggableOptions(draggableOptions);
}

现在的问题是,将树网格设置为滚动,用户将永远无法将对象拖动到第二棵树,因为滚动会试图将对象始终保持在网格内。

我们正在使用gwtquery插件

有什么办法解决这个问题吗?事先非常感谢。

点击此处查看我对您问题的回答

最新更新