2016-07-27 8 views
1

Ich habe eine DBLookUpComboBox und DBGrid mit der gleichen Tabelle mit zwei verschiedenen Datenquellenkomponenten verbunden. Ich versuche, die DBGrid-Ergebnisse einzugrenzen, indem Sie diese Datenquelle mit dem ausgewählten Schlüsselwert aus der DBLookUpComboBox filtern. Es filtert das Gitter, aber wenn ich einen Schlüsselwert auswähle, editiert es die erste Zeile mit dem ausgewählten Schlüsselwert im Gitter. Warum passiert dies?DBLookUpComboBox ausgewählte keyvalue bearbeitet Tabelle in DBGrid

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

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

end; 

Alles andere ist in den Eigenschaften der Komponenten

+0

Legen Sie nicht die Datenquelle der DBLookupComboBox, nur die ListSource .. –

+0

Yup, dass es getan hat. John dein guter – SHAKEnBake

Antwort

4

die Datasource Eigenschaft des TDBLookupComboBox Einstellung wird die Datenmenge in dsEdit Zustand versetzen. Wenn Sie nur das TDbLookupCombo-Feld verwenden möchten, um einen Wert aus der Suche auszuwählen, lassen Sie die Datenquellen-Eigenschaft einfach leer. Das Steuerelement wird weiterhin eine Liste bereitstellen, indem es die Eigenschaften ListSource, ListField und ListFieldIndex verwendet.

+0

Dank bro. Das hat es getan. – SHAKEnBake

Verwandte Themen