Hi David,
The workaround that I have used in this ListView was to look at the problem from a different perspective. I noticed that the problem was happening because the user was interested in saving all values of the cascading relation on the record using the 2-way databinding method BIND.
So what I tried is that instead of attempting to save all the values of the fields in the cascading list relation to one record, I would save only the primary key of the lowest item in the cascading relationship.
For example in the example of car make-model-color relationship, the color selection is not unique to the model and make selection. Therefore you save all 3 values (make-model-color). But if you were to change the underlying data such as the color record for a particular make and model has a different primary key than the color record for another make and model then all you need to BIND on the record is the primary key of the color (the lowest level in the cascading relationship). The problem of selecting the unique color record becomes a problem of user interface handling events and no longer a problem of databinding data to a template control.
Similarly in my demo, I have demonstrated the case of (country-province-city) relationship. Instead of saving on the address record the keys for all three selections, I save only the primary key of the city. The process of populating the cascading dropdown lists does no longer interfere with the databidnding mechanism for the templated control.
Regards,