gpt4 book ai didi

java - 为什么我变富了:datatable are not available in my home?

转载 作者:行者123 更新时间:2023-12-01 05:41:06 25 4
gpt4 key购买 nike

我有一个丰富的:带有动态列的数据表...直到这里都可以...我从数据库中获取所有数据,我的代码显示了具有正确值的所有复选框...但是当我更改它们并单击时“salvar”按钮另一侧的值仍然与以前相同......但是如果我将 inputText 放在 rich:Datatable 之外,例如

<h:inputText value="#{matrix.teste}"/> 

并输入任何值,然后单击“salvar”,我之前输入的值会正确地转到我的家...

    <ui:param name="matrix" value="#{inscricaoMatrix}" />
<a4j:outputPanel id="matrixCredenciamento">
<a4j:form>
<rich:dataTable value="#{matrix.rows}" var="row" id="matrix" rendered="#{not empty query.inscricoes}">

<rich:column label="Nome">
<f:facet name="header">
<h:outputText value="Nome" />
</f:facet>
<h:outputText value="#{row.nome}" />
</rich:column>
<rich:column label="E-mail">
<f:facet name="header">
<h:outputText value="E-mail" />
</f:facet>
<h:outputText value="#{row.email}" />
</rich:column>
<rich:column label="Credenciamento">
<f:facet name="header">
<h:outputText value="Credenciamento" />
</f:facet>
<h:selectBooleanCheckbox value="#{row.credenciamento}" />
</rich:column>


<ui:param name="y" value="#{matrix.rows.indexOf(row)}" />

<rich:columns value="#{matrix.columns}" var="col" index="x" style="text-align: center; width: 60px;">

<ui:param name="index" value="#{y * matrix.columns.size() + x}" />
<ui:param name="cell" value="#{matrix.cells[index]}" />

<f:facet name="header">
<h:outputText value="#{col.horario}" escape="true">
<f:convertDateTime pattern="dd/MM/yyyy HH:mm"/>
</h:outputText>
</f:facet>
<h:selectBooleanCheckbox value="#{cell}" />

</rich:columns>
</rich:dataTable>

<h:inputText value="#{matrix.teste}"/>

<h:commandButton id="salvar" value="Salvar" action="#{matrix.update()}" />

</a4j:form>
</a4j:outputPanel>
</ui:composition>

有人知道可能是什么问题吗?我正在将该页面添加到另一个页面(使用 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 次,该值将永远是最后一个.. .

关于java - 为什么我变富了:datatable are not available in my home?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7147683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com