[b]1.[/b] Создаем новую папку
[b]2.[/b] Во флэш новый документ, сохранить в тока что созданной папке
[b]3.[/b] Кинуть на сцену компонент — DataGrid и Button в библиотеку.
[b]4.[/b] В первом кадре код:

var sampleItem1:Object = { Name:"John Alpha",     Number:"555-123-0101", Email:"jalpha@fictitious.com" };
var sampleItem2:Object = { Name:"Mary Bravo",     Number:"555-372-3322", Email:"mbravo@fictitious.com" };
var sampleItem3:Object = { Name:"Trevor Gamma", Number:"555-485-1212", Email:"tgamma@fictitious.com" };
var sampleItem4:Object = { Name:"Susan Delta",     Number:"555-987-3434", Email:"sdelta@fictitious.com" };       

//dg.setStyle('cellRenderer', MyRenderer);

dg.columns = ["Name", "Number", "Email"];

dg.addItem(sampleItem1);
dg.addItem(sampleItem2);
dg.addItem(sampleItem3);
dg.addItem(sampleItem4);

dg.addColumn("NewCol");

//--дальше две строчки - задают обраьотчики рисования эдеметво в ячейках столбца
dg.getColumnAt(0).cellRenderer=MyRenderer;
dg.getColumnAt(1).cellRenderer=MyRenderer2;
[b]5.[/b] Дальше создаем в папке с нашим роликом файл с именем [b]MyRenderer2.as[/b] В него пишем следующий код:

package
{
    import fl.controls.LabelButton;
    import fl.controls.listClasses.ICellRenderer;
    import fl.controls.listClasses.ListData;
 import fl.containers.BaseScrollPane;
 import flash.display.Sprite;
 import flash.events.MouseEvent;
    
    public class MyRenderer2 extends Sprite implements ICellRenderer {
        private var _listData:ListData;
        private var _data:Object;
        
        public function MyRenderer2() {
  	this.graphics.lineStyle(1);
  	this.graphics.drawCircle(10, 10, 10);
   
  	this.addEventListener(MouseEvent.CLICK, mouseClickHandler);
        }
  
  private function mouseClickHandler(e:MouseEvent):void {
   trace("cell clicked");
  }

        public function set listData(newListData:ListData):void {
            _listData = newListData;
            //label = "Random: " + _listData.label;
            //drawRandomColor();
        }

        private function drawRandomColor():void {
            graphics.beginFill(Math.random()*0xFFFFFF);
            graphics.drawRect(0,0,20,20);
            graphics.endFill();            
        }

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

        public function set data(newData:Object):void {
            _data = newData;
        }

        public function get data():Object {
            return _data;
        }
  public function get selected():Boolean {
   return true;
  }
  public function set selected(value:Boolean):void {
   
  }
  public function setMouseState(state:String):void {
   //if (state == "over") { trace ("mouse Over") };
  }
  public function setSize(width:Number, height:Number):void {
   this.width = width;
   this.height = height;
  }
  
  public function setStyle(style:String, value:Object):void {
    
  }

    }
}

Теперь там же создаем файл с именем [b]MyRenderer.as[/b] в нем:

package
{
    import fl.controls.LabelButton;
    import fl.controls.listClasses.ICellRenderer;
    import fl.controls.listClasses.ListData;
  import fl.containers.BaseScrollPane;
	import flash.events.MouseEvent;
    
    public class MyRenderer extends LabelButton implements ICellRenderer {
        private var _listData:ListData;
        private var _data:Object;
        
        public function MyRenderer() {
  	this.addEventListener(MouseEvent.CLICK, mouseClickHandler);
        }
  
  private function mouseClickHandler(e:MouseEvent):void {
      trace("Кликнули по номеру:", _data.Number);
    }
  

        public function set listData(newListData:ListData):void {
             _listData = newListData;  
             //-------------------------------
  	label = _data.Number;  //--запишем в кнопку значение
     }

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

        public function set data(newData:Object):void {
            _data = newData;
        }

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

Сохраняемся и компилим проект.
Теперь для чего файл [b]MyRenderer.as[/b] Он отвечает за надписи на кнопках в пером столбце и за реакцию на них.
а [b]MyRenderer2.as[/b] за рисование кружков.
Вот и все)

[ratings]