我想在 DataSet(不是 ClientDataSet)中创建一个“假”数据字段:
- 该字段不应存储在数据库中
- 它不是计算字段(应允许用户输入输入数据)
- 该字段具有业务逻辑含义,因此用户更新其值后应该更新其他字段(使用 OnFieldChange 事件)
我知道我可以有一个简单的 no-dbaware 控件,捕获它的 OnChange 事件并在那里执行计算(或调用 DataSet 所在的 DataModule 函数),但我认为如果我可以重新利用数据集自动绑定(bind),它会更干净使用数据库软件控件和数据集事件..
这样,表单(演示文稿)和 DataModule(模型)之间的独特连接就是数据集(较少耦合)..
PD:我正在使用 fibplus,我认为解决方案(如果有的话)将在 VCL 级别..
谢谢!
最佳答案
您是否尝试过使用InternalCalc字段?您的数据感知控件将允许您编辑InternalCalc字段的值,并且该值存储在数据集中。
如果您在设计时在数据集(TClientDataSet、TQuery 等)中创建一个 InternalCalc 字段,那么它几乎正是您所要求的。
关于delphi - 可以在delphi数据集中创建一个假数据字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7997932/