【发布时间】:2014-06-23 08:26:46
【问题描述】:
我有 DataSource1 (TDataSource),并且有一些 DB-Aware 控件链接到它(通过 SomeDBControl.DataSource=DataSource1)
如何在代码中找出(枚举)哪些控件链接到给定的 TDataSource?
【问题讨论】:
-
@TLama,DataLinks 是 TDataLink 的列表。 VisualControl 是布尔值。但是哪个控件?
-
@TLama,非常好,使用 TFieldDataLink 我可以访问“Control”属性,但使用 TGridDataLink.FGrid 是私有成员:(如果没有人会给出更好的答案(包括 TDBGrids)我'会接受你的评论。
-
@TLama,我错过了。请作为答案发布,我很乐意接受!
-
抱歉,从这里收回我所有的 cmets... 对于
DataLinks,没有可靠的方法可以访问所有类型的链接控件的实例。我能想到的唯一剩下的方法是迭代所有控件并询问它们的DataSource属性。 @MartynA,不幸的是不是... -
@TLama:哦,好吧。 OP 不能通过查找组件的 DataSource 和 MasterSource 属性来使用旧式 RTTI 吗?