ScrollableDataTable exception
antony.mandilas Sep 13, 2008 4:24 PMDear all,
after i upgrade the library to version 3.2.2 when ever i try to click on a row or make any other action like sorting i get the following exception:
java.lang.ArrayIndexOutOfBoundsException: 3
org.richfaces.renderkit.html.ScrollableDataTableBaseRenderer.doDecode(ScrollableDataTableBaseRenderer.java:651)
org.ajax4jsf.renderkit.RendererBase.decode(RendererBase.java:76)
javax.faces.component.UIComponentBase.decode(UIComponentBase.java:789)
org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1159)
org.ajax4jsf.component.UIDataAdaptor.processDecodes(UIDataAdaptor.java:1168)
org.richfaces.component.UIScrollableDataTable.processDecodes(UIScrollableDataTable.java:140)
javax.faces.component.UIForm.processDecodes(UIForm.java:209)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
org.ajax4jsf.component.AjaxViewRoot$1.invokeContextCallback(AjaxViewRoot.java:392)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:409)
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
my code is the following:
<rich:scrollableDataTable rowKeyVar="rkv" frozenColCount="1" height="400px" width="620px"
id="availableGroups" rows="40"
value="#{UserGroupsBB.activeGroups}" var="group" sortMode="single"
binding="#{UserGroupsBB.table}"
selection="#{UserGroupsBB.selection}">
<a4j:support event="onRowClick" action="#{UserGroupsBB.takeSelectionAction}"
reRender="updateUserGroupCommand, createNewUserGroup"/>
<rich:column id="groupId" width="200px">
<f:facet name="header"><h:outputText styleClass="headerText" value="#{messages.groupId}"/></f:facet>
<h:outputText value="#{group.groupId}"/>
</rich:column>
<rich:column id="groupName" width="200px">
<f:facet name="header"><h:outputText styleClass="headerText" value="#{messages.groupName}"/></f:facet>
<h:outputText value="#{group.groupName}"/>
</rich:column>
<rich:column id="dateAdded" width="100px">
<f:facet name="header">
<h:outputText styleClass="headerText" value="#{messages.dateadded}"/>
</f:facet>
<h:outputText value="#{group.dateAdded}">
<f:convertDateTime pattern="dd/MM/yyyy HH:mm"/>
</h:outputText>
</rich:column>
<rich:column id="active">
<f:facet name="header"><h:outputText styleClass="headerText" value="#{messages.active}"/></f:facet>
<h:outputText value="#{group.active}"/>
</rich:column>
</rich:scrollableDataTable>
if i remove the a4j:support then the table operates fine. But i need it so that when a row is click some other parts of the page to be rerendered. I don't know if i could do it with some other way. But for sure this was working on version 3.2.1 with no exception.
Kind regards,
Antony