ScrollableDataTable can not be reRendered by a4j:support
darmstadter Feb 17, 2009 3:37 AMScrollableDataTable can not be reRendered by a4j:support. Only the SDT is wrapped with a4j:outputPanel. But after sort the header of the SDT is disappeared and crash the whole table. I use RF:3.3.0, jsf-1.2, FF:3.0.6 and IE7. ps. The SDT can be reRendered by a a4j:commandButton.
<a4j:outputPanel layout="block" id="tableId"> <ui:include src="/panel/dataTable.xhtml" /> </a4j:outputPanel>
SDT:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:dim="http://dimetis.de/jsf">
<rich:scrollableDataTable id="table" height="200px" width="220px"
value="#{appBean.items}" var="item" sortMode="single" rows="25"
rowClasses="taskRows" columnClasses="taskColumns">
<rich:column width="104px" sortable="true" id="name">
<f:facet name="header">
<h:outputText value="Name"/>
</f:facet>
<a4j:outputPanel layout="block" style="border:1px solid black">
<rich:dragSupport dragIndicator=":form:indicator" dragType="pidDrag"
dragValue="#{item.name}" ondragstart="forceReRenderDropZone()">
<rich:dndParam name="label" value="#{item.name}" />
</rich:dragSupport>
<h:outputText value="#{item.name}" />
</a4j:outputPanel>
</rich:column>
<rich:column width="104px" sortable="true" id="value">
<f:facet name="header">
<h:outputText value="Value"/>
</f:facet>
<div style="margin-top:2px;display:block;">
<h:outputText value="#{item.value}" />
</div>
</rich:column>
<rich:componentControl id="taskcontrolid" for="tContextMenu" operation="show"/>
</rich:scrollableDataTable>
</ui:composition>
a4j:push come from richfaces demo
<h:form>
<a4j:push interval="1000" eventProducer="#{push.addListener}" oncomplete="alert('updated');"
reRender="tableId" enabled="#{push.enabled}" id="push" ajaxSingle="true"/>
<rich:panel>
<f:facet name="header">
<h:outputText value="Push Example"/>
</f:facet>
<h:panelGrid columns="1" id="out">
<h:outputText rendered="#{!push.enabled}" value="Press Start to run push example"/>
<h:panelGroup rendered="#{push.enabled}">
<h:outputText value="Generated UUID:"/>
<h:outputText value="#{push.uuid}"/>
</h:panelGroup>
<h:panelGroup>
<a4j:commandButton value="Start" action="#{push.start}"
ajaxSingle="true" rendered="#{!push.enabled}" reRender="push, out"/>
<a4j:commandButton value="Stop" action="#{push.stop}"
ajaxSingle="true" rendered="#{push.enabled}" reRender="push, out"/>
</h:panelGroup>
</h:panelGrid>
</rich:panel>
</h:form>