1

ユーザーが dbgrid (CDS に接続されている)の 2 つのフィールドのいずれかを更新し、最後に入力したフィールドを保持できるようにしなければならない状況があります。したがって、(ユーザーがデータを入力した後)現在フォーカスされているコントロールを取得する必要があるため、以前のフィールド データがあればそれを削除します。この2つ以外にもフィールドを持っています。

グリッド関連のイベントを使用しないように主張されました。これを実現するには、CDS イベントのみを使用する必要があります。

前もってありがとう、Vijay。

4

1 に答える 1

4

フィールドの OnChange イベントを使用し、他のフィールド値があればそれをクリアします。

このようなもの:

TForm1.cdsField1Change(Sender: TField);
begin
  if not Sender.IsNull then
    cdsField2.Clear;
end;

TForm1.cdsField2Change(Sender: TField);
begin
  if not Sender.IsNull then
    cdsField1.Clear;
end;
于 2011-01-06T16:40:05.423 に答える