我有一个可在此处下载的示例应用程序。该应用程序包含两个 TClientDataSet 对象,一个主对象和一个详细对象。关系是通过字段 id (master) 提供参数 :id (detail) 定义的(它是类型 master 字段到详细参数的链接)。它使用 dbexpress,需要在 MS SQL Server 2008 R2 或 2012 上运行(默认情况下它连接到 localhost/master)并且它不读取任何数据,它只运行一些生成人工记录的查询。出于测试目的,详细查询实现了 1 秒的延迟。
根据我对这个应用程序的观察,当我浏览主记录时,似乎缓存了详细记录。如果我导航到第 5 行,然后转到第 1 行,然后返回第 5 行,则第 5 行的详细信息不会刷新(如 dt 字段所证明的那样)。
我的问题:是否有可能使用这种模式(即主/详细 TClientDataSet 对象)来控制详细记录的缓存?更具体地说,有没有办法在导航回同一行时始终刷新详细数据?
谢谢