LookupSource必须连接到TTable组件

use*_*794 1 delphi tclientdataset data-aware delphi-xe2 tcombobox

我正在尝试使用TDBLookupCombo,但是收到错误"EInvalidOperation with message'LookupSource必须连接到TTable组件'.

我将TDBLookupCombo.LookupSource连接到TDataSource.TDataSource.Dataset指向一个TClientDataSet,它包含查找表的记录(字段ID和描述).

LookupDisplay := 'Description';
LookupField := 'ID';
LookupSource := dsLookup;
Run Code Online (Sandbox Code Playgroud)

这是不可能的,因为TCilentDataSet不是TTable的后代?如果是这样,那么在不使用第三方组件的情况下,最佳选择是什么.

Ken*_*ite 5

TDBLookupCombo是旧的基于BDE的数据控件之一,这就是为什么它依赖于连接到TTable.

看起来你应该使用它TDBLookupComboBox,它可以很好地连接到TDataSource,它连接到任何双向TDataSet后代(包括TClientDataSet).