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 :

Pb d'arborescence de fichier sous IE


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Par défaut [Résolu] remplir un gridpanel sous IE
    Bonjour à tous,

    Je me suis fait une sorte d'explorateur de fichier (un peu comme l'explorateur Windows) qui fonctionnent bien presque bien sous Firefox (juste un petit soucis de tri dans le gridpanel où se trouve les fichiers mais c'est pas la question), et quand j'ai voulu le tester sous IE 8 ou 7, le gridpanel où se trouve les fichiers ne se remplit pas.

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    function gridfile(node){
     
    	var reader = new Ext.data.JsonReader({ root : 'data'},[{name : 'fichier'},{name : 'chemin'},{name : 'size'},{name : 'date'}]);
    	var ds = new Ext.data.GroupingStore({
            proxy : new Ext.data.HttpProxy({url : 'liste_file.php?rep='+node,method : 'POST'}),
            reader : reader,                                    
            sortInfo : {field: 'fichier', direction: "ASC"},        
    		groupField : 'fichier'                              
        });
     
    	document.getElementById("arbo-div").innerHTML="";
        var grid = new Ext.grid.GridPanel({
    		store: ds,
    		viewConfig: { 
            forceFit: true
        },
     
    		columns: [
                {id:'fichier',header: 'Fichier', width: 400, sortable: true, dataIndex: 'fichier'},
    			{dataIndex: 'chemin', hidden : true},
    			{header: 'Taille (Kb)', width: 75,  dataIndex: 'size',align:'right'},
    			{header: 'Dernière modification', width: 125,  dataIndex: 'date',align:'right'}
     
            ],
            stripeRows: true,
            autoExpandColumn: 'fichier',
            height: 500,
            width: 600,
            stateful: true,
            stateId: 'grid'        
        });
     
        grid.render('arbo-div');
     
    	grid.on('rowclick', function(grid, rowIndex, e) { 
    			var adresse=escape(grid.getStore().getAt(rowIndex).get(grid.getColumnModel().getDataIndex(1)));
     
    			window.open(adresse);
     
     
    });
    	ds.load({});
     
    }
    Si vous avez une idée ou que vous voulez plus de précisions, n'hésitez pas

    Merci

  2. #2
    Membre actif
    Inscrit en
    Novembre 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 129
    Par défaut
    C'est assez étrange, tu indiques method: "POST" pourtant tu passes ton paramètre en GET.

    Essaye plutôt de déclarer ton GroupingStore sans proxy et en passant le paramètre avec baseParams :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var ds = new Ext.data.GroupingStore({
            autoLoad: false,
            baseParams: {
                rep: node
            },
            url: 'liste_file.php', // ou '/chemin/vers/liste_file.php'
            reader: reader,
            sortInfo: {
                field: 'fichier',
                direction: "ASC"
            },
            groupField:'fichier'
        });
    Si ça ne fonctionne toujours pas, peut-être la requête asynchrone ne se fait-elle pas. Soit parce que le load() n'a pas d'effet, soit parce que le script liste_file.php n'est pas trouvé par le navigateur (essaye de mettre dans url son chemin absolu depuis la racine du serveur web).

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 25
    Par défaut
    J'ai réussi à trouver la solution à mon problème, et en fait, cela ne venait pas de cette fonction.

    ça venait de l'event click sur mon arborescence de dossier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tree.on('click',function(node,event){liste_fichier(node); });
    Je faisais ça, or IE interprete node comme un objet et renvoie l'objet par défaut alors que les autres navigateur l'interprète comme un objet aussi mais renvoie un string.

    J'ai donc utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tree.on('click',function(node,event){liste_fichier(node.getPath()); });
    et ça marche partout du coup.

Discussions similaires

  1. Réponses: 10
    Dernier message: 10/07/2009, 22h41
  2. Parcourir une arborescence de fichiers sous Unix
    Par dim_italia dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/12/2007, 16h35
  3. tester l existence d un fichier sous turbo pascal
    Par Newllite dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 25/01/2004, 13h47
  4. Les fichiers sous linux/windows
    Par Stessy dans le forum Linux
    Réponses: 5
    Dernier message: 05/12/2003, 10h30

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