通过单击表中的按钮获取元素

时间:2019-02-12 02:01:19

标签: jsf xhtml

从JSF中的表获取行元素时遇到问题。我的目标是创建一个表,其中的元素取自具有某些属性(名称,地址,描述等)的数据库(订单实体)。所有这些都在所有单行上都有一个按钮。

按钮的任务是从数据库onClick中删除特定订单,因此我需要在特定行上获取订单的 id

我在使用setPropertyActionListener()的过程中发现了某个地方。问题在于它仅适用于表的第一个元素。如果我单击分配给另一行的按钮(但不是首先单击),则订单的selectedId为空(未分配)。

我将非常感谢您的帮助。

<h:form>
    <h:dataTable id="orders" value="#{orderController.otherOrders}" var="order" border="2"
                 cellspacing="1" cellpadding="1">
        <h:column>
            <c:facet name="header">Name</c:facet>
            #{order.name}
        </h:column>
        <h:column>
            <c:facet name="header">Address</c:facet>
            #{order.address}
        </h:column>
        <h:column>
            <c:facet name="header">Description</c:facet>
            #{order.description}
        </h:column>
        <h:column>
            <c:facet name="header"> </c:facet>
            <h:form>
                <h:commandButton action="#{orderController.selectOrder}" value="delete">
                    <f:setPropertyActionListener target="#{orderController.selectedOrderId}" value="#{order.id}" />
                </h:commandButton>
            </h:form>
        </h:column>

    </h:dataTable>
</h:form>

在orderController中,我具有函数selectOrder(),该函数采用实际的selectedOrderId并删除订单。

0 个答案:

没有答案