0

Delphi 2007 には DBGrid があります。DBGrid の行が選択されたときに ComboBox を埋める必要があります。ComboBox のデータは、選択した行によって異なり、選択した行ごとに異なる場合があります。

DBGrid には製品注文が含まれています。注文が選択されたら、注文の製品のバッチ番号を ComboBox に入力する必要があります。このバッチ番号は、注文が実行されるときに注文レコードに保存されます。

これを行うために使用できる onSelect または onChange イベントが見つかりませんでした。

では、どうすればこれを行うことができますか?

4

3 に答える 3

2

TDataSet.AfterScroll イベントを使用する必要があります

于 2011-03-29T12:11:47.953 に答える
1

データが DataModule 内の DataSet から取得される場合は、コメントから @Roman responseに見えるように、TDataSource イベントに依存できます。

データソースがデータモジュールにもある場合は、フォーム自体に新しいデータソースを配置できます (IMO はそれが属する場所です)。

次に、ヘルプからTDataSource.OnDataChangeイベントを使用します。

現在のレコードのフィールドが編集されてアプリケーションが別のフィールドに移動したとき、または関連付けられたデータセットの現在のレコードが変更されたときに、特定のアクションを実行するOnDataChangeイベント ハンドラーを記述します。OnDataChange は、データベースに対応していないコントロールのデータ表示を同期する必要があるアプリケーションで特に役立ちます。このイベントは通常、すべての変更によってトリガーされるため、コントロールがデータセットの現在のフィールド値を反映していることを確認するために使用されます。

フィールド パラメーターはnil、リンクされたデータセットが新しいレコードに移動するとき、またはレコード バッファーを更新するときです。変更が特定のフィールドに属している場合 (ユーザーまたはプログラム自体が値を変更している場合)、フィールドは nil ではありません。

于 2011-03-29T15:27:51.750 に答える
-1

ユーザーがマウスでクリックしたときにキャッチするダブルクリックイベント (OnDblClick) と、Enter キー (Key=#13) の OnKeyPress をお勧めします。

于 2011-03-29T12:13:10.007 に答える