调用TDataSet.DisableControls
禁用主/详细数据集之间的链接。是否有另一种方法可以在不影响主/从关系的情况下禁用更新数据感知控件?我知道我可以将单个组件设置DataSource
为nil
,但这对我来说不是实用的方法。
问问题
2305 次
2 回答
2
该解决方案假定您使用单独TDataSource
的实例来链接 UI 控件和主从关系,从设计的角度来看,这无论如何都是一个好主意。
此解决方案的缺点:这会导致您的 UI 出现一些闪烁。
你可以:
- 枚举所有
TDataSource
指向您的TDataSet
实例但不涉及主从关系的实例。 - 对于每个实例,保存
Enabled
属性。 - 对于每个实例,将
Enabled
属性设置为False
- 运行你的逻辑
- 对于每个实例,恢复
Enabled
属性。
于 2012-09-01T15:09:19.930 回答
1
如今,您有一个完美的选择来实现这一目标。正如德尔福帮助所述:
如果数据集是主/从关系的主,调用 DisableControls 也会禁用主/从关系。设置 BlockReadSize 而不是调用 DisableControls 会在您滚动数据集时更新详细数据集,但不会更新数据感知控件。
于 2019-02-04T05:36:40.770 回答