Form select field not populated

a database table - it is the source for the form.
I have a query which sets the entire data of the form once the query is completed, that is , on success.. it simply uses myform.setData()
This works fine and all the fields are populated.. the select input is no different. the value for the state exists on the record and is identical to one of the options in the list, so it is case-sensitive.
example
In my table state field has the value 'VIC', and I have an option in select input with both value and label 'VIC'.. and the form data key is 'state' ..
I dont have a table with the states as you have where a selection on the table will need to change the form data..
also using Debug, the form data already shows the correct value coming from the database table - but the value is not set !!
unless myform.setData() is not the best way to do it, but why would it set all other fields properly and not the select elements .. hmm