Bonjour,
Comme énnoncé dans le titre, mon problème intervient lors d'une tentative d'ajout d'une ligne dans un datagrid, beaucoup trop de colonnes sont ajoutées, la preuve par l'image :
ma configuration en quelques mots :
Dans l'actionForm :
Avec en plus les getter et setters qui vont bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class TracaSaisieForm extends ValidatorForm { private ArrayList<LabelValueBean> refsByCC; private String refPF; private String libPF; private String cc; private Datagrid tracaSaisie = null; }
J'ai ensuite une DispatchAction qui en fonction de l'action souhaitée soit affiche une page de choix de différents paramètres, soit remplie la datagrid (en fonction des choix), soit traite les modification.
Ici l'action de remplissage de la datagrid
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
25
26
27
28
29
30
31
32
33 public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { TracaSaisieForm tracaForm = (TracaSaisieForm) form; TracabiliteDAO tracaDAO = new SQLTracabiliteDAO(); String refPf = tracaForm.getRefPF(); String cc = ""; // Récupération du cc et de la référence à partir de refPf if (refPf != null){ StringTokenizer st; st = new StringTokenizer(refPf," : "); if (st.hasMoreTokens()){ cc = st.nextToken(); refPf = st.nextToken(); } List<TracaComposantLight> l = tracaDAO.getComposantsFromPF(refPf,cc); tracaForm.setCc(cc); tracaForm.setRefPF(refPf); tracaForm.setLibPF(tracaDAO.getLibFromPf(refPf, cc)); // Create a new datagrid; Datagrid datagrid = Datagrid.getInstance(); // Initialize the datagrid and the form. datagrid.setData(l); datagrid.setDataClass(TracaComposantLight.class); tracaForm.setTracaSaisie(datagrid); } // Forward to the jsp. return mapping.findForward("editTracaSaisieOK"); }
Et pour finir ma JSP (du moins la partie contenant le datagrid)
Si quelqu'un a déjà eu ce soucis, je suis preneur pour une solution, parceque ça fait 3 jours que j'essaye toutes les configurations possibles et rien n'y fait....
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 <layout:form action="/TracaSaisie" reqCode="save" width="70%" align="center"> <layout:row> <br/> </layout:row> <layout:datagrid property="tracaSaisie" selectionAllowed="true" multipleSelectionAllowed="false" styleClass="DATAGRID" model="datagrid"> <layout:datagridColumn width="20" title="tracas.reference" property="reference" /> <layout:datagridColumn width="60" title="tracas.designation" property="designation" /> </layout:datagrid> <layout:row> <layout:button property="button" styleClass="bouton" onmouseover="this.className='boutonOver'" onmouseout="this.className='bouton'" onclick="StrutsLayout.addDatagridLine('tracaSaisie')">Add</layout:button> <layout:button property="button" styleClass="bouton" onmouseover="this.className='boutonOver'" onmouseout="this.className='bouton'" onclick="StrutsLayout.setDatagridLineState('tracaSaisie', 'removed')">Delete</layout:button> </layout:row> <layout:submit property="button" styleClass="bouton" onmouseover="this.className='boutonOver'" onmouseout="this.className='bouton'">Valider</layout:submit> </layout:form>
Merci d'avance
Partager