所以我代码的相关部分是:
<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>
我正在使用旧版应用程序,并且我的目标是显示代码列表,这些代码指示为什么此表中给定项目可能完成或被取消等原因。标题将转换为悬停工具提示,其中会显示每个代码的描述。
现在,我设法使该代码适用于单个代码没问题,但是由于从String切换为String列表,尝试使其正常工作一直是一场噩梦。
现在,使用上面的代码,它会第一次正确显示代码,但是当我通过搜索新值更新数据表时,所有其他列(未显示)都正确显示,而RsnCd列继续显示相同第一次搜索得到的数据。
作为示例,我第一次搜索记录时,数据表可能会拉高:
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:
真的不确定我是否能充分/理解地解释这一点。
答案 0 :(得分:0)
我通过更改解决了这个问题
<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>
我尝试删除该值,但它停止显示任何内容。