p:datatable rowkey 未使用 var 解析
p:datatable rowkey not resolved with var
我是 JSF 和 Primefaces 的新手,我正在尝试显示订单数据表。但是无论如何,rowKey 无法解析 var 属性。即使是建议也不显示 var 字段。实际上我做的和在 primefaces showcase 里做的一模一样。我是不是忘记了什么?
<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, ...
}
Rowkey 需要一个字符串,您可以给它输入一个数字吗?
作为参考,Primefaces 6.2 文档https://www.primefaces.org/docs/guide/primefaces_user_guide_6_2.pdf
我现在注意到,它仍然没有解决,但不知何故它仍然有效。您可以完全按照 primefaces 示例进行操作。
我是 JSF 和 Primefaces 的新手,我正在尝试显示订单数据表。但是无论如何,rowKey 无法解析 var 属性。即使是建议也不显示 var 字段。实际上我做的和在 primefaces showcase 里做的一模一样。我是不是忘记了什么?
<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, ...
}
Rowkey 需要一个字符串,您可以给它输入一个数字吗?
作为参考,Primefaces 6.2 文档https://www.primefaces.org/docs/guide/primefaces_user_guide_6_2.pdf
我现在注意到,它仍然没有解决,但不知何故它仍然有效。您可以完全按照 primefaces 示例进行操作。