Я новичок в JSF и Primefaces, и я пытаюсь показать таблицу заказов. Но в любом случае rowKey не может разрешить атрибут var. Даже в предложениях не отображается поле var. На самом деле я сделал это в точности как в витрине праймфейсов. Я что-нибудь забыл?
<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, ...
}





Роуки ожидает строку, возможно, вы кормите ее числом?
Для справки, документация Primefaces 6.2 https://www.primefaces.org/docs/guide/primefaces_user_guide_6_2.pdf
Теперь я заметил, что это все еще не решается, но как-то работает, хотя. Вы можете сделать это точно так же, как в примере с Primefaces.
Нет, ключ строки - это строка. Теперь я заметил, что он все еще не решается, но теперь он работает, хотя.