[richfaces-issues] [JBoss JIRA] Work started: (RF-3833) <a4j:support> does not rerender specified component for newly added rows in a datatable
Nick Belaevski (JIRA)
jira-events at lists.jboss.org
Tue Aug 5 12:40:56 EDT 2008
[ https://jira.jboss.org/jira/browse/RF-3833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on RF-3833 started by Nick Belaevski.
> <a4j:support> does not rerender specified component for newly added rows in a datatable
> ---------------------------------------------------------------------------------------
>
> Key: RF-3833
> URL: https://jira.jboss.org/jira/browse/RF-3833
> Project: RichFaces
> Issue Type: Bug
> Affects Versions: 3.2.1
> Environment: JBoss 4.2.2 / Seam 2.0.2 / RichFaces 3.2.1 / Facelets 1.1.14
> Reporter: Tareq Nabeel
> Assignee: Nick Belaevski
> Fix For: 3.2.2
>
>
> When page is loaded initially and page size is 2, clicking on table rows causes <h:outputText id="myText"> to rerender correctly.
> However, when page size is increased to 4, clicking on the added rows (3 and 4) does not rerender "myText". Clicking on rows 1 and 2 still updates "myText" correctly.
> <a4j:log> output for good rows clicks:
> Response content:
> <body>
> <span id="text">event 1</span>
> <meta name="Ajax-Update-Ids" content="text" />
> </body>
> Message: Find <meta name='Ajax-Update-Ids' content='text'>
> <a4j:log> output for bad rows clicks:
> Response content:
> <body> does not contain the information above but <head> section contains
> <meta name="Ajax-Update-Ids" content="" />
>
> Message: "no information in response about elements to replace"
> Here's the code:
> ====================================================================
> package event.action;
> import java.util.ArrayList;
> import java.util.List;
> import javax.faces.model.DataModel;
> import javax.faces.model.ListDataModel;
> import javax.faces.model.SelectItem;
> import org.jboss.seam.ScopeType;
> import org.jboss.seam.annotations.In;
> import org.jboss.seam.annotations.Name;
> import org.jboss.seam.annotations.Out;
> @Name("testEventList")
> public class TestEventList {
> private DataModel eventsModel = new ListDataModel();
> private int pageSize = 2;
> private List<String> events = new ArrayList<String>();
>
> @In(required = false)
> @Out(scope = ScopeType.PAGE, required = false)
> private Integer rowKeyVar;
> public TestEventList() {
> events.add("event 1");
> events.add("event 2");
> events.add("event 3");
> events.add("event 4");
> events.add("event 5");
> events.add("event 6");
> }
>
> public List<SelectItem> getPageSizes() {
> List<SelectItem> pageSizeOptions = new ArrayList<SelectItem>();
> pageSizeOptions.add(new SelectItem(new Integer(2), "2"));
> pageSizeOptions.add(new SelectItem(new Integer(4), "4"));
> pageSizeOptions.add(new SelectItem(new Integer(6), "6"));
> return pageSizeOptions;
> }
> public DataModel getEvents() {
> eventsModel.setWrappedData(events.subList(0, pageSize));
> return eventsModel;
> }
> public String getSelectedEvent() {
> if (rowKeyVar==null) {
> rowKeyVar = 0;
> }
> eventsModel.setRowIndex(this.rowKeyVar.intValue());
> return (String) eventsModel.getRowData();
> }
> public int getPageSize() {
> return pageSize;
> }
> public void setPageSize(int pageSize) {
> this.pageSize = pageSize;
> }
>
> public void noOp() {
> System.out.println("********noOp() rowKeyVar="+rowKeyVar);
> }
> }
> ====================================================================
> <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" xmlns:s="http://jboss.com/products/seam/taglib" >
> <a4j:log popup="false" level="ALL" style="width: 880px; height: 200px;"></a4j:log>
> <h:form id="form">
> <rich:dataTable id="table" rowKeyVar="rowKeyVar" value="#{testEventList.events}" var="event" >
> <rich:column>
> <f:facet name="header">
> <h:outputText value="Event" />
> </f:facet>
> <div id="eventName">
> #{event}
> <a4j:support event="onclick" reRender="text" action="#{testEventList.noOp}" />
> </div>
> </rich:column>
> </rich:dataTable>
> <h:panelGrid columns="2">
> <h:outputText value="Page Size:"/>
> <h:selectOneMenu value="#{testEventList.pageSize}" >
> <f:selectItems value="#{testEventList.pageSizes}" />
> <a4j:support event="onchange" reRender="table,text" />
> </h:selectOneMenu>
> </h:panelGrid>
> </h:form>
> <h:outputText id="text" value="#{testEventList.selectedEvent}" />
> </ui:composition>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list