We've been having an intermittent problem with combobox items and I think I have finally discovered the source of the problem. We have a fairly typical Combobox arrangement where the pick list shows two fields, a numeric "id" and a "name". Using getPickListFilterCriteria we override the criteria such that if the user keys in only digits we try to match the id field exactly, otherwise we use a "contains" match on the name field.
The problem occurs when they type a number into the field, say 1234. If they aren't quick, multiple fetches are sent to the server. For example, if they pause briefly after type "12" and then type "34" there may be a fetch for id=12 and another for id=1234. If the response to those fetches don't happen to be received in the order they were sent, the 1234 fetch which does return a record is overruled by the 12 fetch which does not.
Is there any way to insure that responses to previous fetches are ignored and only the response to the last fetch issued is used?
The problem occurs when they type a number into the field, say 1234. If they aren't quick, multiple fetches are sent to the server. For example, if they pause briefly after type "12" and then type "34" there may be a fetch for id=12 and another for id=1234. If the response to those fetches don't happen to be received in the order they were sent, the 1234 fetch which does return a record is overruled by the 12 fetch which does not.
Is there any way to insure that responses to previous fetches are ignored and only the response to the last fetch issued is used?
Comment