【问题标题】:Reset TFDMemTable to default (no field definitions) at Runtime在运行时将 TFDMemTable 重置为默认值(无字段定义)
【发布时间】:2020-07-18 03:18:51
【问题描述】:

我在设计时有一个原始的 TFDMemTable。我只在运行时激活它并同时通过网格组件显示数据。这些字段将在运行时根据其来源(API REST)和用户案例进行定义。

在运行时,我需要将 TFDMemTable 重置为其默认值。意思是,删除所有字段定义并接受另一个新数据和字段定义。

目前,第一次运行时在运行时设置的字段是固定的,它不接受任何新的字段定义。我正在考虑在运行时创建 TFDMemTable,但我仍然需要弄清楚。我希望有更好的方法..

真正的快速问题:如何在运行时将 TFDMemTable 重置为默认值(无字段定义)?

更新 1:

TFDMemTable 将从 API 接收 JSON 数据。此 API 会抛出具有未知数量的列/字段的数据。意思是,它只能在接收到 JSON 数据时确定字段。因此,我希望每次调用 API 时,TFDMemTable 都应该重新定义所有字段,以便能够捕获 API 字段。

所以,据我了解,如果我能够重置 TFDMemTable,我可以避免这个问题。

【问题讨论】:

    标签: rest delphi firemonkey firedac


    【解决方案1】:

    您可以使用TFDMemTable.ClearFields 删除所有现有的字段定义。

    【讨论】:

    • 我无法从 TFDMemTable.FieldDefs 中找到 ClearFields。而是仅清除。而且,如果我使用 TFDMemTable.FieldDefs.Clear 它不起作用。
    • 点击documentationFieldDefs的链接,表明该方法存在。就您所尝试的而言,我在您的问题中看不到任何代码。
    • 抱歉,无法从 FieldDefs 中找到“ClearFields”。无论如何,我已经更新了我的问题,以便更好地了解我的情况。
    • 直接在TFDMemTableobject 上调用ClearFields()
    • 我明白了!我只需要制作两个单独的 TFDMemTable 并在运行时触发它们中的任何一个。所以,我不必清除字段或重置它。非常感谢你们!
    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 2011-09-16
    • 2021-07-10
    • 2013-07-04
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多