2

呼び出すTDataSet.DisableControlsと、マスター/詳細データセット間のリンクが無効になります。マスター/詳細関係に影響を与えずに、データベース対応コントロールの更新を無効にする別の方法はありますか? DataSource個々のコンポーネントをに設定できることは知っていますnilが、これは私にとって実用的な方法ではありません。

4

2 に答える 2

2

このソリューションでは、UI コントロールのリンクとマスターと詳細の関係に別々のTDataSourceインスタンスを使用することを前提としていますが、これはデザインの観点からは良い考えです。

このソリューションの欠点: これにより、UI でちらつきが発生します。

あなたは出来る:

  1. インスタンスを指しているが、マスターと詳細の関係に関与していないすべてのTDataSourceインスタンスを列挙します。TDataSet
  2. これらのインスタンスごとに、Enabledプロパティを保存します。
  3. これらのインスタンスごとに、EnabledプロパティをFalse
  4. ロジックを実行する
  5. これらのインスタンスごとに、Enabledプロパティを復元します。
于 2012-09-01T15:09:19.930 に答える
1

現在、これを達成するための完璧なオプションがあります。Delphi ヘルプには次のように記載されています。

データセットがマスター/詳細関係のマスターである場合、DisableControls を呼び出すと、マスター/詳細関係も無効になります。DisableControls を呼び出す代わりに BlockReadSize を設定すると、データセットをスクロールすると詳細データセットが更新されますが、データベース対応コントロールは更新されません。

于 2019-02-04T05:36:40.770 に答える