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

Ext JS / Sencha Discussion :

[ExtJS 4.2.1] Ajout dynamique d'un Ext.view.View dans un panel


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Par défaut [ExtJS 4.2.1] Ajout dynamique d'un Ext.view.View dans un panel
    Bonjour à tous,

    Je sais que j'ai déjà ouvert quelques discussions sur ExtJS toujours non résolues mais me voilà confronté à un nouveau problème (assez similaire au problème que j'avais déjà posté ici, au cas où les deux soient liés) : je dois afficher dynamiquement un composant Ext.view.View au sein d'un composant Ext.panel.Panel. Pour cela, voici comment j'ai procédé :
    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
    // Déclaration de mon composant View
    var view = Ext.create("Ext.view.View", {
        id: "idView",
        itemId: "idView",
        store: storeView,
        tpl: new Ext.XTemplate( ... )
    });
     
    // Déclaration du panel conteneur
    var panel = new Ext.panel.Panel({
        id: "idPanel",
        itemId: "idPanel",
        items: [ ],
        title: "Mon titre"
    });
     
    // Événement déclencheur de l'ajout du View dans le Panel
    storeView.load({
        callback: function(records, operation, success) {
            if (records[0].get("actif") === true)
                panel.insert(0, view);
        }
    });
    Sous Firefox, tout fonctionne très bien comme je le souhaite. Mais quand je passe sous IE7, j'ai l'erreur suivante qui apparaît dans la console JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SCRIPT5007: Impossible d’obtenir la propriété  « split » d’une référence null ou non définie
    Petite précision : ce n'est pas exactement IE7 mais IE11 avec mode de document = IE7.

    Après une journée entière à ne me consacrer qu'à ce bug, je commence à perdre espoir de trouver une solution.
    Une idée ?

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Par défaut
    La nuit porte conseil comme on dit…

    Après de multiples essais, j'ai réussi à trouver une solution pour enfin afficher ma page correctement sous Internet Explorer 7 : me passer complètement du composant Ext.view.View. Concrètement, voici ce que ça donne :
    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
    // Déclaration de mon composant View
    var view = new Ext.panel.Panel({
        hidden: true,
        id: "idView",
        itemId: "idView",
        items: [ ... ],
        store: storeView
    });
     
    // Déclaration du panel conteneur
    var panel = new Ext.panel.Panel({
        id: "idPanel",
        itemId: "idPanel",
        items: [ ],
        title: "Mon titre"
    });
     
    // Événement déclencheur de l'affichage du View dans le Panel
    storeView.load({
        callback: function(records, operation, success) {
            if (records[0].get("actif") === true)
                view.show();
        }
    });
    Je "joue" du coup sur des items que je positionne dans un panel plutôt que sur un XTemplate ce qui me limite beaucoup plus (sans parler du fait que ça n'est pas du tout l'usage prévu…), mais de toutes façons je n'ai guère le choix si je veux que ça fonctionne sous IE7. Il semblerait donc au final que l'origine de mon problème découle d'une incompatibilité entre le composant Ext.view.View et Internet Explorer < 8 (du moins pour ce qui est de l'ajout dynamique, en statique, ça a l'air de mieux se passer).
    Bonne chance du coup à ceux qui souhaitent se servir de ce composant en assurant la compatibilité avec IE7

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/10/2013, 20h15
  2. [VBA] Ajouter dynamiquement une référence
    Par jpharand dans le forum VBA Access
    Réponses: 23
    Dernier message: 16/04/2010, 23h28
  3. Ajout dynamique de champs de type file dans un formulaire !
    Par stitch dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/11/2005, 11h18
  4. Réponses: 2
    Dernier message: 10/05/2005, 15h54
  5. Ajout dynamique d'un contrôle à une fenêtre
    Par Yacine95000 dans le forum MFC
    Réponses: 6
    Dernier message: 08/06/2004, 16h03

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