flex actionscript-3 datagrid mxml

Usar validadores en DataGrid-Flex



actionscript-3 mxml (2)

<mx:NumberValidator source="{preferencesGrid.selectedItem}" property="value" integerError="Enter Integer value" minValue="18" maxValue="50" domain="int" trigger="{saveButton}" triggerEvent="click" valid="saveData();"/>

Establezca la property del validador en el campo de datos de la columna deseada.

tengo un DataGrid editable, algo así como:

<mx:Datagrid editable="true" dataProvider="{arrayListPreferences}" id="preferencesGrid"> <mx:columns> <mx:DataGridColumn header="col1" dataField="preference" editable="false"/> <mx:DataGridColumn header="col2" dataField="value" editable="true"/> </mx:columns> </mx:Datagrid>

Cuando el usuario edita los datos, hay un botón que hace clic y llama a una función que guarda los datos en una base de datos, y en esta función tengo que validar los datos antes de enviarlos. Quiero usar validadores simples (NumberValidator, StringValidator, etc.) pero no sé cómo configurar el origen de estos validadores en las filas especificadas en la segunda columna.


<mx:DataGridColumn editable="true" itemRenderer="MyTextInputItemRenderer"/> public class MyTextInputItemRenderer extends TextInput{ private var validator:StringValidator; public function MyTextInputItemRenderer(){ validator = new StringValidator; validator.minLength=0; validator.property = "text"; validator.source = this; } override public function set data(value:Object):void{ super.data = value; validator.validate(); } }