# Shape instance in DataGrid

**URL:** <https://forum.kirupa.com/t/shape-instance-in-datagrid/311130>\
**Category:** flash\
**Created:** [June 28, 2010, 6:10pm UTC](https://forum.kirupa.com/t/shape-instance-in-datagrid/311130 "2010-06-28T18:10:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![luistar15](https://avatars.discourse-cdn.com/v4/letter/l/a88e4f/32.png) [@luistar15](https://forum.kirupa.com/u/luistar15)\
**Post date:** [June 28, 2010, 6:10pm UTC](https://forum.kirupa.com/t/shape-instance-in-datagrid/311130/1 "2010-06-28T18:10:16Z")

</div>

I am attempting to put an instance of Shape into cells of a DataGrid, but it appears the following error:

```auto
TypeError: Error #2007: El valor del parámetro child debe ser distinto de null.
	at flash.display::DisplayObjectContainer/addChild()
	at fl.controls::DataGrid/drawList()
	at fl.controls::DataGrid/draw()
	at fl.core::UIComponent/callLaterDispatcher()

```

I have a DataGrid in the library and this code in the first frame:

```auto
import fl.data.DataProvider;
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;

// provider
var dp:DataProvider = new DataProvider();
dp.addItem({name: "Red", color: 0xFF0000});
dp.addItem({name: "Blue", color: 0x0080FF});

// grid
var dg:DataGrid = new DataGrid();
dg.setSize(200, 100);
dg.dataProvider = dp;

// columns
var cols:Array = [];

var name_col:DataGridColumn = new DataGridColumn('name');
cols.push(name_col);

var color_col:DataGridColumn = new DataGridColumn('color');
color_col.cellRenderer = ColorCellRenderer;
cols.push(color_col);

dg.columns = cols;

// display
addChild(dg);

```

This is the cell renderer:

```auto
package
{
	import flash.display.Shape;
	import fl.controls.listClasses.ICellRenderer;
	import fl.controls.listClasses.ListData;

	public class ColorCellRenderer extends Shape implements ICellRenderer {
		private var _listData:ListData;
		private var _data:Object;
		private var _selected:Boolean;

		public function ColorCellRenderer() {
		}

		public function set listData(newListData:ListData):void {
			_listData = newListData;
		}

		public function get listData():ListData {
			return _listData;
		}

		public function set data(newData:Object):void {
			_data = newData;
			graphics.beginFill(newData.color);
			graphics.drawRect(0, 0, 20, 20);
			graphics.endFill();
		}

		public function get data():Object {
			return _data;
		}

		public function get selected():Boolean {
			return _selected;
		}

		public function set selected(value:Boolean):void {
			_selected = value;
		}

		public function setSize(width:Number,height:Number):void {
		}

		public function setMouseState(state:String):void {
		}
	}
}

```

What can I do? What’s wrong?
