![](/img/trans.png)
[英]How to edit datatable's rows (JAVA + Primefaces + JSF + MYSQL)
[英]How access Primefaces DataTable Rows from Java
我想從Java中的PrimeFaces DataTable組件獲取不同的行。 我可以使用findComponent從ViewRoot中找到DataTable。 現在,當我查看組件(使用調試器)時,我可以看到3個孩子,即孩子。 這些子級是DataTable第一行中的3列,但我無法訪問其他行。
我的Table XHTML的結構如下:(示例)
<h:form id="form">
<p:dataTable id="table" var="t">
<p:column>
<p:inputNumber id="inputOne" />
</p:column>
<p:column>
<p:inputNumber id="inputTwo" />
</p:column>
<p:column>
<p:inputNumber id="inputThree" />
</p:column>
</p:dataTable>
</h:form>
這就是我在Java代碼中獲取DataTable的方式:
final DataTable table = (DataTable) getFacesContext().getViewRoot().findComponent("form:table");
table.getChildren(); // 3 Children, even if the DataTable got 10 Rows.
如何訪問數據表中的其他行? 我只有第一行的3列作為兒童。
盡我所能通過調試器,但我找不到其他行/組件。
我認為您可以使用p:dataTable的rowIndexVar="rowId"
屬性。 您可以使用它來傳遞所選行的ID。
您可以添加帶有鏈接的列以使行“無效”:
<p:column>
<h:commandLink action="#{managedBeanActionToMakeRowInvalid}">
<f:param name="rowIndex" value="#{rowId}" />
</h:commandLink>
</p:column>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.