2016-07-27 6 views
1

DBLookUpComboBoxとDBGridは、2つの異なるデータソースコンポーネントを使用して同じテーブルに接続しています。 DBLookUpComboBoxから選択されたキー値でそのデータソースをフィルタリングすることで、DBGridの結果を絞り込もうとしています。グリッドをフィルタリングしますが、キー値を選択すると、グリッド内の選択されたキー値で最初の行が編集されます。なぜこうなった?DBLookUpComboBoxで選択されたkeyvalueはDBGrid内のテーブルを編集します

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

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

end; 

他のすべてはTDbLookupComboBoxのDataSourceプロパティを設定するコンポーネント

+0

DBLookupComboBoxのデータソースを設定しないで、リストソースを設定してください。 –

+0

そうです。ジョンあなたの良い – SHAKEnBake

答えて

4

のプロパティであるdseditの状態でデータセットを配置します。ルックアップから値を選択するためにTDbLookupComboボックスを使用するだけの場合は、Datasourceプロパティを空白のままにしてください。コントロールは、ListSource、ListField、ListFieldIndexの各プロパティを使用してリストを提供します。

+0

おかげで。それがそれでした。 – SHAKEnBake

関連する問題