2010-11-30 35 views
1

J'utilise textInput en tant que ItemRenderer pour toutes les colonnes d'une grille de données.J'ai besoin de définir la possibilité d'édition de la première ligne comme false.I l'a fait sur creationComplete de itemRenderer.Aussi essayé de surcharger upDateDislayList. Cela fonctionne très bien pour la première ligne. Mais certaines autres lignes obtiennent également leur modification modifiable à false.Also sur scroll plusieurs lignes obtiennent leur editability changé. S'il vous plaît aider.TextInput en tant que ItemRenderer dans DataGrid: Scroll Problème

override public function set data(value:Object):void 
    { 
     super.data = value; 
     if(listData.owner.name == "headCountGrid") 
     { 
     if(data != null && qbpHttpServ.rowDataHcGridArr != null) 
      { 
      if(data["column1Data"] == qbpHttpServ.rowDataHcGridArr[0]["column1Data"]) 
      { 
      this.editable = false; 
      } 
      } 
    } 
    } 
    override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void{ 
    super.updateDisplayList(unscaledWidth,unscaledHeight); 
    var g:Graphics = graphics; 
    g.clear(); 
    } 
+0

Vérifiez ce lien, devrait aider http://www.adobe.com/devnet/flex/articles/itemrenderers_pt2.html –

Répondre

1

Savez-vous que les éléments dans les listes sont réutilisées? Assurez-vous qu'ils sont entièrement contrôlés par la fonction set data(). Transmettre l'indicateur de modification avec des données.

+0

oui je do.saw que dans l'action:) J'ai eu une fonction données() set.I géré édibilité ici.Le même problème persiste. – himanshu

+0

ok, si vous pouvez montrer le code (minimal), ce serait bien. – alxx

+0

J'ai édité la question pour inclure le code.thanks à l'avance. – himanshu