我有一个具有层次结构的TreeGrid,我想给它添加一个拖放功能。
我的问题是,我只希望两种类型的元素是可拖动的,并且它们只能拖放到这两种类型和根元素中。
到目前为止,通过在元素是不同类型的元素时返回dragStartEvent,我可以设法只允许拖动这些元素。
但是当它是一个网格时,我如何定制允许的dropTargets呢?
现在用户可以将元素放在任何其他网格元素上,我唯一能做的就是如果dropTarget不是想要的类型,就会显示一条错误消息,但这不是一个好的解决方案,他们应该在拖动项目时看到它不能放在那里。
发布于 2021-07-03 17:09:34
网格有一个拖放过滤器,您可以使用它们来决定是拖放还是拖放。
void setDragFilter(SerializablePredicate<T> dragFilter)
Sets the drag filter for this drag source.
void setDropFilter(SerializablePredicate<T> dropFilter)
Sets the drop filter for this drag target.请查看文档https://vaadin.com/components/vaadin-grid/java-examples/drag-and-drop
https://stackoverflow.com/questions/68226153
复制相似问题