views:

1356

answers:

2

Hello, i have an editable DataGrid, something like:

<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>

When the user edits the data there's a button that he clicks and calls a function that saves the data to a database, and in this function i have to validate the data before sending it. I want to use simple validators (NumberValidator, StringValidator, etc) but i don't know how to set the source of this validators to the specified rows in the second column.

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

Set the property of validator to the dataField of the desired column.

Amarghosh
Right, that works fine, but how can i set the source to a desired column instead of using {preferencesGrid.selectedItem}? Thanks
Thiago Valle
I managed doing that by using preferencesGrid.dataProvider[]
Thiago Valle
A: 
Doug