提问人:Stalkium 提问时间:10/8/2020 最后编辑:Mark RotteveelStalkium 更新时间:7/22/2021 访问量:915
更改键值后刷新查找字段值
Refreshing a lookup field value after key value change
问:
我有两张表:
DEPARTMENTS
(索引、名称)EMPLOYEES
(索引、名称、DEPID、DepName)
DepName
是一个查找值,它使用哪些引用进行检索。DEPARTMENTS.Name
DEPID
DEPARTMENT.Index
当使用显示表的 DBGrid 时,并且在更改值后,记录不会更新,并且在我重新运行查询之前不会反映更改!EMPLOYEES
DEPID
DepName
有没有办法做到这一点并获取实时反映更改的查找值?
- Rad Studio XE 东京,
- 火鸟 3.0,
- FireDac 组件 (TFDQuery),
答:
0赞
Atreide
4/15/2021
#1
如果可以执行此操作 EMPLOYEES.Post 则 lookupfield 应正确刷新。为了继续编辑记录,您可以执行 EMPLOYEES。再次编辑。这可能不是正确的方法,但它确实对我有用。
您可以尝试 CalcField.RefreshLookupList,这看起来像是准确的方法,但它在带有 firedac 的 Delphi XE6 上对我不起作用,针对带有缓存更新的 Postgres 数据库。
评论
When using a DBGrid displaying the EMPLOYEES table, and after changing DEPID value
这是为类似表的“ISAM”数据存储而设计的。像Excel等。没有事务,没有查询语言等。这与客户端-服务器模型完全不同。也许你需要“公文包”方法,你对相关数据库信息进行少量复制,对其进行编辑,然后尝试将所有更改上传到数据库中。当然,这增加了“过时数据”冲突的可能性。 它的家人朋友被要求在德尔福实施这个模型TClientDataSet
DataSnap/MIDAS