调用TDataSet.DisableControls
会禁用主/明细数据集之间的链接。是否有另一种方法可以在不影响主/明细关系的情况下禁用更新数据感知控件?我知道我可以将单个组件的DataSource
设置为nil
,但这对我来说并不实用。
答案 0 :(得分:2)
此解决方案假设您使用单独的TDataSource
实例来链接UI控件和Master-Detail关系,从设计的角度来看,无论如何都是个好主意。
此解决方案的缺点:这会导致UI中出现一些闪烁。
你可以:
TDataSource
个实例但未参与主 - 明细胞关系的所有TDataSet
个实例。Enabled
属性。Enabled
属性设置为False
Enabled
属性。答案 1 :(得分:1)
如今,您有一个完美的选择来实现这一目标。如Delphi帮助中所述:
如果数据集是主/明细关系的主控,则调用DisableControls也会禁用主/明细关系。滚动浏览数据集时,设置BlockReadSize而不是调用DisableControls会更新详细数据集,但不会更新数据感知控件。