I'm trying to create a DataGrid dynamically in Flash Builder AS3 code (not in the markup) but can't get any data to display. Here's how I'm created the grid:
for (var i:int = 0; i < numOfWinners; i++){
if (list[i].Name[0])
dataP.addItem({profilePic: list[i].ProfilePicUrl.toString(), name: list[i].Name.toString(), prizePic: list[i].ItemImageUrl.toString()});
else
dataP.addItem({profilePic: list[i].ProfilePicUrl.toString(), name: list[i].UserName.toString(), prizePic: list[i].ItemImageUrl.toString()});
}
// Create a new DataGridColumn object.
var playerCol:GridColumn = new GridColumn("profilePic");
playerCol.width = 110;
var nameCol:GridColumn = new GridColumn("name");
nameCol.width = 100;
nameCol.itemRendererFunction = MyCustomItemRendererFunction;
var prizePicCol:GridColumn = new GridColumn("prizePic");
prizePicCol.width = 160;
cols.addItem(nameCol);
cols.addItem(playerCol);
cols.addItem(prizePicCol);
grid.columns = cols;
grid.dataProvider = dataP;
private function MyCustomItemRendererFunction(item:Object, column:GridColumn):ClassFactory
{
// Create a Class Factory variable
var myRendererObject:ClassFactory;
// This is the "default" color is nothing else happens
// I'm passing it a pointer to "MyItemRenderer"
myRendererObject = new ClassFactory(ProfilePicRenderer);
if (column.dataField == "profilePic")
{
myRendererObject.properties = { source: item.profilePic};
}
return myRendererObject;
}
All the examples I seem to find are in the markup for a Flex 4 (MX + Spark) project.
What am I doing wrong here?
Thanks!