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 :

Mise à jour XmlTreeLoader


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Par défaut Mise à jour XmlTreeLoader
    Nonjour

    Je rencontre un souci avec un XMLTreeLoader.
    Le treeview s'affiche correctement. par contre quand je développe un noeud il me met le même arbre et non les nœuds enfant.

    Si vous avez une idée je suis preneur pour votre aide.

    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1"?><owners><owner nom="XXXXXXXXX" prenom="" pol="" cp="76270" ville="XXXXXXXXXXXXXXXXXXX"><dgd proiddgd="2067" numdgd="76.01.0683" gendgd="3" surfdgd="112.44" etatdgd="Cours de validit�"></dgd><dgd proiddgd="6067" numdgd="76.09.0526" gendgd="3" surfdgd="380.53" etatdgd="En instruction"></dgd><dgd proiddgd="1016" numdgd="76.89.0683" gendgd="2" surfdgd="224.88" etatdgd="Archiv�"></dgd>
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    Ext.app.OwnerLoader = Ext.extend(Ext.ux.XmlTreeLoader, {
        processAttributes : function(attr){
            if(attr.nom){ // is it an owner node?
     
                // Set the node text that will show in the tree since our raw data does not include a text attribute:
                attr.text = attr.nom + ' ' + attr.prenom + ' (' + attr.pol + ') - ' + attr.cp + ' ' + attr.ville;
     
                // Author icon, using the gender flag to choose a specific icon:
                attr.iconCls = 'author-m';
     
                // Override these values for our folder nodes because we are loading all data at once.  If we were
                // loading each node asynchronously (the default) we would not want to do this:
                attr.loaded = true;
                attr.expanded = false;
            }
            else if(attr.numdgd){ // is it a dgd node?
     
                // Set the node text that will show in the tree since our raw data does not include a text attribute:
                attr.text = attr.numdgd + ' (G�n ' + attr.gendgd + ') - ' + attr.surfdgd + ' ha - ' + attr.etatdgd;
     
                // Book icon:
                attr.iconCls = 'book';
     
                // Tell the tree this is a leaf node.  This could also be passed as an attribute in the original XML,
                // but this example demonstrates that you can control this even when you cannot dictate the format of 
                // the incoming source XML:
                attr.leaf = true;
            }
        }
    });
     
    function initFormSearchmerlTreeContent(){
     
    var detailsText= '<i>Sélectionnez un Document de Gestion Durable pour obtenir plus d\'informations</i>';
     
    /*	vartpl=newExt.XTemplate(
    '<h2class="dgd">{dgd}</h2>',
    	'<p><b>Digitalisation</b></p>',
     
    		'<p>Digitalisation:',
    		'<tplfor="node.gendgd">',
    			'<tplif="node.gendgd==2">',//<--Notethatthe>isencoded
    				'<p>{gendgd}</p>',
    			'</tpl>',
    		'</tpl></p>',
     
    '<p>Datededigitilisation:{gendgd}</p>',
    	'<p><b>Cartedespeuplements</b></p>',
    		'<p><b>Synopsis</b>:{innerText}</p>',
    '<p><ahref="{url}"target="_blank">PurchasefromAmazon</a></p>'
    	);
    tpl.compile();
    */
     
    	var pan_SearchmerlTree = new Ext.Panel ({
    		renderTo: 'tree',
    		border: false,
    		items:[{
    			layout: 'column',
    			items: [{
            			columnWidth:0.40 ,
    				border: false,
    				items:[{
    					xtype: 'treepanel',
    					id: 'tree-panel',
    					autoScroll: true,
    					rootVisible: false,
    					root: new Ext.tree.AsyncTreeNode(),
    					loader:new Ext.app.OwnerLoader({
    						dataUrl:'searchmerl-xml-tree-data.xml'
    					}),
    					listeners:{
    						'render':function(tp){
    							tp.getSelectionModel().on('selectionchange',function(tree,node){
    							var el= Ext.getCmp('details-panel').body;
    							if(node.leaf){
    								tpl.overwrite(el,node.attributes);}
    							else{
    								el.update(detailsText);}
    							})
    						}
    					}
    				}]
    			},{
            			columnWidth:0.60,
    				border: false,
    				items:[{
    					title: 'Détails',
    					id: 'details-panel',
    					autoScroll: true,
    					html: detailsText
    				}]
    			}]
    		}]
    	});
    return pan_SearchmerlTree;
    };

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 151
    Par défaut
    Le code XML que tu as fourni est mal formé : les balises owner et owners devraient être fermés.
    J'ai testé ton code en m'assurant que les balises du fichier xml étaient correctement fermées, et les noeuds se développaient correctement.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Par défaut
    Merci.

    Je t'avouerais que je commencais à ne plus rien y comprendre.

    Je testerai cela plus tard et viendrai noter résolue.

    Merci encore d'avoir testé le code


    Tio

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Par défaut Je ne comprends pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1"?><owners><owner nom="XXXXXXXXX" prenom="Annick" pol="MME" cp="75017" ville="PARIS"><dgd proiddgd="1484" numdgd="61.96.0045" gendgd="3" surfdgd="302.17" etatdgd="Cours de validit�"></dgd><dgd proiddgd="4" numdgd="61.82.0045" gendgd="2" surfdgd="604.34" etatdgd="Archiv�"></dgd></owner><owner nom="XXXXXXX" prenom="Philippe" pol="" cp="75007" ville="PARIS"><dgd proiddgd="2102" numdgd="76.01.1600" gendgd="1" surfdgd="32.73" etatdgd="Cours de validit�"></dgd></owner></owners>
    Il devait avoir une erreur de copier collé. Mes balises sont bien fermées.
    J'ai remis un exemple de code Xml. Le problême pourrait venir d'ailleurs??

    Merci d'avance

    Tio

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 151
    Par défaut
    J'ai une piste sur le problème que je rencontre.

    A mon avis il ne retourne par le render sur le bon élément. Dans l'exemple fournit par Extjs.com, c'est un div tree' qui se trouve dans le fichier php.

    Dans mon cas ce panel est contenu dans un autre élément. Je met le code du contenant ci dessous.

    Je ne sais vers quoi je dois retourner mon render.

    Merci de votre aide
    Tio
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    /**
    * Méthode qui sera appelée sur le click du bouton btnDisplaycad
    * Initilisation le formulaire Recherche cadastre
    */
    function initFormmerlContent () {
     
    var searchmerltree = initFormSearchmerlTreeContent();
     
    [...]
     
    	// tabs for the center
    	var tabpan_MerlNorth = new Ext.Panel({
    		region: 'north',
    		height: 90,
    		activeTab: 0,
    		items: [{
    			layout: 'column',
    			border: false,
    			items:[{
    				columnWidth:.33,
    				layout: 'form',
    				labelWidth: 55,
    				style: 'padding:5px 0px 0px 10px;',
    				border:false,
    				items: [{
    					xtype:'textfield',
    					fieldLabel: 'Nom ',
    					width: '120px',
    					id: 'txt_MerlNom',
    					name: 'txt_MerlNom',
    					anchor:'95%'
    					},{
    					xtype:'textfield',
    					fieldLabel: 'Prenom ',
    					width: '120px',
    					id: 'txt_MerlPrenom',
    					name: 'txt_MerlPrenom',
    					anchor:'95%'
    					}
    				]},{
    				layout: 'form',
    				columnWidth:.33,
    				labelWidth: 55,	
    				style: 'padding:5px 0px 0px 10px;',
    				border:false,
    				items: [{
    					xtype:'textfield',
    					fieldLabel: 'Forêt ',
    					width: '120px',
    					id: 'txt_MerlForet',
    					name: 'txt_MerlForet',
    					anchor:'95%'
    					},{
    					xtype:'textfield',
    					fieldLabel: 'Dgd ',
    					width: '120px',
    					id: 'txt_MerlDgd',
    					name: 'txt_MerlDgd',
    					anchor:'95%'
    					}
    				]},{
    				layout: 'form',
    				columnWidth:.33,
    				hideLabels: true,
    				style: 'padding:5px 10px 0px 20px;',
    				border:false,
    				items: [lst_MerlDept,lst_MerlCom]
    				}]
    		},{
    			layout: 'column',
    			border: false,
    			buttons: [btn_MerlSubmit, btn_MerlReset],
    			buttonAlign: 'center'
    		}]
    	});
     
    	var pan_MerlCenter = new Ext.Panel({
    		region: 'center',
    		items: [searchmerltree]
    	});
     
    	// Fenêtre au centre
    	var Win = new Ext.Window({
    		title: 'Recherche Merlin',
    		closable: true,
    		width: '50%',
    		buttonAlign:'center',
    		height: 375,
    		border: false,
    		plain: true,
    		layout: 'border',
    		items: [tabpan_MerlNorth,pan_MerlCenter]
    	});
     
    	Win.show();
    };

  6. #6
    Membre averti
    Inscrit en
    Février 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 50
    Par défaut
    j'ai le même soucis que toi mis à part que je fais un accès à la bdd
    si tu as la solution je suis preneur
    je continue de chercher la solution, si j'ai une soluce je te tiens informé

    courage
    waxx

Discussions similaires

  1. Comment empêcher la mise à jour d'un contrôle à l'écran ?
    Par JojoLaFripouille dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2003, 12h52
  2. [mise à jour]Comment procéder sans tout péter...
    Par FFF dans le forum Installation
    Réponses: 3
    Dernier message: 10/09/2003, 08h11
  3. Mise à jour de la version de MySQL
    Par jobstar dans le forum Administration
    Réponses: 8
    Dernier message: 18/08/2003, 10h45
  4. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  5. Réponses: 2
    Dernier message: 12/02/2003, 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