2016-07-27 48 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