2

我已经使用 TListView 制作了我的应用程序,以将主数据集显示为列表作为导航记录的方式。我已将 LiveBindings 与 Sync <-> * 连接一起使用。

主要问题是它将整个表加载到内存中。大多数时候这很慢,现在把它带到安卓上更糟糕。

我还没有找到任何关于如何分页的例子。我没有使用 sql,我使用的是自定义数据集 (Aurelius) 来按需检索记录。

由于我没有找到任何文档,因此我没有起点或代码可以分享。

如何让 TListView 按需加载记录?

PS。有一个类似的SO question,但这可以通过 SQL 语句来解决。我没有可用的 SQL,我想知道 FMX 的实际版本是否可能是更好的方法。

4

1 回答 1

-1

¨您的问题不在列表视图中,而在您的数据集中。配置数据集属性:

  1. FetchOptions.AutoFetchAll=禁用
  2. FetchOptios.RecRowSet=20;//每页的行数
  3. FetchOptions.Fetchmode=fmManual

在按钮中,或在 ListViewl.PullRefresh 事件中*

begin
FDQuery.EmptyDataSet;
FDQuery.FetchNext;
end

  • Pullrefresh 事件意味着您在列表视图中下推以获取新记录,这在 Iphone/Android 应用程序中很常见。要求 PullToRefresh 属性检查为 True
于 2017-08-04T12:54:32.823 回答