我有一个连接到数据库的 TADOQuery,并且 sql 设置为获取数据。
TDataSetProvider 到上面的查询
TClientDataSet 连接到提供者
TDataSource 连接到数据集
连接到 TcxGrid 的数据源
客户端数据集也连接到一个主源,它本身连接到一个表。
我能够按预期添加和删除网格(网格不能直接编辑,所有人都能做的就是添加或删除)。我在数据集上使用删除和附加来控制网格。
奇怪的是,我无法解决的是,当我更改主源网格中正在使用的记录,然后返回到原始记录时,数据正在从数据库或某些存储的数据集的原始状态刷新,而不是内存数据集。
因此,如果我删除了一条记录,它会重新出现,并且任何仍然存在的记录都会被复制,尽管从上次保存到数据库中添加的任何内容都不会复制。但是,如果我对数据库的数据集进行更新,那么数据库表就是我所期望的。没有重复的记录,通过网格/数据集删除的任何内容都会被删除,添加的任何内容都会被添加。
我怀疑这是一个非常微不足道的标志设置,但我找不到这个,而且其他人的每个查询似乎都是关于刷新数据,而不是阻止它。
任何建议,将不胜感激。