Java 为什么我的更改为rich:datatable在我家中不可用?
我有一个丰富的:带有动态列的Datatable。。。直到这里一切都好。。。我从数据库中获取所有数据,我的代码显示所有具有正确值的复选框。。。但当我更改它们并单击“salvar”按钮时,另一侧的值仍然与以前相同。。。 但是如果我在rich:Datatable之外放一个inputTextJava 为什么我的更改为rich:datatable在我家中不可用?,java,jsf,richfaces,richdatatable,Java,Jsf,Richfaces,Richdatatable,我有一个丰富的:带有动态列的Datatable。。。直到这里一切都好。。。我从数据库中获取所有数据,我的代码显示所有具有正确值的复选框。。。但当我更改它们并单击“salvar”按钮时,另一侧的值仍然与以前相同。。。 但是如果我在rich:Datatable之外放一个inputText <h:inputText value="#{matrix.teste}"/> 然后输入任何值,然后点击“salvar”,我之前输入的值将正确返回我的家 有人知道问题出在哪里?我正在将该页
<h:inputText value="#{matrix.teste}"/>
然后输入任何值,然后点击“salvar”,我之前输入的值将正确返回我的家
有人知道问题出在哪里?我正在将该页面添加到另一个页面中(使用ui:include)以添加此页面…嗯
我在寻找解决办法,但没有找到最好的办法。。。
所以我用一个变通方法解决了这个问题
<h:selectBooleanCheckbox value="#{cell}" name="presencasHorarios" onclick="setPresencas(#{index},this.checked)"/>
然后我创建了一个js函数,如下所示:
<a4j:jsFunction name="setPresencas" action="#{matrix.addAlteracaoPresenca()}">
<a4j:actionparam name="param1" assignTo="#{matrix.index}" />
<a4j:actionparam name="param2" assignTo="#{matrix.presenca}" />
</a4j:jsFunction>
在另一边,我创建了一个列表。。。所以我传递数组的索引和该项的新值。。。当我将其提交到持久化或更新时,我会阅读该列表,以验证哪些项已被更改,以及它的新值。。。为了更简单,我创建了一个HashMap来传递索引和值。。。因此,如果用户更改该值1000次,该值将永远是最后一个
<a4j:jsFunction name="setPresencas" action="#{matrix.addAlteracaoPresenca()}">
<a4j:actionparam name="param1" assignTo="#{matrix.index}" />
<a4j:actionparam name="param2" assignTo="#{matrix.presenca}" />
</a4j:jsFunction>