DBLookUpComboBox在DBGrid中选择了keyvalue编辑表

时间:2016-07-27 23:23:54

标签: delphi

我有一个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;

其他所有内容都在组件的属性中

1 个答案:

答案 0 :(得分:3)

设置TDbLookupComboBox的Datasource属性会将数据集置于dsEdit状态。如果您只想使用TDbLookupCombo框从查找中选择值,只需将数据源属性保留为空。该控件仍将使用ListSource,ListField和ListFieldIndex属性提供列表。