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 :

Disposition d'un grid


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 23
    Par défaut Disposition d'un grid
    Bonjour à tous, j'ai un petit soucis dont je ne vois pas le bout. Je souhaite affiché une grid dans une fenêtre contenant un tabpanel. La grid ce trouve dans le premier onglet. Le soucis est que lorsque je lance mon code, la grid ce trouve au dessus de mes onglets et non à l'interieur du premier...
    Lorsque je clique sur l'onglet voulu le problème disparait et la grid se place où il faut.

    Mon code est dispatché en trois fichier :
    - index.html
    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
     
    <link rel="stylesheet" type="text/css" href="./public/lib/extjs/resources/css/ext-all.css"/>
    <script type="text/javascript" src="./public/lib/extjs/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="./public/lib/extjs/ext-all.js"></script>
    <script  type="text/javascript" src="./JS/grid.js"></script>
    <script  type="text/javascript" src="./JS/FenetrePrincipale.js"></script>
     
    <html>
    	<body>
    		<input id="test" type="button" value="bouton" >
    		<div id="winFormDiv"></div>
    	</body>	
    </html>
     
    <script type="text/javascript">
     
    	Ext.onReady(function(){	
     
    		OuvrirFenetre();
     
    	})	
     
    </script>
    - FenetrePrincipale.js correspondant à la fenetre
    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
    /**
     * @author n.mery
     */
     function OuvrirFenetre(){
     
    	var winForm,	
    	button = Ext.get('test');
     
       	button.on('click', function(){
     
    	if(!winForm){	
    		winForm = new Ext.Window({
    		applyTo:'winFormDiv',
            title: 'Menu Principal',
    	    closable: true,
            closeAction: 'hide',
    	    //animateTarget: this,
    	    width: 800,
    	    height: 600,
    	    layout: 'border',
    	    defaults: {
    		    collapsible: true,
    		    split: true,
    		    bodyStyle: 'padding:15px'
    			},
    			items: [{
    				region: 'north',
    	            title: 'Navigation',
    	            split: true,
    				maxSize : 300,
    	            collapsible: true,
    				collapsed: true,
    	            floatable: false,
    				//margins: '5 5 5 5'						
                    },{					
    	            region: 'center',
    	            xtype: 'tabpanel',
    				collapsible: false,
    				margins: '5 0 0 0',
    	            items: [{
    	            	title: 'Gestion Fiche-Temps',
    					items: [
    						grid()
    					]
    					}, {
    	                title: 'Statistique Fiche-Temps et Projets',
    	                html: 'En construction'
    	                }, {
    	                title: 'Gestion des indicateurs',
    	                html: 'En construction'
    	                },{
    					title:'Impression',
    					html:'En construction'							
    					}]
    				}
    			]
    		})	
    	}winForm.show(this);
     
    	})
     
    };
    et grid.js contenant la definition de la grid
    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
    /**
     * @author n.mery
     */
     
    function grid(){
     
    		var donnees = [
    			['test1','10','12:10','1222','11/12/12','12/55/99'],
    			['test2','10','12:10','1222','11/12/12','12/55/99'],
    			['test3','10','12:10','1222','11/12/12','12/55/99'],
    			['test4','10','12:10','1222','11/12/12','12/55/99']
    		];
     
    		var stockage = new Ext.data.ArrayStore({
    			fields:[
    				{name:'stk_Libelle'},
    				{name:'stk_Temps'},
    				{name:'stk_HeureDebut'},
    				{name:'stk_HeureFin'},
    				{name:'stk_DateDebut'},
    				{name:'stk_DateFin'}				
    			]	
    		});
     
    		stockage.loadData(donnees);
     
    		var TempsGrid = new Ext.grid.EditorGridPanel({
    			store:stockage,
    			renderTo : 'winFormDiv',
    			title:'Fiche Temps',
    			stripeRows:true,
    			autoExpand:true,
    			height: 550,
    			autoExpandColumn:'col_DateFin',
    			columnWidth: .100,
    			//autoExpandColumn:'col_Libelle',
    			cm : new Ext.grid.ColumnModel([
    				{header:'Libelle', dataIndex:'stk_Libelle', sortable:true, id:'col_Libelle'},
    				{header:'Temps', dataIndex:'stk_Temps', sortable:true, id:'col_Temps'},
    				{header:'Heure debut', dataIndex:'stk_HeureDebut', sortable:true, id:'col_HeureDebut'},
    				{header:'Heure Fin', dataIndex:'stk_HeureFin', sortable:true, id:'col_HeureFin'},
    				{header:'Date Debut', dataIndex:'stk_DateDebut', sortable:true, id:'col_DateDebut'},
    				{header:'Date Fin', dataIndex:'stk_DateFin', sortable:true, id:'col_DateFin'}			
    			])
    		});
     
    		return TempsGrid;
    };
    Quelqu'un y comprend t'il quelque chose?

    Merci à tous

  2. #2
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Bonjour à toi,

    Déjà il te manque les attribut suivant pour tous tes onglets :

    • xtype: panel
    • layout: fit

    Je penses qu'avec ça, ça devrais mieux fonctionner.

  3. #3
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    Ne serait-ce pas le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    renderTo : 'winFormDiv',
    défini dans ton grid qui en serait la cause ? Je ne pense pas que ce paramètre ait une réelle utilité dans ton cas étant donné que ce grid est déclaré comme étant un item de ton tabPanel.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 23
    Par défaut
    Merci de vos réponses, ça marche impeccable. Effectivement le renderTo : 'winFormDiv', n'etait pas justifié. Par contre à quoi servent :
    * xtype: panel
    * layout: fit
    ?

    Merci de votre aide et de vos conseils

  5. #5
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    Le spécifie simplement qu'il s'agit d'un composant de type panel. Je ne pense pas que cela soit indispensable dans la définition des onglet d'un tabpanel.

    Le quand à lui renseigne sur la façon de s'afficher. un layout fit veut dire que ton composant prendra toute la place qui lui ait permis de prendre, en l'occurence tout le DIV de son composant parent. Il existe une multitude de layout différents (table, column, border, etc..)

Discussions similaires

  1. pbm de grid
    Par LionHeart dans le forum Bases de données
    Réponses: 5
    Dernier message: 24/06/2004, 06h17
  2. Disposition au pixel près
    Par Gwipi dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 28/04/2004, 17h10
  3. capter l'evenement clic sur une cellule d'un string grid
    Par lasconic dans le forum Composants VCL
    Réponses: 3
    Dernier message: 25/06/2003, 10h51
  4. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

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