我在LiveBindings中使用TListView链接了TFDMemTable。我使用LoadFromFile将数据加载到FDMemTable中(例如,我有20条记录)。

当我从FDMemTable中删除一条记录时,RecordCount会减少,但TListView不会刷新,它会继续显示加载在LoadFormFile上的20条记录。

如果使用FDMemTable:I .SaveToFile.Close,并用.LoadFromFile重新加载,则TListView现在将显示更改。

如果我不使用FDMemTable的CachedUpdate,这是相同的行为。

我尝试不成功地调用TFDMemTable.RefreshTListView.Repaint

是否可以调用TListView刷新其“链接”数据集?

当我删除FDMemTable中的记录时,为什么TListView上没有可见的刷新?

编辑:
我必须添加一个东西,以编程方式删除记录。

所需的功能是删除FDMemTable中的多余记录,并使用TListView向用户显示剩余记录。

最佳答案

在LiveBindings Designer中,通过将SynchListView链接到*FDMemTableListView现在将显示结果记录。

listview - 如何调用FireMonkey中的数据感知(实时绑定(bind))组件的刷新?-LMLPHP

同样在我的最后一个算法中,因为我使用.BeginBatch / .EndBatch(禁用数据感知刷新),在处理数据以删除不需要的记录时,我不得不暂时禁用LiveBinding链接(因为在处理数据时使用了不同的排序索引) ):LinkListControlToField1.Active := false;,并在处理后将其“重新链接”:LinkListControlToField1.Active := true;

10-07 18:41