1

私の cxGrid には、デフォルトで 'NO' である Yes/No フィールドがあります。そのフィールドの隣に、別のフィールド、別のテーブルから値を取得する LookupComboBox フィールドがあります。デフォルトでは空ですが、この特定のフィールドで値が変更されると、はい/いいえフィールドが「はい」に変わる必要があります (現在編集している行のみ)。これを行うにはどうすればよいですか? また、コードを実装する場所がわからない....OnChange、Oneditvaluechanged、Onvalidate ???

4

1 に答える 1

1

グリッドはデータセットにバインドされているように見えるため、簡単な方法の 1 つは、選択フィールドの fieldchange イベントを使用することです。
すぐに動作させるには、データセット内の Lookupfield の代わりに ImmediatePost を使用して TcxEditRepositoryLookupComboBoxItem を使用する必要があります (いずれにせよ、少なくとも ADO では最悪のアプローチになります)。

procedure TForm4.MainSelectionChange(Sender: TField);
begin

   if Main.State in [dsEdit,dsInsert] then
      if not Sender.IsNull then
        MainYesNo.Value := true;

   { maybe you are looking for that instead the code above
   if Main.State in [dsEdit,dsInsert] then
        MainYesNo.Value := not Sender.IsNull
   }
end;

ルックアップ定義 ルックアップの使用

于 2013-03-31T20:14:45.100 に答える