I'm flummoxed and I'm on deadline. I can go without a solution but I'd sure like to be able to get photos in here. So, many thanks in advance!
I have a datagrid being fed by an xml file. That works great. Here's the xml...
PHP Code:
<players>
<player playerphoto="bear.jpg" playername="Smokey"/>
<player playerphoto="lion.jpg" playername="Leo"/>
</players>
I have the DataGrid showing up and displaying everything but the photos. The datagrid looks like it's adjusting it's size to accommodate the photos but the never actually displays. I'm trying to load Adobe's "LoaderCellRenderer" class. I'm kinda new to all the Class stuff so I'm wondering if I'm loading the class wrong? Anyway, here's that Flash code...
PHP Code:
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import flash.net.*;
import flash.events.*;
var request:URLRequest = new URLRequest("players.xml");
var loader:URLLoader = new URLLoader;
loader.load(request);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
function loaderCompleteHandler(event:Event):void {
var playersXML:XML = new XML(loader.data);
var photoCol:DataGridColumn = new DataGridColumn("playerphoto");
photoCol.headerText = "Photo";
photoCol.width = 120;
photoCol.cellRenderer = LoaderCellRenderer;
var nameCol:DataGridColumn = new DataGridColumn("playername");
nameCol.headerText = "Name";
nameCol.width = 60;
var myDP:DataProvider = new DataProvider(playersXML);
aDg.columns = [photoCol, nameCol];
aDg.width = 200;
aDg.dataProvider = myDP;
aDg.rowCount = aDg.length;
}
As mentioned above, I'm using Adobe's LoaderCellRenderer class. Here's that code...
PHP Code:
package {
import fl.containers.UILoader;
import fl.controls.listClasses.ICellRenderer;
import fl.controls.listClasses.ListData;
import fl.core.InvalidationType;
import fl.data.DataProvider;
import flash.events.Event;
public class LoaderCellRenderer extends UILoader implements ICellRenderer {
protected var _data:Object;
protected var _listData:ListData;
protected var _selected:Boolean;
public function LoaderCellRenderer():void {
super();
}
public function get data():Object {
return _data;
}
public function set data(value:Object):void {
_data = value;
source = value.data;
}
public function get listData():ListData {
return _listData;
}
public function set listData(value:ListData):void {
_listData = value;
invalidate(InvalidationType.DATA);
invalidate(InvalidationType.STATE);
}
public function get selected():Boolean {
return _selected;
}
public function set selected(value:Boolean):void {
_selected = value;
invalidate(InvalidationType.STATE);
}
public function setMouseState(state:String):void {
}
}
}