使用数据表在jsf中没有发生reRendering

时间:2010-05-05 12:42:23

标签: java jsf richfaces ajax4jsf

重新渲染在我的代码中无效:

<rich:simpleTogglePanel id="bookIncomeHeader1" value="#{myBean.ftBoookIncomelst}"
    label="BOOK INCOME" bodyClass="STP" style="ReptxtBold Reptxt_LtPad"
    switchType="server">
    <rich:dataTable id="bookIncome" value="#{myBean.ftBoookIncomelst}" var="item"
        rowKeyVar="row" first="0" width="100%">
        <rich:subTable id="subBookIncome"value="#{item.txIncome}" var="income"
            rowKeyVar="row">
            <rich:column id="descrtiptionColumn" width="30%">
                <h:outputText value="#{income.descriptionCell.value}"
                     rendered="#{!item.editableRow}" 
                     style="#{income.descriptionCell.boldClass}" />  
                <rich:inplaceInput layout="block" required="true" 
                     value="#{income.descriptionCell.value}" 
                     rendered="#{item.editableRow}" 
                     requiredMessage="Description at row #{row+1} wasn't filled."
                     changedHoverClass="hover" viewHoverClass="hover" 
                     viewClass="inplace" changedClass="inplace" 
                     selectOnEdit="true" editEvent="onclick" />
            </rich:column>

在上面的代码中,我有适当的id数据表,我正在调用我的ajax调用:

<rich:menuItem value="Add Manual Adjustment" id="addmanualadjust">
    <a4j:support event="onclick" action="#{myBean.addNewDataItem}" 
        reRender="bookIncome">
        <f:param name="rowNum" value="#{item.serialNum}"></f:param>
    </a4j:support>
</rich:menuItem>

它正在命中服务器并调用正确的方法并更新所需的列表,但它没有显示任何响应。为什么不渲染?它在控制台上也没有显示任何异常。

2 个答案:

答案 0 :(得分:1)

  1. a4j:supportdataTable应该在同一个<x:form>
  2. 尝试将immediate="true"添加到a4j:support以绕过验证错误。

答案 1 :(得分:0)

如果你重新呈现bookIncomeHeader1会有效吗?

最高
http://mkblog.exadel.com

相关问题