呼び出すTDataSet.DisableControlsと、マスター/詳細データセット間のリンクが無効になります。マスター/詳細関係に影響を与えずに、データベース対応コントロールの更新を無効にする別の方法はありますか? DataSource個々のコンポーネントをに設定できることは知っていますnilが、これは私にとって実用的な方法ではありません。
2305 次
2 に答える
2
このソリューションでは、UI コントロールのリンクとマスターと詳細の関係に別々のTDataSourceインスタンスを使用することを前提としていますが、これはデザインの観点からは良い考えです。
このソリューションの欠点: これにより、UI でちらつきが発生します。
あなたは出来る:
- インスタンスを指しているが、マスターと詳細の関係に関与していないすべての
TDataSourceインスタンスを列挙します。TDataSet - これらのインスタンスごとに、
Enabledプロパティを保存します。 - これらのインスタンスごとに、
EnabledプロパティをFalse - ロジックを実行する
- これらのインスタンスごとに、
Enabledプロパティを復元します。
于 2012-09-01T15:09:19.930 に答える
1
現在、これを達成するための完璧なオプションがあります。Delphi ヘルプには次のように記載されています。
データセットがマスター/詳細関係のマスターである場合、DisableControls を呼び出すと、マスター/詳細関係も無効になります。DisableControls を呼び出す代わりに BlockReadSize を設定すると、データセットをスクロールすると詳細データセットが更新されますが、データベース対応コントロールは更新されません。
于 2019-02-04T05:36:40.770 に答える