【发布时间】:2010-11-01 11:07:27
【问题描述】:
我有以下数据:
<rich:dataTable id="grid1" value="#{monitorForm.customerList}" var="custRow">
<rich:column width="5">
<h:selectBooleanCheckbox value="#{custRow.selected}">
<a:support event="onclick" action="#{monitorForm.selectOrderLines(custRow)}"
reRender="custTable_#{custRow.id}"/>
</h:selectBooleanCheckbox>
</rich:column>
<rich:subTable id="custTable_#{custRow.id}"
var="row" value="#{custRow.orderList}" rendered="#{custRow.show}">
<rich:column width="5">
<h:selectBooleanCheckbox value="#{row.checked}" />
</rich:column>
<rich:column>
<h:outputText value="#{row.name}" />
</rich:column>
</rich:subTable>
</rich:dataTable>
当我点击复选框时,动作#{monitorForm.selectOrderLines(custRow)}
设置所选客户的复选框,我只希望重新呈现该客户的子表。
上面的不行。
错误是[AjaxContext] Target component for id custTable_<id number>不存在。
当我使用reRender="grid1" 时一切正常
但是当有很多行时,这可能会很慢。
是否可以让rich:subTable 具有动态 id,我可以使用它来仅重新呈现该子表?
【问题讨论】: