# Radio Cell Renederer

**URL:** <https://forum.kirupa.com/t/radio-cell-renederer/174398>\
**Category:** flash\
**Created:** [January 5, 2006, 11:35am UTC](https://forum.kirupa.com/t/radio-cell-renederer/174398 "2006-01-05T11:35:00Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Blue\_Merlin](https://avatars.discourse-cdn.com/v4/letter/b/dec6dc/32.png) [@Blue\_Merlin](https://forum.kirupa.com/u/Blue_Merlin)\
**Post date:** [January 5, 2006, 11:35am UTC](https://forum.kirupa.com/t/radio-cell-renederer/174398/1 "2006-01-05T11:35:00Z")

</div>

I use a Radio Cell Renderer inside a datagrid; but the radio buttons get selected on mouse-hover. Is this a problem in the Cell Renderer or the datagrid?  
The RadioCellRenderer class is :  
import mx.core.UIComponent  
import mx.controls.RadioButton

class com.flashdb.RadioCellRenderer extends UIComponent  
{

private var radio : MovieClip;  
private var listOwner : MovieClip;  
private var getCellIndex : Function;  
private var getDataLabel : Function;  
private static var PREFERRED\_HEIGHT = 16;  
private static var PREFERRED\_WIDTH = 20;

public function RadioCellRenderer() {  
}

public function createChildren(Void) : Void  
{  
radio = createObject(“RadioButton”, “radio”, 1, {styleName:this, owner:this});  
radio.addEventListener(“click”, this);  
size();  
}

public function size(Void) : Void  
{  
radio.setSize(PREFERRED\_WIDTH, PREFERRED\_WIDTH);  
radio.\_x = (\_\_width - PREFERRED\_WIDTH)/2;  
radio.\_y = (\_\_height - PREFERRED\_HEIGHT)/2;  
}

public function setValue(str:String, item:Object, sel:Boolean) : Void  
{

radio.\_visible = (item!=undefined);  
radio.selected = item[getDataLabel()];  
}

public function getPreferredHeight(Void) : Number  
{  
return PREFERRED\_HEIGHT;  
}

public function getPreferredWidth(Void) : Number  
{  
return PREFERRED\_WIDTH;  
}

public function click()  
{  
var index = getCellIndex().itemIndex;  
var columName = getDataLabel();  
trace(“listOwner.dataProvider.length----\>”+listOwner.dataProvider.length);  
for( var i:Number = 0; i \< listOwner.dataProvider.length; i++ ) {  
listOwner.dataProvider.editField(i, columName, false);  
}

listOwner.dataProvider.editField(index, columName, true);  
trace("Radio value is: "+radio.value);  
trace("You clicked on: "+radio);  
}

}
