# RichFaces Ajax ReRender funktioniert nicht.



## cintex (14. Nov 2008)

Hu Leute, bin etwas am verzweifeln.

Folgendes Problem:
Ich habe auf meine Seite ein PanelGrid welches ein paar weitere Elemente enthält. Dieses wird mittel Java erstellt und über das binding attribut an dieses Element gebunden. Was soweit auch super funktioniert. Allerdings möchte ich über einen Button eine bestimmte Zeile löschen. Das funktioniert auch noch soweit 

Nun der haken.
Über das ReRender attribute des commandbuttons (a4j / richfaces) möchte ich gern dieses PanelGrid refreshen,
was allerdings nichtmal im ansatz funktioniert. Es passiert einfach garnichts.

Hier mal die JSP:

```
<a4j:form ajaxSubmit="true">

<a4j:outputPanel id="panel">
	<h:panelGrid binding="#{controller.companyList}"/>
</a4j:outputPanel>

<a4j:commandButton value="refresh" action="#{controller.delRow}" reRender="panel" ajaxSingle="true"/>
</a4j:form>
```

Und hier der Java-Code:


```
public HtmlPanelGrid getCompanyList()
{
	if(this.m_CompanyList == null)
	{
		// Genarate Pilotcompanies
		this.m_CompanyList = CompanyPanelGrid.getInstance();
		this.m_CompanyList.generateGrid();
	}
	
	return this.m_CompanyList.getHtmlGrid();
}

public void delRow()
{
	// AjaxContext holen
	AjaxContext lAjaxContext = AjaxContext.getCurrentInstance();
	// ComponentID suchen welche geschickt wurde (z.B. die eines Buttons);
	String lComponentId = lAjaxContext.getAjaxSingleClientId();
	// Eintrag löschen
	this.m_CompanyList.removeEntry(lComponentId);
		
	lAjaxContext = null;
	lComponentId = null;
}
```

Wenn ich andere Element nehmen, zb outputText etc und mache dort die Simpelsten Ajax-Requests, funktioniert es.
Also Text setzen, dann ReRender angeben und anzeigen... nur bei dem PanelGrid nicht.

Hoffentlich könnt ihr mir weiterhelfen.
Danke schonmal


----------



## FG (Gast) (24. Nov 2008)

Tag

Das Refreshen mit dem ReRendering-Tag ist sehr sehr heickel.

Ich denke, dass du dein Problem umgehen könntest, wenn du nicht das Panel, sondern das A4J-Form rerenderst.


```
<a4j:form ajaxSubmit="true" id="a4j_form">

<a4j:outputPanel>
   <h:panelGrid binding="#{controller.companyList}"/>
</a4j:outputPanel>

<a4j:commandButton value="refresh" action="#{controller.delRow}" reRender="a4j_form" ajaxSingle="true"/>
</a4j:form>
```

Grüsse
FG


----------



## cintex (26. Nov 2008)

alles klar danke, hab es über richfaces dataTable gelöst


----------

