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 :

[Prototype] Sauver/Charger la position d'un panel "drag and dropable"


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut [Prototype] Sauver/Charger la position d'un panel "drag and dropable"
    Bonjour à tous et à toutes,

    j'utilise les librairies javascript "scriptaculous" et "Prototype" pour créer des divs "drag and dropable". Jusque là tout vas bien ...
    J'utilise l'ajax control toolkit pour le redimensionnement (applicable seulement à des Panels et c'est bien dommage :s) .. là ça vas encore à peu près.

    Mon problème est assez complexe :

    - J'aimerais utiliser un fichier XML pour charger la position de tous mes panels au chargement de ma page.
    Edit : (ça c'est bon (enfin je crois )
    - Je souhaiterais qu'après que l'utilisateur ai rajouté des panels/ modifier leurs positions sur la page et qu'il appuy sur un bouton sauvegarder , que cela modifie le fichier XML en conséquence
    .(c'est là que je bloque)

    J'ai utilisé un Dataset :

    LE FICHIER XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" standalone="yes"?>
    <NewDataSet>
      <panel>
        <ident>panel1</ident>
        <x>10px</x>
        <y>10px</y>
        <largeur>150px</largeur>
        <hauteur>150px</hauteur>
      </panel>
    </NewDataSet>

    Le chargement des panels par lecture du fichier XML

    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
     
        public void charger_panels()
        {
            ds.ReadXml(HttpContext.Current.Server.MapPath("test.xml"));
     
     
            foreach (DataRow row in ds.Tables[0].Rows)
            {
     
                    identPanel = row["ident"].ToString();
                    X = row["x"].ToString();
                    Y = row["y"].ToString();
                    largeur = row["largeur"].ToString();
                    hauteur = row["hauteur"].ToString();
     
     
                    Panel P = ((Panel)Page.FindControl(identPanel));
     
     
                        P.Style.Add("top", X);
                        P.Style.Add("left", Y);
                        P.Style.Add("width", largeur);
                        P.Style.Add("height", hauteur);
     
                    }
     
            }
    La sauvegarde des panels au clique sur un bouton:
    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
     
     
    public void sauver_panels()
        {
     
            ds.ReadXml(HttpContext.Current.Server.MapPath("test.xml"));
     
            foreach (DataRow row in ds.Tables[0].Rows)
            {
     
     
                    //On recupère l'identificateur du panel dans le dataset
                    identPanel = row["ident"].ToString();
     
     
                    Panel P = ((Panel)Page.FindControl(identPanel));
     
                    //Mais là on recupère l'ancien style et pas le nouveau !
                    //C'est là que ça va pas !!!
                    row["x"] = P.Style["top"].ToString();
                    row["y"] = P.Style["left"].ToString();
                    //l'ecriture marche parfaitement
                    row["largeur"] = "1200px";
                        //P.Style["width"].ToString();
                    row["hauteur"] = P.Style["height"].ToString();
     
     
            }
     
     
            ds.WriteXml(HttpContext.Current.Server.MapPath("test.xml"));
            charger_panels();
     
     
        }
    Le problème c'est que dans ma sauvegarde , je ne recupère pas le style courant de l'objet mais le tout premier :s

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 7
    Par défaut
    Édit : Mise à jour de mon poste , je n'ai plus qu'un petit problème

    D'ailleurs j'aimerais par la suite effectuer ce traitement sans qu'il y ai de PostBack , grâce à l'objet XHTMLRequest , certains peuvent m'aiguiller là dessus aussi?

Discussions similaires

  1. Charger une Image dans un Panel
    Par Hlama dans le forum Débuter
    Réponses: 1
    Dernier message: 08/01/2014, 20h30
  2. Charger un canvas dans un panel de ma fenetre
    Par zarohn dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 18/11/2010, 15h43
  3. position d'un panel
    Par shirya dans le forum C#
    Réponses: 9
    Dernier message: 13/03/2008, 12h36
  4. charger un document dans un panel
    Par salihovic dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/11/2007, 08h53
  5. charger une image dans un panel en dynamique?
    Par Mickey.jet dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/07/2007, 04h03

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