如何解决Vaadin14 自定义网格拖放
我有一个带有层次结构的 TreeGrid,我想为其添加拖放功能。
我的问题是,我只想要两种类型的元素是可拖动的,并且只能将它们放入这两种类型和根元素中。
到目前为止,我只能通过在元素是不同类型的元素时返回 dragStartEvent 来设法只允许拖动这些元素。
但是当它是一个网格时,我如何自定义允许的 dropTargets?
现在用户可以将元素放在任何其他网格元素上,如果 dropTarget 不是所需的类型,我唯一能做的就是显示错误消息,但这不是一个好的解决方案,他们应该在拖动时看到不能在那里放置的物品。
解决方法
网格有一个拖放过滤器,您可以使用它来决定是拖放还是拖放。
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。