我有一个DBLookUpComboBox和DBGrid连接到具有两个不同数据源组件的同一个表。我试图通过使用DBLookUpComboBox中选定的键值过滤该数据源来缩小DBGrid结果。它会对网格进行过滤,但是当我选择一个键值时,它会使用网格中选定的键值编辑第一行。为什么会这样?
procedure TForm1.DBCBtypeClick(Sender: TObject);
begin
showmessage('Book Type: ' + dbcbtype.KeyValue);
dmpub.tbooks.Filter := 'type = ' + quotedstr(dbcbtype.KeyValue);
dmpub.tbooks.Filtered := true;
end;
其他所有内容都在组件的属性中
答案 0 :(得分:3)
设置TDbLookupComboBox的Datasource属性会将数据集置于dsEdit状态。如果您只想使用TDbLookupCombo框从查找中选择值,只需将数据源属性保留为空。该控件仍将使用ListSource,ListField和ListFieldIndex属性提供列表。