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 :

tri sur un lien qui doit être un integer


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut tri sur un lien qui doit être un integer
    Bonjour,

    voilà la grande débutante que je suis a encore un autre problème de tri...
    j'ai un tableau dont une colonne est un lien.

    voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <display:column 
       sortable="true" 
       title="No Commande" 			
       headerClass="tableauTitre" 	
       class="tableauLienSansRetrait" 
       style="white-space: nowrap;">
           <a href="../../suiviLivraison.do?numCommande=<bean:write  name="commandesSuiviListeSuiviTable" property="numeroCommande"/>&codeContrat=<bean:write name="commandesSuiviListeSuiviTable" property="codeContrat"/>&task=piloterCommandeSansResume" class="tableauLienSansRetrait" title="No Commande">
    
         <bean:write name="commandesSuiviListeSuiviTable" property="numeroCommande"/>	
          </a>
    </display:column>
    le problème c'est que le bean:write converti ma variable codeContrat en string, ce qui fait que le tri ne fonctionne pas correctement (ex : 2 se retrouve après 100)

    Comment écrire mon codeContrat de sorte qu'il reste en integer ?

    merci d'avance !
    Pascale38

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 88
    Points
    88
    Par défaut
    euh ton tag display c'est du struts ça ? jamais vu...

    Mais je vois pas trop ou est ton tri. Quand au fait de trier des éléments d'un tableau, cela doit être fait en amont de l'affichage, la ou ta collection est créée.
    Waddle

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut
    ben oui c'est du struts...

    ben non mon tri est effectué à la demande de l'utilisateur...

    finallement je m'en suis sortie avec un decorator qui me renvoie mon lien si je suis en affichage et une chaine formatée avec des zéros si je ne suis pas en affichage (en fait j'ai adapté le decorator de tri sur les dates )
    J'commence à me débrouiller un peu !!!

    Pascale38

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 88
    Points
    88
    Par défaut
    ah oui, effectivement, autant pour moi... ca me servira tiens !

    a la demande ? mais tu refait une requete au serveur ou pas ?
    Waddle

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut
    En fait c'est le tag struts qui gère le tri tout seul...
    grâce à la propriété sortable="true"

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonsoir,

    Soyons précis, le display tag n'a rien à voir avec Struts. Par contre ils peuvent être utilisés conjointement.

    Pascale38 tu pourrais poster ta solution pour que ca serve à d'autres à l'avenir

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Points : 79
    Points
    79
    Par défaut
    désolée pour la confusion, je suis absoluement novice en struts, j'ai souvent du mal à discerner ce qui est du struts et ce qui n'en est pas...

    bref, voici ma solution.

    j'ai créé une class pour mon decorator :

    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 class ItemsTableDecorator extends TableDecorator {
                 private boolean display = false;
     
    	public String startRow() {
    		display = true;
    		return "";
    	}
     
    	public String finishRow() {
    		display = false;
    		return "";
    	}
     
    	public String getCommandeLien(){
    		CommandeRechercherVO vo = (CommandeRechercherVO) getCurrentRowObject();
    		Integer num = vo.getNumeroCommande();
    		Integer contrat = vo.getCodeContrat();
     
    		if (display) {
    			return 	"<a href=\"../../suiviLivraison.do?"+
    					"numCommande="+num+
    					"&codeContrat="+contrat+
    					"&task=piloterCommandeSansResume\" class=\"tableauLienSansRetrait\" title=\"No Commande\">" +
    					num + "</a>";
    		}
     
    		StringBuffer sNum = new StringBuffer(num.toString());
    		while (sNum.length()!=10){
    			sNum.insert(0, '0');
    		}
    		return sNum.toString();
    	}
    donc la fonction getCommandeLien() renvoi le lien si je suis en affichage et une chaine formattée avec des '0' sinon, ce qui permet le tri.

    Dans mon fichier jsp, je déclare mon decorator et l'utilise comme ça :

    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
    <display:table 
    id="commandesSuiviListeSuiviTable" 
    name="commandesSuivi" 
    sort="list" 
    requestURI="../../suiviLivraison.do"
    decorator="com.francetelecom.webvpn.tags.ItemsTableDecorator">
    
    <display:column 
    sortable="true" 
    title="No Commande" 
    headerClass="tableauTitre" 
    class="tableauLienSansRetrait" 
    style="white-space: nowrap;"
    property = "commandeLien">
    </display:column>
    voilà !

    Pascale38

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/02/2014, 20h55
  2. Réponses: 3
    Dernier message: 13/05/2011, 10h54
  3. Effectuer un calcul sur un champ qui doit être filtrer
    Par lavoiej dans le forum Formules
    Réponses: 0
    Dernier message: 15/04/2010, 11h13
  4. INDEX sur une colonne qui peut être NULL
    Par dorian53 dans le forum Requêtes
    Réponses: 15
    Dernier message: 29/11/2007, 17h13
  5. Travailler sur des données qui doivent être triées
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 19/07/2003, 17h13

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