Zurück   Flashforum > Flash > Flash erweitern > Komponenten und SmartClips

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-09-2009, 05:59   #1 (permalink)
?-Developer
 
Registriert seit: Jul 2004
Ort: Zuchwil (CH)
Beiträge: 903
Question DataGrid + CellRenderer (AS3)

Ich habe einen CellRenderer gemacht welchen ich verwende um Bilder
in einem Grid darzustellen. Wenn ich allerdings folgendes mache

Code:
grdMessages.getColumnAt(1).cellRenderer = wImageRenderer;
grdMessages.getColumnAt(2).cellRenderer = wImageRenderer;
wird das Bild immer von der Spalte 2 angezeigt, er geht auch immer
x mal durch den renderer weiss jemand wo das Problem liegen könnte?
Angehängte Dateien
Dateityp: zip wImageRenderer.zip (1,1 KB, 10x aufgerufen)
__________________
Nur tote Fische schwimmen mit dem Strom
silentx ist offline   Mit Zitat antworten
Alt 23-09-2009, 11:42   #2 (permalink)
?-Developer
 
Registriert seit: Jul 2004
Ort: Zuchwil (CH)
Beiträge: 903
Das Problem habe ich nun analysiert, im wImageCellRenderer gehe
ich immer alle Spalten durch.
Dadurch stellt sich mir die Frage, wie kann ich im Renderer abfragen kann
in welcher Spalte ich mich befinde? Habe irgendwie nichts gefunden oder
weiss jemand wo ich noch suchen könnte?
__________________
Nur tote Fische schwimmen mit dem Strom
silentx ist offline   Mit Zitat antworten
Alt 23-09-2009, 15:46   #3 (permalink)
?-Developer
 
Registriert seit: Jul 2004
Ort: Zuchwil (CH)
Beiträge: 903
Cool

Problemlösung:
Für den Inhalt zu ändern sollte nicht 'set data(...)' sonder
'set listData(...)' verwendet werden.

Die Klasse sieht jetzt so aus:
ActionScript:
  1. package w.wComponents.cellRenderer
  2. {     
  3.     import fl.controls.listClasses.CellRenderer;
  4.     import fl.controls.listClasses.ListData;
  5.     import w.wComponents.wImage;
  6.     import w.wMain.wGlobal;
  7.  
  8.     public class wImageRenderer extends CellRenderer
  9.     {
  10.         public const NAME:String        = "wImageRenderer";
  11.         public const VERSION:String      = "0.9.1";
  12.         public const ERSTELLDATUM:String = "21.05.2009";
  13.         public const AENDERDATUM:String  = "23.09.2009";
  14.        
  15.         // Definition
  16.         private var _obj:Object;
  17.         private var _img:wImage;
  18.         private var _imgWidth:Number;
  19.         private var _imgHeight:Number;
  20.         private var _listdata2:ListData;
  21.        
  22.         //{ Ebene 0 - Konstruktor
  23.         //} ---------------------------------------------------------------------------------------------------
  24.         private function X0____________________EBENE_0():void { };
  25.        
  26.         public function wImageRenderer():void
  27.         {
  28.             // Konstruktor von der Oberklasse ausführen
  29.             super();
  30.            
  31.             // Label
  32.             _imgHeight = 0;
  33.             _imgWidth = 0;
  34.             _img = new wImage();
  35.             this.addChild(_img);               
  36.         }
  37.        
  38.         //{ Ebene 1 - API
  39.         //} ---------------------------------------------------------------------------------------------------
  40.         private function X1____________________EBENE_1():void { }
  41.        
  42.         override public function get data():Object
  43.         {
  44.             return _obj;
  45.         }
  46.        
  47.         public override function get listData():ListData
  48.         {
  49.             return _listdata2;
  50.         }
  51.        
  52.         override public function set data(value:Object):void
  53.         {
  54.             _obj = value;
  55.             var obj:Object;
  56.         }
  57.        
  58.         public override function set listData(ld:ListData):void
  59.         {
  60.             label = "";
  61.             if (typeof(_obj[ld.column]) == "object")
  62.             {
  63.                 var obj:Object = _obj[ld.column];
  64.                 if (obj.img != undefined && obj.width != undefined && obj.height != undefined)
  65.                 {
  66.                     _img.source = obj.img;
  67.                     _imgWidth = obj.width;
  68.                     _imgHeight = obj.height;
  69.                     _img.setSize(obj.width, obj.height);
  70.                     _img.setXY(2, 2);
  71.                 }            
  72.             }         
  73.             _listdata2 = ld;
  74.         }
  75.        
  76.        
  77.         override public function setSize(width:Number, height:Number):void
  78.         {
  79.             super.setSize(width, height);
  80.             if (_img != null && _imgWidth == 0 && _imgHeight == 0)
  81.             {
  82.                 _img.setSize(width, height);
  83.             }
  84.         }
  85.        
  86.         //{ Ebene 2
  87.         //} ---------------------------------------------------------------------------------------------------
  88.         private function X2____________________EBENE_2():void { }
  89.        
  90.         //{ Ebene 3
  91.         //} ---------------------------------------------------------------------------------------------------
  92.         private function X3____________________EBENE_3():void { };
  93.        
  94.     }
  95.  
  96. }
Diese Klasse kann nicht 1:1 herauskopiert werden, da es noch
individuelle Elemente von meinem FrameWork verwendet werden.
Bei Fragen einfach schreiben...
__________________
Nur tote Fische schwimmen mit dem Strom
silentx ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DataGrid + CellRenderer silentx ActionScript 3 0 07-09-2009 16:04
Datagrid CellRenderer amandus99 Komponenten und SmartClips 1 22-12-2008 14:05
DataGrid und cellRenderer harego Komponenten und SmartClips 4 14-08-2007 04:37
DataGrid und cellRenderer Circushund ActionScript 2 3 26-01-2007 06:03
v2 DataGrid CellRenderer mogli0815 Komponenten und SmartClips 0 25-11-2003 17:32


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele