2

アプリケーションに多くの「マスター/詳細」フォームがあります。各行がアイテムのいくつかのコア値を示す TDBGrid。グリッドの下には通常、グリッドで現在選択されている項目の完全な情報を表示する「詳細領域」があります。

現在、グリッドの背後にある TADOQuery の「AfterScroll」イベントをリッスンしていますが、イベントが多すぎるようです。

AfterScroll はこれに対する正しいイベントですか? どうやってこれをやっていますか?

4

2 に答える 2

4

「標準的な」方法 (データ認識環境で) は、GUI コントロールを使用してそれを制御するのではなく、データ コンポーネントを使用することです。

ほとんどのテーブル データ セットは、 (適切なコンポーネントMasterSourceにリンクされている) およびプロパティを提供します。これらを使用して、データセットを主従関係でリンクします。その後、詳細グリッド(またはその他のデータベース対応コントロール)は、正しいデータセットへのリンクに関係するだけで済みます。TDataSourceMasterFields

EDIT
他の種類のデータセット (例: ) は、同様の目的で使用されることTQueryがあります。Delphi 5 ヘルプから: " " ただし、さらに複雑な問題がかなりあります (ヘルプを読むとわかります)。そのため、代わりに詳細データセットに対してまたはを使用することをお勧めします。TADOQueryDataSourceSet DataSource to automatically fill parameters in a query with fields values from another dataset.
TTableTADOTable

于 2013-06-14T11:31:41.287 に答える