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 - Grid - Drag and Drop - Ne pas rendre une ligne draggable


Sujet :

Ext JS / Sencha

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut ExtJs 4 - Grid - Drag and Drop - Ne pas rendre une ligne draggable
    Bonjour,

    J'utilise ExtJs4.
    J'ai 2 Grid qui me servent a faire du drag and drop de l'une vers l'autres et vis et versa.

    Je voudrais interdire de faire du Drag and Drop sur certaines lignes suivant un test spécifique.

    Auriez-vous un exemple ?

    Je ne veux pas faire ça via le beforeDropItem car (pour moi) cela n'a pas de sens d'interdire un Drag&Drop (via l'affichage d'un message d'erreur par exemple) d'une ligne après que l'utilisateur est essayé de déplacé la ligne, si on sait pertinemment que cette ligne n'est pas déplaçable dés l'affichage du contenu du grid.

    Donc je voudrais griser les lignes qui ne peuvent pas être déplacé. Et laisser l'utilisateur déplacer les autres lignes.

    Par la même occasion auriez-vous un exemple de l’implémentation du Drag (en non Drop) ?
    Cela peut toujours m'être utile et je pense qu'une des solutions est là....

    Merci

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Points : 816
    Points
    816
    Par défaut
    tu ajout l'évènement before dans la déclaration du drag et tu tests les cas :
    si interdit tu return false;
    sinon tu laisse passer.

    Pour griser la ligne tu ajoute un classe sur le td.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Tu aurais un exemple ??? Car ce que tu me dis ne correspond pas au code que je trouve dans la doc Sencha ou tout autre exemple !!!

    Ci-dessous un extrait de mon grid.
    Le fait de pouvoir faire du Drag&Drop se fait via l'ajout du plugin 'gridviewdragdrop'.
    Je précise que, sauf erreur de ma part, l'ajout d'un listener 'beforedrag' ou 'drag' (comme je l'ai fait pour le Drop) dans le viewConfig ne fonctionne pas. J'ai déjà testé.
    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
     
    Ext.define('common.grid.GridDragDropExtjs4', {
    	extend: 'Ext.grid.Panel'
    	,
    	alias: 'widget.commonGridDragDrop',
    	alternateClassName: 'CommonGridDragDrop'
    	,
    	viewConfig: {
    		listeners: {
    		    beforedrop: function(nodeEl, data) {
    		        return this.panel.onBeforeDrop(nodeEl, data);
    		    }
    		    ,
    		    drop: function(nodeEl, data, overModel, dropPosition, eOpts) {
    		        return this.panel.onDrop(nodeEl, data, overModel, dropPosition, eOpts);
    		    }
    		},
    		plugins: {
    	            ptype: 'gridviewdragdrop',
                	    stripeRows : true
    	        }
    		,
    		allowCopy: true
        	}
    	,
    	onBeforeDrop : function(nodeEl, data) {
    		console.info('common.grid.GridDragDropExtjs4 onBeforeDrop');
    	}
    	,
    	onDrop : function(nodeEl, data, overModel, dropPosition, eOpts) {
    		console.info('common.grid.GridDragDropExtjs4 onDrop');
    	}
    	,
    	layout: {
                type: 'hbox',
                align: 'stretch'
            },
            draggable: true 
            ,
            defaults     : { flex : 1 },//auto stretch
    	multiSelect: true
    });

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Points : 816
    Points
    816
    Par défaut
    Pour la couleur c'est avec le getRowClass? exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    viewConfig: {
        getRowClass: function (record){
        if(record.data.action == 'Ajouter'){
            return 'green';
        } else if (record.data.action == 'Supprimer') {
            return 'red';
        } else if (record.data.action == 'Modifier') {
            return 'orange';
        }
        return 'x-grid3-row-collapsed';
    }
    },
    Je ne retrouve plus comment j'avais fait pour ne pas autorisé certaines lignes à les déplacer.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci je vais déjà tester ça. Si tu retrouves ce que t'avais fait je suis preneur
    Ou quelqu'un d'autre

Discussions similaires

  1. Drag and Drop et multisélection dans une JTable
    Par apqmwnqmap dans le forum Composants
    Réponses: 3
    Dernier message: 29/01/2009, 15h00
  2. drag and drop march pas sous firefox+joomla!
    Par tecap dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/10/2007, 10h16
  3. Drag and drop a partir d'une appli dot net
    Par LitteulKevin dans le forum C++Builder
    Réponses: 0
    Dernier message: 12/09/2007, 09h17
  4. Drag and Drop en WPF entre une listbox et un fichier
    Par zeOliver dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 17/04/2007, 10h56
  5. Drag and Drop - Comprend pas - Dernier recours
    Par Bardack dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 05/03/2007, 10h33

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