簡體   English   中英

如何從Java訪問Primefaces DataTable行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM