0

我需要限制 PrimeFaces 数据表的重新排序事件,以使表格无法水平放置。可选地,我想在拖动元素时添加边框,以便用户可以看到他可以将元素放在哪里。

我知道这些功能在普通的拖放功能下是可能的,就像我们在 Primefaces 展示中一样。限制:https ://primefaces.org/showcase/ui/dnd/draggable.xhtml (最后一个元素)
Droparea的亮点:https ://primefaces.org/showcase/ui/dnd/custom.xhtml

我浏览了primefaces的doku,但还没有找到任何可以限制该区域的东西。对于 Highlight 我尝试使用 ajax-event,通过使用带有 js-function 的 onstart 将 styleclass 设置为 table,但由于事件不是在拖动时触发而是通过放置触发,所以这并不成功我希望。

最小的例子是基于处理 Reorder 的 Primefaces Showcase。我的 xode 是展示的副本(https://primefaces.org/showcase/ui/data/datatable/reorder.xhtml)。我唯一改变的是要查看的数据表的宽度,是否仍然可以将元素移动到边框上方

有什么办法可以让它工作吗?我将不胜感激任何帮助,在此先感谢!


PrimeFaces 版本:6.2

4

1 回答 1

0

我找到了一种可能对我有用的方法。我添加了一些 JQuery 并按照以下方式设置轴

<script>
  jQuery(function() {
    PF('widgetVarTableName').tbody.sortable( "option", "axis", "y" );
  });
</script>

提示
目前我面临的问题是,拖动的元素扩展到整个显示宽度并且代码只运行一次,但也许这种方法会帮助其他人..

于 2020-12-14T07:57:06.463 回答