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

Flex Discussion :

Optimisation itemRenderer sur un datagrid


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut Optimisation itemRenderer sur un datagrid
    Bonjour,

    Voici mon soucis :
    J'ai un advancedDatagrid qui représente le planning de plusieurs personnes sur un an. Les taches planifiés pour une journées sont représentées via un item renderer qui étend la classe Label et dessine un rectangle de couleur (suivant la tache a faire ce jour la).
    Cela fonctionne bien, mais le soucis, c'est que cela est lourd a s'afficher et lorsqu'on navigue dans le tableau.
    Voici la partie de mon renderer que je vous parle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    		{
    			super.updateDisplayList(unscaledWidth, unscaledHeight);
    			// --
    			var g:Graphics = graphics;
    			g.clear();
    			g.beginFill(couleur);
    			g.drawRect(0, 0, unscaledWidth, unscaledHeight+3);
    			g.endFill();
    		}
    Avez vous des idées pour augmentez la rapidité de cela en évitant le dessiner un rectangle ou autre....
    J'ai besoin que ma cellule de tableau puisse être d'une couleur et avec un text écrit a l'intérieur.

    Merci d'avance
    Florian

  2. #2
    Membre éprouvé Avatar de greatalain
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 124
    Par défaut
    Plutot que de redessiner ton rectangle à chaque refresh de l'interface, pourquoi ne joue tu pas sur le style de ton label ?

    Ou mieux, tu étends un canvas plutôt qu'un label, ajoute ton label et joue sur le style du canvas, tu pourras en overridant le setter de "data" changer le backgroundColor et tu auras quelque chose de très rapide ( pas besoin d'overrider l'updateDisplayList )

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut
    Tout d'abord merci bien pour ta réponse.

    L'idée du canvas avec un setStyle est excellente. Ca me colorie la case comme je le désire et cela reste très rapide. Cependant, dès que je rajoute un Label ou un Text a l'intérieur du Canvas, je perds toute la rapidité et reviens a la lenteur d'avant. Comment pourrais je écrire ce petit text dedans, sans ajouter un label ou text au canvas ?
    Je suis sous Flex 4, peut être y a t'il des pistes de ce coté la également, mais toutes celles que j'ai testé ne marche pas ou sont encore plus lente !!

    Merci
    Florian

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    Bonjour,

    Juste pour info, il existe des librairies toutes faites pour faire, je crois, ce que tu veux faire.
    Sans vouloir faire de pub, il y en a notament chez IBM Elixir

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 33
    Par défaut
    Merci pour ta réponse.

    Je suis allé faire un tour dessus, c'est sympa ce qu'ils font. Mais ils utilisent leur propres composants qui sont payants...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Par défaut
    Oui, leur composants sont payant.
    M'enfin, le prix est très bas.

    Si je devais payer des informaticiens 500€/journée pour faire la même chose, ça me couterait les yeux de la tête.

Discussions similaires

  1. [FLASH MX] rollOver sur ligne datagrid
    Par totoche dans le forum Flash
    Réponses: 1
    Dernier message: 21/11/2005, 18h03
  2. [VB.NET] Contextmenu sur une DataGrid
    Par sinoo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/07/2005, 19h51
  3. [Optimisation] Problème sur une requête UNION.
    Par françois62 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2005, 16h08
  4. [VB.NET] Exécuter une fonction VB sur un Datagrid
    Par MiJack dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/09/2004, 14h45
  5. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 13h23

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