を使用する場合<p:rowEditor>
、編集したセルの行インデックスを取得するにはどうすればよいですか?
関連するコードは次のとおりです。
<p:dataTable id="datasetParamDt" var="datasetParam" value="#{projectCampaignManagementMB.allParametersList}" editable="true" rowIndexVar="rowIndex">
<p:ajax event="rowEdit" listener="#{projectCampaignManagementMB.onParameterValueEdit}" update=":campaignForm:growl" />
<p:ajax event="rowEditCancel" listener="#{projectCampaignManagementMB.onParameterValueCancel}" update=":campaignForm:growl"/>
<p:column headerText="Value">
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{projectCampaignManagementMB.paramValue}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{projectCampaignManagementMB.paramValue}" />
</f:facet>
</p:cellEditor>
</p:column>
<p:column headerText="Options" style="width:50px">
<p:rowEditor />
</p:column>
</p:dataTable>
単純なデータテーブルでは、私は次のようにを使用してい<f:param>
ました。<p:commandLink>
<f:param name="index" value="#{rowIndex}" />
ただし、の<p:rowEditor>
場合、ユーザーがメソッドで編集された値を検証するときに行インデックスを取得するにはどうすればよいonParameterValueEdit()
ですか?
public void onParameterValueEdit(RowEditEvent event) {
int index = ... // index of the row to which the edited cell belongs
parametersValue.set(Integer.parseInt(index),paramValue);
}