抱歉,如果问题看起来含糊不清,请让我解释一下。
我有两个数据集,例如主数据集和扩展数据集。它们具有相同的主键,但并非所有主记录都有扩展记录(这是重点)。
UI 是由数据源链接的常见数据感知控件,放置在 TPageControl 中,每个数据集都有一个页面/选项卡。链接到主数据集的 TDBNavigator 允许用户浏览记录。
用户在浏览时可能位于“扩展”页面/选项卡上,并且可能想要编辑“扩展”记录数据。如果扩展记录已经存在,那么一切都很好,因为数据源的 AutoEdit 属性会自动将数据集置于编辑模式。
但是如果没有 Extensions 记录怎么办?我想我需要相当于“AutoInsert”属性,如果用户开始在其中一个控件中键入内容,该属性会自动将数据集置于插入模式。 (我总是可以在 BeforeInsert 事件中设置主键)。
有什么想法我将如何实现这一目标吗?
感谢您的任何建议,也感谢您阅读一个很长的问题, 问候 菲尔W。
最佳答案
当用户输入任何可编辑控件时,我会以编程方式插入记录,然后在不需要时将其删除。您应该能够在根本不访问数据库的情况下做到这一点,因此唯一真正的成本是一些代码。
当您将新行插入到像这样的稀疏表的中间时,我认为它并不是真正的自动插入。
关于delphi - 相当于数据源的 'AutoInsert' 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4914471/