Glad to be of assistance.
--- In [email protected], "superbokbok" <superbok...@...> wrote: > > yup it should work...I did this & it worked fine :) > > /***********************************************************************\ > ******** > * Filter Manager > > ************************************************************************\ > ******/ > package custom { > > import flash.events.Event; > > import mx.containers.Form; > import mx.containers.FormItem; > import mx.controls.Alert; > import mx.controls.DataGrid; > import mx.controls.dataGridClasses.DataGridColumn; > import mx.utils.ObjectUtil; > > > > /***********************************************************************\ > **** > * Class definition for a class to manage the various search filters > > ************************************************************************\ > ***/ > public class FilterManager extends Form { > > [Bindable] > public var datagrid:DataGrid; > > private var _test:String; > > private var filterSettings:Array; > > > /*********************************************************************** > * FilterManager (Constructor) > * > * Creates an instance of the filter manager class > > ***********************************************************************/ > public function FilterManager():void > { > super(); > datagrid = new DataGrid(); > datagrid.columns = createDGCols(); > this.initFilters(); > } > > [Bindable] > public function set test(value:String):void > { > _test = value; > trace(value); > } > > public function get test():String > { > return _test; > } > > > /*********************************************************************** > * initFilters > * > * Builds an array to manage the different filters that may be > set > > ***********************************************************************/ > private function initFilters():void { > this.filterSettings = new Array(); > > for each (var col:* in this.datagrid.columns) { > var d:Object = new Object(); > > if (col['dataField'] != null) { > d.field = col['dataField']; > d.enabled = false; > d.filter = null; > this.filterSettings.push(d); > } > } > } > > > private function createDGCols():Array > { > /* DATAGRID Col SETUP */ > var a:DataGridColumn = new DataGridColumn('Title'); > a.dataField = 'FileName'; > a.width = 80; > a.editable = true; > > var b:DataGridColumn = new DataGridColumn('Types'); > > b.width = 130; > b.editable = false; > > var c:DataGridColumn = new DataGridColumn('Icon'); > > c.width = 20; > c.editable = false; > > var dgCols:Array = [a,b,c]; > return dgCols; > > } > > > /*********************************************************************** > * component overrides > > ***********************************************************************/ > override protected function createChildren():void { > super.createChildren(); > for each (var item:Object in this.filterSettings) { > var f:FormItem = new FormItem(); > f.label = item.field; > addChild(f); > } > Alert.show("createChilden()"); > } > > override protected function commitProperties():void { > super.commitProperties(); > } > > override protected function measure():void { > super.measure(); > } > > override protected function > updateDisplayList(unscaledWidth:Number, > > unscaledHeight:Number):void { > super.updateDisplayList(unscaledWidth,unscaledHeight); > } > > } > } > > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" > xmlns:custom="custom.*"> > > <custom:FilterManager datagrid="{Application.application.dgResults}" > test="I'm using FilterManager" width="100%" height="100%" > id="filManager"/> > > <mx:TextArea width="200" height="200" x="200" y="200" > text="{filManager.test}"/> > > </mx:Application> > > cheers > erick >

