when a DataSet used in TcxDBLookupComboBox as ListSource is filtered, the lookups are affected by this filtering. The standard VCL-TDBLookupComboBox does not have this behavior. Please see attached sample-project where entering in the lkp2-control the lookup-datasource is filtered. Try with record-ID=2, in the "standard"-lookup you see still the value, whereas in the devexpress-lookup the value is toggled until you exit the lkp2-control.
It would be enough to have some property to instruct the lookup to not be updated if the underlying Listsource is changed.
Steps to Reproduce:
the step showing the problem are:
- in the grid above select the record with ID=2 and you will see for lkp "Milano" and for lkp2 "Berlin", this for both kinds of lookup (standard, devexpress)
- now click on or tab into the standard-lkp2: you continue to see the text in standard-lkp ("Milano") but not in devexpress-lkp, because the lookup-datasource is filtered; infact, opening the lkp2 there is only "Berlin";
Our developers have investigated your report. When you filter your tbLookup dataset, TcxDBLookupComboBox cannot more find a corresponding record for the selected DataSource record. So, it displays nothing. We believe that our TcxDBLookupComboBox has more correct behavior.
We have modified your sample to demonstrate this. You can see that the standard LookupComboBox does not display values at the application startup. You should change the focused row in the master Grid to force LookupComboBox to display a value. Then, please select the record with ID=2 and click the "set filter" button. The standard LookupComboBox will display "Milano". However, if you select the record with ID=2 and then move back to the first record, LookupComboBox will lose its text. It is incorrect behavior, because an editor should display the same value for the same conditions.