This is sort of difficult to explain so please bear with me.
Courts bizobj is a related table to 'Agency” - a child of Agency
So I have Agency → courts
On the screen I have
a grid that contains the list of courts
and the fields (controls) below the grid.
The grid is used to select the current court.
In “Courts” I have 'state” and 'county' fields. The two controls are
dropdowns. I have the event ValueChanged calling onStateSelected
def onStateSelected(self,evt):
self.escounty.removeFilters()
self.escounty.filter('state_1', self.txtStateID.Value)
choices,keys=self.countyChoices()
self.countyID.Value='<None>'
self.countyID.Choices = ''
self.countyID.Choices = choices
self.countyID.refresh()
The idea is - when the user changes the state to limit the number of county
selections based on the state. When adding a new record the above works.
The issues are
1.When selecting a court from the grid. The state may change but
the “Choices” for the county dropdown does not change to match and therefore
an error occurs – “String must be present in the choices”.
2.If I bind an event from the grid such as “RowNumChanged” to onStateSelected
the same error occurs because “_setStringValue” fires first.
3.I then tried using different events on the state dropdown
statelist.bindEvent(dabo.dEvents.InteractiveChange,self.Form.onStateSelected)
statelist.bindEvent(dabo.dEvents.ListSelection,self.Form.onStateSelected)
statelist.bindEvent(dabo.dEvents.LostFocus,self.Form.onStateSelected)
The combination sort of works but does not filter the counties correctly.
This must be a common problem could some kind soul suggest the best way to
handle the above problem.
--
John Fabiani
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message:
http://leafe.com/archives/byMID/[email protected]