selctionchange datatable + hibernate onetomany
Salut les amis
je developpe une application avec:
jsf1.2+richfaces 3.3.3+hibernate 3+EJB3+sqlserver 2008
-j'ai 2 table dans ma base
tableMere,tableFille(codeTableMere comme cle etrangere)
dans la classe de mapping de TableMere jai
Code:
1 2 3 4
|
@onetomany(mappedby="tablemere")
private List<TableFille> listeTableFilles=new...
t getter+t setter |
- Dans ma classe TableMereBean (bean managé pour tablemere)
Code:
1 2
|
private TableMere tableMere; getter setter |
- Dans ma classe TableFilleBean (bean managé pour tableFille)
Code:
1 2 3 4 5
|
private TableFille tableFille; getter setter
public getAllTableFilles(){
return .....FindAll();// depuis hibernate... qui retourn tous les tablefille
} |
---------------------------------------- jusqu'a maintenant tous ca marche tres tres bien
- Alors : ja'i une page xhtml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
<h:form>
(etape1)....... chaque fois je passe un parametre à #{tableMereBean.tableMere} + rerender frm2
</h:form>
<h:form id="frm2">
<rich:extendedDataTable id="datatable_tablefille" var = "tbfille" value="#{tableMereBean.tableMere.listeTableFilles}" >
<rich:column><f:facet name="header">code table fille</f:facet>
#{tbfille.codetableFille}
</rich:column>
rich:column
rich:column
(etape2)
<a4j:support reRender="frm3" event="onselectionchange" >
<f:setPropertyActionListener value="#{tbfille}" target="#{tableFilleBean.tableFille}"
</a4j:support>
</rich:extendedDataTable>
</h:form>
<h:form id="frm3>
<h:outputText value="#{tableFilleBean.tableFille.codetableFille}" />
</h:form> |
PROBLÈME
-(etape1) je donne une valeur à #{tableMereBean.tableMere} ca fonctionne : datatable_tablefille se rempli avec les tablefille de la table mere choisi
-(etape2) lorsque je clic dans datatable_tablefille pour selectionner une tablefille se passe rien dans "frm3"
rien ne s'affiche (il faut que le code de la table fille apparaisse)
-lorsque je change <rich:extendedDataTable id="datatable_tablefille" var = "tbfille" value="#{tableMereBean.tableMere.listeTableFilles}" >
à
<rich:extendedDataTable id="datatable_tablefille" var = "tbfille" value="#{tableFilleBean.allTableFilles}" >
et je ré-exécute (etape1) et (etape2) le code de tablefille s'apparait dans "frm3" à chaque selection dans datatable_tablefille
Aidez moi s'il-vous-plais et MERCI beaucoup