我在LiveBindings中使用TListView
链接了TFDMemTable
。我使用LoadFromFile
将数据加载到FDMemTable中(例如,我有20条记录)。
当我从FDMemTable中删除一条记录时,RecordCount
会减少,但TListView
不会刷新,它会继续显示加载在LoadFormFile
上的20条记录。
如果使用FDMemTable:I .SaveToFile
,.Close
,并用.LoadFromFile
重新加载,则TListView
现在将显示更改。
如果我不使用FDMemTable的CachedUpdate
,这是相同的行为。
我尝试不成功地调用TFDMemTable.Refresh
和TListView.Repaint
。
是否可以调用TListView
刷新其“链接”数据集?
当我删除FDMemTable中的记录时,为什么TListView
上没有可见的刷新?
编辑:
我必须添加一个东西,以编程方式删除记录。
所需的功能是删除FDMemTable
中的多余记录,并使用TListView
向用户显示剩余记录。
最佳答案
在LiveBindings Designer中,通过将Synch
的ListView
链接到*
的FDMemTable
,ListView
现在将显示结果记录。
同样在我的最后一个算法中,因为我使用.BeginBatch / .EndBatch
(禁用数据感知刷新),在处理数据以删除不需要的记录时,我不得不暂时禁用LiveBinding链接(因为在处理数据时使用了不同的排序索引) ):LinkListControlToField1.Active := false;
,并在处理后将其“重新链接”:LinkListControlToField1.Active := true;