呼び出す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 に答える