IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

[Struts-Layout] Trop de colonnes lors d'un "add" sur un datagrid


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut [Struts-Layout] Trop de colonnes lors d'un "add" sur un datagrid
    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 :
    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;
    }
    Avec en plus les getter et setters qui vont bien

    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.

    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");
    	}
    Ici l'action de remplissage de la datagrid

    Et pour finir ma JSP (du moins la partie contenant le 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
    <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>
    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....

    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut
    J'ai un élément de réponse, le problème provient à priori de javascript, en effet on dirait un conflit avec les scripts de la librairie AjaxTags...
    Lorsque je supprime tous les scripts utilisés par AjaxTags à savoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script type="text/javascript" src="<%=request.getContextPath()%>/scripts/prototype-1.4.0.js"></script>
      	<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/scriptaculous.js	"></script>
      	<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/overlibmws.js"></script>
      	<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/controls.js"></script>
      	<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/ajaxtags-1.2-beta3.js"></script>
      	<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/effects.js"></script>
    le bon nombre de colonnes est ajoutés...
    Je vais essayer d'isoler quel script en particulier pose problème. Le soucis est que je ne vais pas pouvoir me passer d'AjaxTags pour autant....
    Je n'ai pas fini de m'arracher les cheuveux

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut
    La raison du problème est en fait prototype-1.4.0.js. Lorsque je ne l'inclus pas, le datagrid fonctionne correctement.... par contre se sont mes composants Ajax qui ne fonctionne plus

    Le problème est donc identifié par contre pour la solution, je ne suis pas chouché

  4. #4
    Membre confirmé Avatar de reverse_engineer
    Inscrit en
    Juillet 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 98
    Par défaut
    j'ai eu le même problème ,c'est assez bizarre .
    quand tu inclu prototype.js des problème au niveau du datagrid de struts layout apparaissent

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Il faudrait regarder mais il y a sûrement au moins une fonction Javascript qui porte le même nom dans le javascript prototype.js et dans le(s) javascript(s) de Struts-Layout, ce qui expliquerait le dysfonctionnement.

  6. #6
    Membre confirmé Avatar de reverse_engineer
    Inscrit en
    Juillet 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Juillet 2008
    Messages : 98
    Par défaut
    exactement ,j'ai cherché dans prototype une fonction adddatagrid ou ce qui ressemble à cela mais sans aucun résultat

Discussions similaires

  1. [Struts Layout] Tri colonne Ko si filtrée
    Par olivierosny dans le forum Struts 1
    Réponses: 1
    Dernier message: 18/11/2008, 09h04
  2. Réponses: 2
    Dernier message: 31/01/2008, 14h45
  3. Réponses: 7
    Dernier message: 31/10/2007, 16h42
  4. cacher des colonnes du struts layout datagrid
    Par imsory dans le forum Struts 1
    Réponses: 1
    Dernier message: 02/04/2007, 11h28
  5. [Struts-Layout] espace entre colonne
    Par david06600 dans le forum Struts 1
    Réponses: 1
    Dernier message: 09/10/2006, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo