2016-07-27 46 views
1

我有一个DBLookUpComboBox和DBGrid连接到具有两个不同数据源组件的同一个表。我试图通过从DBLookUpComboBox中选择键值过滤该数据源来缩小DBGrid结果。它会过滤网格,但是当我选择一个键值时,它将使用网格中的所选键值编辑第一行。为什么发生这种情况?DBLookUpComboBox在DBGrid中选定keyvalue编辑表

procedure TForm1.DBCBtypeClick(Sender: TObject); 
begin 
    showmessage('Book Type: ' + dbcbtype.KeyValue); 

    dmpub.tbooks.Filter := 'type = ' + quotedstr(dbcbtype.KeyValue); 
    dmpub.tbooks.Filtered := true; 

end; 

其他的都是在组件

+0

不要设置DBLookupComboBox的数据源,只需设置ListSource .. –

+0

是这样做的。约翰你好 – SHAKEnBake

回答

4

设置TDbLookupComboBox的DataSource属性将放置在DSEDIT状态的数据集的属性。如果您只是想使用TDbLookupCombo框从查找中选择一个值,只需将数据源属性留空即可。该控件仍将通过使用ListSource,ListField和ListFieldIndex属性提供一个列表。

+0

感谢兄弟。那样做了。 – SHAKEnBake