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

Bibliothèques & Frameworks Discussion :

drag and drop child de tree vers une div


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 34
    Points
    34
    Par défaut drag and drop child de tree vers une div
    salut tous le monde
    svp je voudrais faire drag and drop des childs d'une tree vers une zone central (la source c'est tree et target c'est la zone central)
    j'essai de faire comme ca mais ca marche pas
    source est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function dndAccept(source,nodes){
       if (this.tree.id=="monArbre"){
       return false;
       }
       return true;
    }
     
    ...
     
    <div class="container" dojoType="dijit.Tree" id="monArbre"
    		model="itemModel"
    		dndController="dijit.tree.dndSource" checkAcceptance="dndAccept" 
    getIconClass="getIcon"></div>
    target est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div dojoType="dojo.dnd.Source">
            test
        </div>
    le probleme c'est que quand je glisse un child mais il ne stabilise pas sur le div de target
    qui est ce que vous pensez?

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    C'est un problème de fonction creator. Regarde ce post, c'est la même chose: http://www.developpez.net/forums/d87...r/#post4956026

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 54
    Points : 34
    Points
    34
    Par défaut remerciement
    merci emmanuel.remy
    ca marche c'est la meme chose ce que je veux
    dojo devient facile grace a vous

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Je ne sais pas si Dojo devient facile, mais ce qui est cool c'est qu'on s'en sort à chaque fois !

    ERE
    Quand une tête pense seule, elle devient folle.

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Suite aux réponses d'emmanuel, j'ai pas mal modifié mon code effectuant le dnd de mon arbre vers mon container je vous le poste, peut etre que cela pourra vous aider

    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
     
    	shopping_list_tree_dnd = new dijit.tree.dndSource(shopping_list_tree,	 
    							  {id: "shopping_list_tree",
    							   copyOnly: "true",
    							   checkItemAcceptance: function(target, source) {
    								  return false;
    							      },
    							   checkAcceptance: function(target, source) {
    								  return false;
    							      }						       
    							  });
    	//Shopping lists list
    	shopping_list_items_list = new dojo.dnd.Source("shopping_list_items_list",{
    		selfAccept: "false",
    		checkAcceptance: function(source, nodes) { //checks, if the target can accept nodes from this source
    		    if (source==shopping_list_tree_dnd) {
    			for each(node in nodes)  {
    				var item=source.getItem(node.id).data.item;
    				if (item.type=="category") {
    				    return false;
    				}
    			    }
    		    }
    		    return true;
    		},
    		creator: function(item, hint) {
    		    if (dojo.byId(item) && dojo.attr(item,'thing_uuid')) {
    			//Code pour creer l'avatar lorsque je fais l'initialisation par defaut de la liste
    			return {node: item, data: item.innerHTML, type: ["Text"]};
    		    }else if(hint=="avatar") {
    			var dndNode;
     
    			dndNode= dojo.create("div",{innerHTML: item});
    			dojo.addClass(dndNode, "dojoDndItem");
     
    			return {node: dndNode, data: item, type: ["Text"]};
    		    }else {
    			var dndNode;
    			var text;
     
    			text=shopping_list_store.getValue(item.item, 'name')
    			dndNode= dojo.create("div",{thing_uuid: shopping_list_store.getValue(item.item, 'id'),					       
    						    innerHTML: text});
    			dojo.addClass(dndNode, "dojoDndItem");
     
    			return {node: dndNode, data: text, type: ["Text"]};
    		    }
    		}
    	    });
     
    	dojo.connect(shopping_list_items_list, "onDndDrop", function(source, nodes, copy, target){
    		if (target==shopping_list_items_list) {
    		    if (source==shopping_list_tree_dnd) {
    			for each(node in nodes)  {
    				var item=source.getItem(node.id).data.item;
    				dojo.xhrPost({
    					url: "/manag/ShoppingList/add_item",
    					    postData: dojo.toJson({thing_uuid:item.id[0]}),
    					    handleAs: "text",
    					    load: function(json) {
    					},
    					    error: function(error) {
    					    console.log("Error during add item ",error);
    					}
    				    });
    			    }
    		    }
    		}
    	    });//end dojo.connect
    Les modifications sont importantes lorsque tu veux faire un drag and drop d'un element de container centrale vers une poubelle ou un truc comme cela.

Discussions similaires

  1. Drag and Drop d'un JTree vers un JPanel
    Par Furlaz dans le forum Composants
    Réponses: 2
    Dernier message: 29/08/2013, 02h38
  2. Réponses: 0
    Dernier message: 28/02/2012, 16h29
  3. Drag and drop d'un picturebox vers un autre
    Par karasnake dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/06/2009, 13h49
  4. Réponses: 1
    Dernier message: 20/11/2008, 19h50
  5. Drag n Drop d'un tree vers une list
    Par greatalain dans le forum Flex
    Réponses: 1
    Dernier message: 25/04/2008, 11h51

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