Bonjour,
l'idée est , j'ai un datatable (1) qui affiche plusieurs taches est chaque tache et afficher dans une ligne ou y'a un bouton pour pour afficher les détail de cette tache dans un dialog ou j'affiche tous les sous-taches de la taches en question pour cela j'utilise datatable (2) aussi (dans le dialog).
le problème est dans la dans le datatable (2) il appel 10 fois la fonction qui affiche les sous taches .
datatable (1)
dialog-datatable (2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <p:fieldset id="outDropTodo" styleClass="topPanel" cellpadding="0" cellspacing="0"> <p:outputPanel id="dropTodo"> <p:dataTable id="task_todo" var="todo" value="#{taskBean.ierationTodo}"> <p:column style="width:20px"> <h:outputText id="dragIcon_todo" styleClass="ui-icon ui-icon-arrow-4" /> <p:draggable for="dragIcon_todo" revert="true" /> </p:column> <p:column headerText="Tache"> <h:outputText value="#{todo.nom}" /> </p:column> <p:column style="width:32px"> <p:commandButton icon="ui-icon-search" update=":task_B:display" oncomplete="taskDialog.show()"> <f:setPropertyActionListener value="#{todo}" target="#{taskBean.selectedTache}" /> </p:commandButton> </p:column> </p:dataTable> </p:outputPanel> </p:fieldset>
fonction datatable (2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <p:dialog header="Détail de la tache" widgetVar="taskDialog" resizable="false" draggable="false" width="550" showEffect="fade" hideEffect="fade" modal="true"> <h:panelGrid id="display" cellpadding="4"> <p:row> <p:column > <h:outputText value="tache : " /> </p:column> <p:column > <h:outputText value="#{taskBean.selectedTache.nom}" /></p:column> </p:row> <p:column > <p:dataTable id="sub_task" var="subTask" value="#{taskBean.subTasks}"> <p:column headerText="sous tache"> <h:outputText value="#{subTask.nom}" /></p:dataTable> </p:column> </p:row> </h:panelGrid> </p:dialog>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public List<SousTache> getSubTasks(){ //selectedTache.getIdentifiant() if(i == 10 ){ id = selectedTache.getIdentifiant(); i = 0; } System.out.println("id_selectedTache : " +selectedTache.getIdentifiant()+" _ i : "+ i); i++; return gstl.getSubTasks(id); }
Partager