this is the snippet from my code library:
package
{
import mx.containers.HBox;
import mx.controls.CheckBox;
public class CheckBox2 extends HBox{
public function CheckBox2(){
this.setStyle("horizontalAlign", "center");
}
var c:mx.controls.CheckBox;
override protected function createChildren():void{
c = new CheckBox();
this.addChild( c );
}
override public function set data(item:Object):void {
super.data = "">
if( item!=null ){
c.selected = (item.Sent == 1)?true:false ;
}
}
}
}
=== mxml ===============
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
[Bindable]
public var myDP:Array = [
{label1:"Order #2314", contact:"John Doe", quant:3, solddate:new Date(2005, 0, 1), Sent:1},
{label1:"Order #2315", contact:"Jane Doe", quant:3, solddate:new Date(2005, 0, 5), Sent:0}];
]]>
</mx:Script>
<mx:DataGrid id="myDG" dataProvider="{myDP}" variableRowHeight="true" width="500" height="250" editable="true">
<mx:columns>
<mx:DataGridColumn dataField="label1" headerText="Order #" editable="false"/>
<mx:DataGridColumn dataField="quant" headerText="Quantity" itemEditor="mx.controls.NumericStepper " editorDataField="value"/>
<mx:DataGridColumn dataField="solddate" headerText="Date" itemRenderer=" mx.controls.DateField" rendererIsEditor="true" editorDataField="selectedDate"/>
<mx:DataGridColumn itemRenderer="CheckBox2" dataField="Sent" rendererIsEditor="true" editorDataField="data" />
</mx:columns>
</mx:DataGrid>
</mx:Application>
=========================
things to note:
1. Using HBox (or any containers) inside item renderer is very *expensive* (said Joan Tan from Adobe), which might be the cause for sluggish scrolling of Datagrid.
2. Most of the time my item renderer are a composition of multiple UI components, so I have to use Box or other kind of Containers.
3. Anatole's approach (using DataGridListData(listData).dataField ) is more abstractive so that the renderer is generic enough for easy reuse later, if you just need one single chechbox in there, that's the best way to go (IMHO).
__._,_.___
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
SPONSORED LINKS
| Web site design development | Computer software development | Software design and development |
| Macromedia flex | Software development best practice |
YAHOO! GROUPS LINKS
- Visit your group "flexcoders" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

