Using validators in DataGrid - Flex

Thiago Valle picture Thiago Valle · Dec 5, 2009 · Viewed 8.3k times · Source

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.

Answer

Amarghosh picture Amarghosh · Dec 6, 2009
<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.