【问题标题】:How to use PrimeFaces p:droppable inside datatable?如何在数据表中使用 PrimeFaces p:droppable?
【发布时间】:2011-06-14 20:17:42
【问题描述】:

有业务需要对项目进行分类。最好的想法似乎是将项目从一个列表拖放到类别列表中。类别的数量可能会有所不同,因此使用 p:dataTable。 发送了 Ajax 请求,但未从 dataTable 内部调用 onDrop 方法。当删除数据表和列并静态拥有输出面板时,会调用 onDrop 吗?

如何最好地将项目拖放到动态变化的类别中?

        <h:form prependId="false">
            <h:panelGrid columns="2">
                <p:dataTable id="itemstable" value="#{categoryBean.items}" var="item">
                    <p:column>
                        <p:outputPanel id="itemrow">
                            <h:outputText value="#{item}"></h:outputText>
                        </p:outputPanel>
                        <p:draggable for="itemrow"></p:draggable>
                    </p:column>
                </p:dataTable>

                <p:dataTable value="#{categoryBean.categories}" var="cat">
                    <p:column>
                        <p:outputPanel id="cats1">
                            <h:outputText value="category1"></h:outputText>
                        </p:outputPanel>
                        <p:droppable for="cats1"
                                     dropListener="#{categoryBean.onDrop}"
                                     tolerance="pointer"
                                     activeStyleClass="slotActive"
                                     datasource="itemstable">
                        </p:droppable>
                    </p:column>
                </p:dataTable>
            </h:panelGrid>
        </h:form>

【问题讨论】:

    标签: ajax jsf datatable primefaces


    【解决方案1】:

    PrimeFaces 中有一个bug,当&lt;p:droppable&gt; 嵌套在任何数据重复元素中时,dropListener 不会被调用。我也尝试使用 Facelets 重复标签 &lt;ui:repeat&gt;,但 dropListener 并没有像拖动到 &lt;p:dataTable&gt; 一样被调用。

    在 PrimeFaces 展示中,所有拖放示例都有静态可拖放区域。
    PrimeFaces ShowCase

    【讨论】:

    • 不是这样了。让它通过从一个单元格到另一个单元格的拖放工作。
    • @Thomas6767 太好了!你能把这个修复的 PrimeFaces 版本放上来供参考吗?
    • 在 Primefaces 5.1 上工作
    猜你喜欢
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 2016-03-08
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 2016-11-02
    相关资源
    最近更新 更多