zen dataCombo - setValue() not show correct displayValue
I'm having a strange issue where doing a .setValue on a ZEN datacombo is updating it with the value as-is, not the corresponding display value. Eg, if I connected it to query that returns two columns: ID,Name, and do a setValue(ID), I would expect the text in the datacombo to update showing Name. Instead it updates show ID, which I only want to use internally.
However, if I click on the dropdown, showing all the valid Names, select one, it works fine, showing Name (with the ID retrievable by getValue() as normal). Additionally, if I try a setValue(ID) AFTER the dropdown has been opened and closed, it works correctly also?! So I don't think it's a problem with the my SQL, but rather the state of the datacombo after pageload.
It's almost as if the SQL query is not run until the dropdown is clicked upon, so the 'displayValues' are not there to be utilised until after that. I've tried renderDropdown(), refreshContents(), etc, before I do my setValue(ID), but no luck. Is there some kind of attribute that could causing this issue, as I'm sure it wouldn't happen with a default datacombo?
I would supply my code but it's a very long, ugly unreadable mess I've inherited (which I'm sure is causing the issue), which I can't really lift out of context, so hopefully the problem is clear from the description!