两个 ICEfaces 面板交互定位

发布于 2024-10-21 12:11:31 字数 622 浏览 2 评论 0原文

如何限制 PanelPositioned 的元素,使其只能在当前面板内拖动?我有两个不同数据类型的垂直列表,一个在另一个之上。两者都使用 PanelPositioned 来允许拖动和拖动。删除重新排序,但可以将元素上下拖动到另一个面板,从而生成错误

<ice:panelPositioned id="dragPanel1" var="dataType1var"
    value="#{displayBean.dataType1List}" constraint="vertical">
    <ice:panelGroup style="cursor:move;">

    </ice:panelGroup>
</ice:panelPositioned>

<ice:panelPositioned id="dragPanel2" var="dataType2var"
    value="#{displayBean.dataType2List}" constraint="vertical">
    <ice:panelGroup style="cursor:move;">

    </ice:panelGroup>
</ice:panelPositioned>

How do you constrain the elements of a PanelPositioned so they can only be dragged within the current panel? I have two vertical lists of different data types, one above the other. Both use a PanelPositioned to allow drag & drop reordering, but the elements can be dragged up and down to the other panel, generating an error

<ice:panelPositioned id="dragPanel1" var="dataType1var"
    value="#{displayBean.dataType1List}" constraint="vertical">
    <ice:panelGroup style="cursor:move;">

    </ice:panelGroup>
</ice:panelPositioned>

<ice:panelPositioned id="dragPanel2" var="dataType2var"
    value="#{displayBean.dataType2List}" constraint="vertical">
    <ice:panelGroup style="cursor:move;">

    </ice:panelGroup>
</ice:panelPositioned>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寂寞陪衬 2024-10-28 12:11:31

对于icefaces 3.0,将 beforeChangeListener 添加到 ice:panelPositioned 元素。如果 event.getType() !=PanelPositionedEventTYPE_MOVE,则此侦听器应调用 event.cancel() > 并且 event.getIndex()event.getOldIndex() 都大于 1。如果是移动,则它在面板内。添加/删除正在面板之间移动。

对于icefaces 1.8.2(从未使用过2.0),您需要向 ice:panelPositioned 元素添加一个侦听器。没有 beforeChangeListener。您将需要一份之前的清单和当前的清单(两份)。初始化支持 bean 时,两者都初始化为相同的元素。侦听器,如果移动 - 将之前列表设置为当前列表,否则将当前列表设置为之前列表。必须是副本,而不是参考。

For icefaces 3.0, add a beforeChangeListener to the ice:panelPositioned element. This listener should then call event.cancel() if the event.getType() != to PanelPositionedEvent.TYPE_MOVE and the event.getIndex() and event.getOldIndex() are both greater than 1. If it is a move, then it is within panel. add/delete are moving between panels.

For icefaces 1.8.2 (neve used 2.0), you would need to add a listener to the ice:panelPositioned element. There is no beforeChangeListener. you will need a before list and current list (two copies). Both initialize to same elements when initializing backing bean. The listener, if a move - set before list to current list otherwise set current list to before list. Must be a copy, not a reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文