Richfaces数据表 - 添加一个新行而不重新渲染客户端上的整个数据表

可以在命令按钮或命令链接的操作事件上将新行添加到关联的服务器端集合,如果重新呈现整个表,则可以在客户端上显示新添加的行。 是否可以在客户端显示新添加的行而无需刷新整个数据表,使用部分呈现,在AjaxKeys的帮助下? 在此先感谢任何帮助:)     
已邀请:
如果要添加新行,则必须重新呈现整个数据表。如果要重新呈现现有列,AjaxKeys可能很有用。     
我也非常有兴趣知道你的问题的答案, 我可以使用传统的Javascript实现这一点,但是当我使用rich:datatable时我无法在客户端上添加新行。 但是我使用ajax调用服务器函数,这个函数将新的空行添加到dataTable List并再次渲染rich:datatable。 我的xhtml页面
<rich:column>
<f:facet name="header"><h:outputLabel value="#{msgs.notes}" style="font-size:15px;"/> </f:facet>
<h:inputText    value="#{line.notes}" >
    <a4j:ajax   event="blur" 
    execute="datatable" 
    render="datatable" 
    immediate="true" 
    listener="#{saleBacking.addNewLineInDataTable}"
    oncomplete="document.getElementById('myform:datatable:#{saleBacking.view_no_counter-1}:line').focus();"/>
</h:inputText>
</rich:column>
和在maneged豆
public void addNewLineInDataTable(AjaxBehaviorEvent event)
    {
        SaleLine saleLine = new SaleLine();
        saleLine.setId(salesLineslist.isEmpty() ? 1 : salesLineslist.get(salesLineslist.size() - 1).getId() + 1);
        salesLineslist.add(saleLine);
        saleLine = new SaleLine();
        saleLine = new SaleLine();
        saleLine.setSaleId(sale);
        saleLine.setViewNo(++view_no_counter);
        saleLine.setDiscount(0d);
        saleLine.setItemPrice(0d);
        salesLines.add(saleLine);
    }
    

要回复问题请先登录注册