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 :

Appel rowdblclick dans un tableau


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de abraxis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 439
    Par défaut Appel rowdblclick dans un tableau
    Bonjour,

    J'ai un tableau sur lequel j'ai mis un event row double clique.
    Qui appel l'affichage (dans un template) d'un document via une iframe.
    Cela fonctionne correctement sauf le premier appel qui remonte une erreur dans firebug:
    el is null
    el.innerHTML = this.applyTemplate(values);
    fichier : ext-all-debug.js à la ligne 658.

    Lors du second appel du double clique je n'est aucun problème et le document s'affiche correctement sans remonter d'erreur...

    Mon tableau est dans un layout card et l'affichage est lui aussi dans le mm layout card.

    Si l'un de vous a une idée du pourquoi j'ai une erreur au premier appel : ))))

    Merci par avance

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    ben sans savoir ce que tu as mis dans ton code ça va être dur
    A+JYT

  3. #3
    Membre éclairé
    Avatar de abraxis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 439
    Par défaut
    oui pardon

    Fonction du double clique:
    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
    function rowDblClickReport(grid, rowIndex, event)
    {
    	var countApps = storeAppReport.totalLength;
    	var json = grid.selModel.selections.items[0].json;
    	var nbOngletReport = panelCenterReport.items.length;
    	if(json.vide == false)
    	{	
    		if(json.leaf == false) // Si le double clic est sur un dossier...
    		{
    			for(var i = 0; i < countApps; i++)
    			{
    				var theState = Ext.state.Manager.get("treeStateReporting");
    				if (theState != undefined)
    				{
    					Ext.getCmp('treePanelReport' + storeAppReport.getAt(i).get('idApp')).expandPath(theState);
    				}
    				if(Ext.getCmp('treePanelReport' + storeAppReport.getAt(i).get('idApp')).collapsed == false)
    				{
    					storeGridReport.load({
    						params: { // Envois des paramètres 
    							task: 'folderReport',
    							idUser: idUser.get("AuthStateMD.idUser"),
    							idApp: storeAppReport.getAt(i).get('idApp'),
    							libApp: storeAppReport.getAt(i).get('libApp'),
    							typeApp: storeAppReport.getAt(i).get('typeApp'),
    							dossierRoot: json.dossierRoot,
    							nomServer: storeAppReport.getAt(i).get('nomServer'),
    							urlNode: json.url,
    							node: storeGridReport.data.items[rowIndex].id,
    							flagTree: '1',
    							start: 0, 
    							limit: pageSizeReport
    						}
    					});
     
    					panelCenterReport.layout.setActiveItem(gridReport);
    					Ext.getCmp('treePanelReport' + storeAppReport.getAt(i).get('idApp')).getNodeById(storeGridReport.data.items[rowIndex].id).expand();
    					Ext.getCmp('treePanelReport' + storeAppReport.getAt(i).get('idApp')).getNodeById(storeGridReport.data.items[rowIndex].id).setIconCls('openFolder');
     
    				}
    			}
    		}
    		else // Si le double clic est sur un fichier...
    		{
    			panelCenterReport.layout.setActiveItem(panelCenterViewReport);
    			panelCenterViewReport.setTitle(json.text);
    			dataViewReport.tpl.overwrite('dataViewReport', { url: json.url }); // Envoie de l'url du fichier au template qui est dans un dataView
    		}
    	}
    }
    fichier de ma region centre:
    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
    var panelCenterReport = new Ext.Panel({
    	id: 'panelCenterReport',
    	title: titlePanelCenterReport,
    	region: 'center',
    	activeItem: 0,
    	layout: 'card', 
    	margins: '5 5 5 0',
    	items: [
    		panelCenterHomeReport,
    		gridReport,
    		panelCenterViewReport
    	]
    	,
    	listeners: {
    		beforerender: function(obj)
    		{
    			storeHomeReport.load();
    		}
    	}
    });
    fichier avec le dataView :
    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
    var dataViewReport = new Ext.DataView({
        id: 'dataViewReport',
    	itemSelector: 'div.thumb-wrap',
    	autoScroll: true,
    	tpl: new Ext.XTemplate(
    		'<tpl for=".">',
    			'<iframe style="border: 0px;" src="{url}" height="100%" width="100%" scrolling="yes" />',
    		'</tpl>',
    		'<div class="x-clear"></div>'
    	)
    });
     
    var panelCenterViewReport = new Ext.Panel({
    	id: 'panelCenterViewReport',
    	border: false,
    	layout: 'fit',
    	tools: [
    		{
    			id: 'close',
    			handler: function(event, tool, obj, idTools)
    			{
    				panelCenterReport.layout.setActiveItem(gridReport);
    			}
    		}
    	],
    	items: dataViewReport
    });

  4. #4
    Membre éclairé
    Avatar de abraxis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 439
    Par défaut
    Je viens de tester en supprimant le dataView pour mettre directement le tempalte dans le panel mais la j'ai un autre problème...
    Je n'est en effet plus d'erreur dans firebug.
    Le document ne prend pas en compte le layout: 'fit' de mon panel. Ce qui a pour effet de ne pas remplir mon panel.
    J'ai essayé de mettre une taille fixe ou encore un autoHeight mais rien à faire

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

Discussions similaires

  1. Appeler des fonctions listées dans un tableau
    Par MarieNum dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 01/01/2009, 17h31
  2. Réponses: 15
    Dernier message: 18/07/2008, 15h00
  3. [objet] appeler une méthode d'objets contenus dans un tableau (iterator ?)
    Par psychomatt dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/09/2006, 16h28
  4. Réponses: 1
    Dernier message: 15/05/2006, 18h43
  5. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21

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