p:datatable行键无法用var

时间:2018-12-19 11:41:19

标签: jsf primefaces

我是JSF和Primefaces的新手,并且试图显示Orders的数据表。但是无论如何,rowKey无法解析var属性。甚至建议也没有显示var字段。实际上,我确实像在primefaces展示柜中那样做。我有忘记什么吗?

<h:form>
    <p:dataTable id="orderDT" 
                 var="order" 
                 value="#{orderModel.userOrders}"
                 selection="#{orderModel.tempOrder}"
                 selectionMode="single"
                 rowKey="#{order.id}"
                 style="margin-bottom:0"
                 scrollable="true"
                 scrollHeight="150">

        <f:facet name="header">
            Getätigte Bestellungen
        </f:facet>
        <p:column headerText="Bestellnummer">
            <h:outputText value="#{order.id}"/>
        </p:column>
        <p:column headerText="Transportnummer">
            <h:outputText value="#{order.taId}"/>
        </p:column>                    
            </h:outputText>
        </p:column>
        <p:column headerText="Positionen">                           
            <p:dataTable var="pos" value="#{order.orderPositions}">
                <p:column>
                    <h:outputText value="#{pos.grocery.name}"/>
                </p:column>
                <p:column>
                    <h:outputText value="Anzahl: #{pos.quantity}"/>
                </p:column>
            </p:dataTable>
        </p:column>
        <p:column headerText="Betrag">
            <h:outputText value="#{order.invoice.amount}"/>
        </p:column>

        <f:facet name="footer">
            <p:commandButton title="Bearbeiten" process="orderDT"  />
            <p:commandButton title="Stornieren" process="orderDT"  />
            <p:commandButton title="Rechnung anzeigen" process="orderDT"  />
        </f:facet>

    </p:dataTable>

@Named
@SessionScoped
public class OrderModel implements Serializable {

    private List<GroceryOrder> userOrders;
    private GroceryOrder tempOrder;

    // + getters & setters for userOrders, tempOrder, ...

}

2 个答案:

答案 0 :(得分:0)

Rowkey需要一个字符串,是否可以输入数字?

作为参考,Primefaces 6.2文档https://www.primefaces.org/docs/guide/primefaces_user_guide_6_2.pdf

答案 1 :(得分:0)

我现在注意到,它仍然无法解决,但是尽管如此,它还是可以工作的。您可以完全按照primefaces示例进行操作。