[richfaces-issues] [JBoss JIRA] Updated: (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
Wed Jul 16 08:15:23 EDT 2008


     [ https://jira.jboss.org/jira/browse/RF-3833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nick Belaevski updated RF-3833:
-------------------------------

    Assignee: Ilya Shaikovsky


> <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: Ilya Shaikovsky
>
> 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