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 :

data view et agencement des éléments


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 data view et agencement des éléments
    Bonjour.

    j'avais un petit pb avec les dataview
    lorsqu'on ajoute un élément à une data view celui-ci est placé dans un div en dessous du précédent. avec un CSS on peut le positionner automatiquement comme flottant à droite du précédent

    tout cela laisse très peu de marge de manoeuvre pour agencer finement les éléments.

    je voulais pouvoir les placer ainsi
    et non seulmentsi on se réfère aux systemes d'écriture, je dirais que l'agencement des dataview (avec ccs ad-hoc) correspond à notre mode d'écriture de gauche à droit et de haut en bas.
    pour désigner le sens d'écriture on utilise souvant 'lr-tb' soit left to right and top to bottom.
    l'écriture arabe par exemple est 'rl-tb' et le japonais traditionnel 'tb-rl'

    je dirais donc que ce que je cherchais à faire c'est 'tb-lr' top to bottom and left to right.

    j'ai donc tanté l'expérience à partir des exemples fournis par ExtJS. en regardant de plus près un plugin déjà présent retouche l'agencement des éléments. il ne le fait pas pour définir un sens de rendu mais pour positionner les éléments via un animation.
    ce plugin pour pouvoir animer les éléments utilise une position absolue dans la vue. alors que nativement il s'agit d'une position relative.

    en modifiant le calcul des positions absolues on peu obtenir les agencement de son choix.
    j'ai donc modifié Animated.js pour obtenir cela.

    restait un petit problème l'animation entre jeu uniquement lorsqu'on ajoute / supprime des éléments dans le store. mais pas lors du rendu initial.

    je suis parvenu à activer l'animation à l'affichage mais le calcul des positions se fait à partir des tailles des objets affichés et lors du permier rendu ils ne le sont pas. les positions étaient fausses.

    je n'ai pas trouvé d'autre solution que de définir la taille des élément dans le CSS

    pour activer un agencement il reste à le paramétre à la construction
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    plugins: [Ext.create('Ext.ux.DataView.Animated', {layout:'tb-lr'})],
    ainsi le DataView utilise un agencement autre que celui par defaut

    je vous joint mes fichier modifiés ce sont ceux des exemples ExtJS.
    A+JYT
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Dessiner Grid avec des éléments Data
    Par inconnu00 dans le forum BIRT
    Réponses: 1
    Dernier message: 30/07/2013, 17h42
  2. Réponses: 2
    Dernier message: 15/07/2008, 09h26
  3. [VB.NET] Enregistrement des éléments d'une listBox
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 9
    Dernier message: 18/05/2004, 14h48
  4. couleurs des éléments 3D d'une appli
    Par Eugénie dans le forum MFC
    Réponses: 29
    Dernier message: 12/03/2004, 11h31
  5. [TShellListView] Tri des éléments
    Par M.Dlb dans le forum Composants VCL
    Réponses: 4
    Dernier message: 16/12/2003, 22h35

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