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

Grails Java Discussion :

Controler liste parametrée


Sujet :

Grails Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Controler liste parametrée
    Bonjour,

    Je suis entrain d'essayer de développer une app avec Grails avec deux domaine liés par une relation 1-n.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Patient {
     
    	static hasMany = [consultations:Consultation]
    }
     
    class Consultation {
     
    	static belongsTo = [patient:Patient]
    }
    Je souhaite modifier le controller qui affiche la liste des consultations en fonction d'un paramètre (patient.id).

    Voila l'existant généré par grails :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       def list() {
            params.max = Math.min(params.max ? params.int('max') : 10, 100)
     
            [consultationInstanceList: Consultation.list(params), consultationInstanceTotal: Consultation.count()]
        }
    Il me faut conserver aussi l'information params.max pour la pagination...

    Débutant avec Groovy et Grails, je ne vois vraiment pas comment faire...

    Merci pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 218
    Points : 311
    Points
    311
    Par défaut
    Un truc comme ca devrait te faire approcher du résultat, je ne pense pas qu'un patient est beacoup plus de 20 consultations...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     def list() {
           def minTab = params.int('offset') ?: 0
           def maxTab = (params.int('max') ?: 10) + minTab
           def patient = Patient.get(params.patient.id.toLong())
            params.max = Math.min(params.max ? params.int('max') : 10, 100)
     
            def consultationInstanceList = patient.consultations.sort{it.id}.findAll{cpt++;cpt > minTab && cpt<=maxTab }
     
            [consultationInstanceList: consultationInstanceList, consultationInstanceTotal: patient.consultations.size()]
        }

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Février 2011
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Merci, j'ai trouvé une autre solution en créant une autre action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	def patient() {
     
    	  def patient = Patient.get(params.id)
          def consultations = Consultation.findAllByPatient (patient, params)
          render (view:'list', model:[ consultationInstanceList: consultations , consultationInstanceTotal : consultations.size()])
    	}

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/09/2006, 14h38
  2. Recherche enregistrement avec liste parametrée
    Par kimar dans le forum Access
    Réponses: 4
    Dernier message: 28/07/2006, 15h54
  3. Passer un contrôle en paramètre d'une fonction
    Par Kinian dans le forum Access
    Réponses: 6
    Dernier message: 15/05/2006, 11h15
  4. [Conception] controle liste
    Par amigauss dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/01/2006, 19h08
  5. [debutant]Controles Liste modifiable
    Par Djekill dans le forum IHM
    Réponses: 4
    Dernier message: 07/12/2005, 15h26

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