Salut pour tous, j'ai un prblème lorsque je fait un sorting dans un colonne de mon dataTable,
J'affiche dans l'écran une liste d'objet exemple un liste d'article,
j'affiche une colonne à part non appartenant à liste des articles calculable d'une facon indépondante
la méthode que j'ai trouvé pour faire ça c'est creer un tableau dont le size = size de la liste et je fait entrer dans le tableau le résulat claculé element par element de la liste;
Exemple:
cette méthode remplie un tableau de String que je veux afficher comme colonne dans la liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public void initTab() { int size = articleList.size(); articleTab = new String[size]; for (int i = 0; i < size; i++) { StringBuffer name= new StringBuffer("article"); name.append(" "); name.append(articleList.get(i).getNiveau()); articleTab [i] = new String(name); } }
et dans le date table je fait appel à ce tableau elemet par element:
J'usqu'a maintenant c'est bon, chaque ligne d'article lui correspond son propre indice dans le tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <rich:column id="column1" sortBy="#{item.niveau}" style="text-align:left"> <f:facet name="header"> <h:panelGroup> <h:outputText value="#{i18n.listGammes_column_niveau}" /> </h:panelGroup> </f:facet> <h:outputText value="#{monBean.articleTab [index]}"></h:outputText> </rich:column>
Le problème maintenant est lorsque je fait un sort d'un colonne de la liste, par exemple sur l'id de l'article, les élement du tableau sont toujours fixent il ne change pas ( ne suivent pas le sorting), donc c'est une erreur puisque l'affichage est faux, l'indice du tableau ne correspond pas à l'element du dataTable,
Est ce qu'il y a une solution à ce probléme ou bien une autre façon d'afficher cet colonne dans ma lite d'article dataTable,
Merci d'avance.
Partager