我正在使用JSF 2.2和Primefaces 6.0。我有p:dataTable
个p:column
个,每列有很多行。我希望,只要column1
input
更改,column2
input
,在同一行,更新,但是,它不起作用;它没有渲染。
这是我的xhtml代码:
<p:dataTable value="#{myBean.objectsList}" var="object">
<p:column headerText="column1">
<table>
<tbody>
<ui:repeat value="#{object.subObjects}" var="object2">
<tr>
<td>
<c:set var="object3" value="#{object2.subObjects}"/>
<h:inputText id="value1#{myBean.toString(object3)}" value="#{object3.value1}">
<f:ajax event="change" listener="#{myBean.doSomething}"
execute="@this" render="@this"/>
</h:inputText>
</td>
</tr>
</ui:repeat>
</tbody>
</table>
</p:column>
<p:column headerText="column2">
<table>
<tbody>
<ui:repeat value="#{object.subObjects}" var="object2">
<tr>
<td>
<c:set var="object3" value="#{object2.subObjects}"/>
<h:inputText value="#{object3.value2}" disabled="disabled">
<f:ajax event="change" listener="#{myBean.doSomething2}"
execute="@this" render="value1#{myBean.toString(object3)}"/>
</h:inputText>
</td>
</tr>
</ui:repeat>
</tbody>
</table>
</p:column>
</p:dataTable>
每个object
都有objects
个List
。
答案 0 :(得分:0)
在第一列的f:ajax
标记(column1
)中,您已将@this
作为属性render
的值。
相反,请尝试提供组件column2
的ID或p:dataTable
本身的ID。