J'ai un rich:extendedDataTable
à l'intérieur d'un rich:tab
.Actualiser la table sur le rendu
Je souhaite actualiser la table dataSource
à chaque fois que la table est rendue. Il est rendu à chaque fois que l'onglet est sélectionné.
Dans un écrou:
Vue:
<rich:tab>
<rich:extendedDataTable data="#{myData.data}"/>
</rich:tab>
Bean:
public class MyData{
List data;
public MyData(){
data = this.refreshData();
}
public List getData(){
return data;
}
public List refreshData(){
//Database things here.
}
}
Comment puis-je appeler à refreshData
chaque fois que la table est rendue? Je peux utiliser reRender
sur le composant qui exécute une action qui modifie data
, mais cela casse l'encapsulation des composants et il est difficile à maintenir. Il est préférable que la table puisse rafraîchir data
par elle-même à chaque fois que reRendered
lorsque l'onglet est activé.
Je pourrais utiliser <rich:tab ontabenter='js_function_that_calls_the_server_and_refreshes_the_data'>
mais je ne pense pas que ce soit la meilleure option, parce que vous devriez placer la fonction en dehors des étiquettes de tabulation et d'ailleurs elle jette deux demandes au lieu d'une seule.
Des idées? apprécié.
omg, je ne savais pas que '' tab' a le action' paramètre. Cela rend les choses tellement plus faciles ... Merci, je vais essayer. – pakore
Cochez ici: http://docs.jboss.org/richfaces/latest_3_3_X/en/tlddoc/rich/tab.html – amorfis
Oui, j'utilise toujours cette documentation. Je ne sais pas pourquoi mais je n'ai pas fait attention au paramètre d'action au début. Cela fonctionne maintenant, merci. – pakore