如何在 h:dataTable 中嵌套的 ui:repeat 中获取 h:outputText 以在更新数据表时进行更新?
How do I get h:outputText inside of a ui:repeat nested in h:dataTable to update when the datatable is updated?
所以我的代码的相关部分是:
<h:panelGroup id="pnlGrp" style="padding:10px" width="100%">
<div>
<h:dataTable id="availableCrList"
value="#{searchData.availableCrList}"
var="avail"
varStatus="thisVarStatus" rows="#{searchData.rowsPerPage}"
sortColumn="#{searchData.crSortColumnName}"
sortAscending="#{searchData.crAscending}" style="width:100%;">
<h:column>
<ui:repeat value="#{avail.crRsnCdList}"
var="crRsnCd"
varStatus="status">
<h:outputText value="#{crRsnCd}<br />"
title="#{avail.crRsnDescList[status.index]}"
escape="false"/>
</ui:repeat>
</h:column>
</h:dataTable>
</div>
</h:panelGroup>
我在遗留应用程序中工作,我的目标是显示一个代码列表,这些代码指示此 table 中给定项目可能完成或取消等原因的原因。标题将转换为悬停工具提示,显示每个代码的说明。
现在,我设法使它对单数代码起作用没问题,但自从从字符串切换到字符串列表后,试图让它起作用一直是一场噩梦。
现在使用上面的代码,它第一次正确显示代码,但是当我通过搜索新值更新数据table时,所有其他列(未显示)都正确显示,而RsnCd 列继续显示与第一次搜索相同的数据。
例如,我第一次搜索记录时,数据table 可能会出现:
Row1:A1
Row2:A1
Row3:A1
A3
Row4:A1
我第二次搜索我希望看到的数据:
Row1:
Row2:
Row3:
Row4:
Row5:
Row6:
Row7:
但我得到的是:
Row1:A1
Row2:A1
Row3:A1
A3
Row4:A1
Row5:
Row6:
Row7:
真的不确定我是否在解释这个 adequately/understandably。
我通过更改解决了这个问题
<ui:repeat value="#{avail.crRsnCdList}"
var="crRsnCd"
varStatus="status">
<h:outputText value="#{crRsnCd}<br />"
title="#{avail.crRsnDescList[status.index]}"
escape="false"/>
</ui:repeat>
收件人:
<ice:column>
<ice:repeat value="#{avail.crRsnCdList}"
varStatus="status">
<ice:outputText value="#{avail.crRsnCdList[status.index]}<br />"
title="#{avail.crRsnDescList[status.index]}"
escape="false"/>
</ice:repeat>
</ice:column>
我尝试删除该值,但它停止显示任何内容。
所以我的代码的相关部分是:
<h:panelGroup id="pnlGrp" style="padding:10px" width="100%">
<div>
<h:dataTable id="availableCrList"
value="#{searchData.availableCrList}"
var="avail"
varStatus="thisVarStatus" rows="#{searchData.rowsPerPage}"
sortColumn="#{searchData.crSortColumnName}"
sortAscending="#{searchData.crAscending}" style="width:100%;">
<h:column>
<ui:repeat value="#{avail.crRsnCdList}"
var="crRsnCd"
varStatus="status">
<h:outputText value="#{crRsnCd}<br />"
title="#{avail.crRsnDescList[status.index]}"
escape="false"/>
</ui:repeat>
</h:column>
</h:dataTable>
</div>
</h:panelGroup>
我在遗留应用程序中工作,我的目标是显示一个代码列表,这些代码指示此 table 中给定项目可能完成或取消等原因的原因。标题将转换为悬停工具提示,显示每个代码的说明。
现在,我设法使它对单数代码起作用没问题,但自从从字符串切换到字符串列表后,试图让它起作用一直是一场噩梦。
现在使用上面的代码,它第一次正确显示代码,但是当我通过搜索新值更新数据table时,所有其他列(未显示)都正确显示,而RsnCd 列继续显示与第一次搜索相同的数据。
例如,我第一次搜索记录时,数据table 可能会出现:
Row1:A1
Row2:A1
Row3:A1
A3
Row4:A1
我第二次搜索我希望看到的数据:
Row1:
Row2:
Row3:
Row4:
Row5:
Row6:
Row7:
但我得到的是:
Row1:A1
Row2:A1
Row3:A1
A3
Row4:A1
Row5:
Row6:
Row7:
真的不确定我是否在解释这个 adequately/understandably。
我通过更改解决了这个问题
<ui:repeat value="#{avail.crRsnCdList}"
var="crRsnCd"
varStatus="status">
<h:outputText value="#{crRsnCd}<br />"
title="#{avail.crRsnDescList[status.index]}"
escape="false"/>
</ui:repeat>
收件人:
<ice:column>
<ice:repeat value="#{avail.crRsnCdList}"
varStatus="status">
<ice:outputText value="#{avail.crRsnCdList[status.index]}<br />"
title="#{avail.crRsnDescList[status.index]}"
escape="false"/>
</ice:repeat>
</ice:column>
我尝试删除该值,但它停止显示任何内容。