TListView记录按需加载

时间:2014-09-07 20:51:19

标签: delphi cross-platform firemonkey delphi-xe6 livebindings

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

主要问题是它将整个表加载到内存中。这大部分时间都很慢,现在把它带到android甚至最糟糕的时候。

我还没有找到关于如何分页的任何示例。我没有使用sql,我正在使用自定义DataSet(Aurelius)来按需检索记录。

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

如何让TListView按需加载记录?

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

1 个答案:

答案 0 :(得分:-1)

¨Your problem is not in listview, but in your dataset. Configure the dataset properties:

  1. FetchOptions.AutoFetchAll=Disable
  2. FetchOptios.RecRowSet=20;//The number of rows per page
  3. FetchOptions.Fetchmode=fmManual

in a button, or in a ListViewl.PullRefresh Event*

begin
FDQuery.EmptyDataSet;
FDQuery.FetchNext;
end

  • Pullrefresh event means you push down in listview to get new records, very common in Iphone/Android Apps. Require PullToRefresh property checked as True