これは、次のことを行うための最良の方法は何かに常に悩まされてきました...
フォームに2つのテーブル/グリッドがあり、2番目のテーブル/グリッドが最初のテーブル/グリッドによってフィルタリングされている場合、単純な1対多のデータベースを使用します。
フィルタ コードを配置するのに最適な場所は次の
とおりです。
procedure TForm1.tblCustormersAfterScroll(DataSet: TDataSet);
begin
if tblCustormersCustormerID.AsString <> '' then
begin
tblCustormersThings.Filter := 'CustormerID = ' + tblCustormersCustormerID.AsString;
tblCustormersThings.Filtered := true;
end;
end;
AfterScroll はほとんどの場合機能しているようですが、投稿後などの一部のイベントでは発生しません。通常、フィルターの更新を行い、必要と思われる場所に配置する手順があります。
しかし、もっと良い方法があるかどうか疑問に思っていました.これは単にデルフィが知っておくべきもののようです...
私はそれが重要だとは思いませんが、Delphi7とNexusDB1を使用しています