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] datagrid ajoute tous les enregistrements


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 65
    Points : 33
    Points
    33
    Par défaut [Struts-Layout] datagrid ajoute tous les enregistrements
    Bonjour,

    dans ma form j'ai initialisé le datagrid pour résoudre un probleme d'identifier Region is altered : dans reset()
    if(datagrid==null){
    org.hibernate.Session hbsession = HibernateUtil.getSessionFactory().getCurrentSession();
    Criteria cl = hbsession.createCriteria(Region.class);
    Datagrid dg = Datagrid.getInstance();
    dg.setDataClass(Region.class);
    //regionsList ok pour la recherche
    dg.setData(regionsList);
    // dg.setData(cl.list());
    setDatagrid(dg);
    }

    lorsque je clique sur le bouton valider de ma jsp, sans avoir ajouté des enregistrements

    dans mon Action display():
    org.hibernate.Session hbsession = HibernateUtil.getSessionFactory().getCurrentSession();
    Criteria cl = hbsession.createCriteria(Region.class);
    RegionsForm regionsform = (RegionsForm)in_form;
    cl.setFirstResult(firstRecordIndex);
    cl.setMaxResults("10");

    List aList = regionsform.getRegionsList();

    // Create a datagrid.
    Datagrid dg = Datagrid.getInstance();
    // Set the bean class for new objects.
    //We suppose SomeBean is the class of the object in the List aList.
    dg.setDataClass(Region.class);
    // Set the data
    //dg.setData(cl.list());
    dg.setData(aList);
    // Initialize the form
    regionsform.setDatagrid(dg);
    methode validateSelected()
    Region regiono = null;

    // Region regiono = new Region();
    // regiono.setEtablissements(new ArrayList<Etablissement>());

    // Get the datagrid object.
    Datagrid lc_datagrid = regionsform.getDatagrid();

    // Get the modified objects.
    Collection lc_modifiedObjects = lc_datagrid.getModifiedData();
    log.debug("lc_modifiedObjects " + lc_modifiedObjects.size());
    if (lc_modifiedObjects.size() > 0) {

    Iterator lc_it = lc_modifiedObjects.iterator();
    while (lc_it.hasNext()) {
    regiono = (Region) lc_it.next();
    log.debug(regiono.getCode());
    log.debug(regiono.getLibelle());
    log.debug("------------------------------");
    hbsession.save(regiono);
    hbsession.flush();
    // hbsession.close();
    }
    }

    // Get the added objects.
    Collection lc_addedObjects = lc_datagrid.getAddedData();

    // dgf.setDatagrid(lc_datagrid.getInstance());

    log.debug("lc_addedObjects :" + lc_addedObjects.size());
    if (lc_addedObjects.size() > 0) {
    // System.out.println("Hello");
    Iterator lc_it = lc_addedObjects.iterator();
    while (lc_it.hasNext()) {
    regiono = (Region) lc_it.next();
    log.debug(regiono.getCode());
    log.debug(regiono.getLibelle());
    log.debug("------------------------------");
    hbsession.save(regiono);
    hbsession.flush();
    hbsession.close();
    }

    }
    // Get the selected objects.
    Collection lc_selectedObjects = lc_datagrid.getSelectedData();

    log.debug("selection :" + lc_selectedObjects.size());

    Collection lc_removedObjects = lc_datagrid.getDeletedData();
    log.debug("lc_removedObjects " + lc_removedObjects.size());
    résultat lc_addedObjects :27
    il m'ajoute tous les enregistrement automatiquement alors que je n'ai rien ajouté. Comme si mon datagrid était vide.
    Comment résoudre le probleme ?

  2. #2
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Le form-bean regionsForm est-il dans le scope session ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    le scope de mon bean form est à request

    <action path="/RefRegionsList"
    type="projet.metadata.regions.RegionsAction"
    parameter="reqCode"
    name="RefRegionsForm"
    scope="request"
    validate="false">
    <forward name="display" path="RefRegionsListdef" />
    </action>

  4. #4
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Alors, mets le à session.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    j'ai plus l'erreur lorsque j'affiche tous les enregistrements de Region.class.

    je vai tester sur la pagination, 10 enregistrements maxi affichés
    avec
    Criteria cl = hbsession.createCriteria(Region.class);
    cl.add(Restrictions.ilike("code", regionsform.getTmpcode()+"%"));
    cl.setFirstResult(firstRecordIndex);
    cl.setMaxResults("10");
    je vai voir si ça marche.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 65
    Points : 33
    Points
    33
    Par défaut
    merci maintenant tout marche

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

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. Réponses: 7
    Dernier message: 12/02/2009, 10h55
  3. Réponses: 1
    Dernier message: 09/02/2007, 09h45
  4. Afficher tous les enregistrements d'une table
    Par bertrand_declerck dans le forum QuickReport
    Réponses: 2
    Dernier message: 08/07/2005, 08h35
  5. faire somme de tous les enregistrements identiques
    Par Keraccess dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/07/2005, 11h03

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