繁体   English   中英

FireDac轮询记录按需记录并在StringGrid中显示

[英]FireDac Polling records on demand and show them in StringGrid

我正在使用Delphi 10 Seattle,FireDac,Oracle数据库和TMS组件。

我正在寻找一种方法,该方法允许我从数据集/查询中加载数据并将其按需放置在StringGrid上。 我认为正确的表达方式是paging

当我有大量记录(5000多个)时,我的应用程序将冻结(〜5s),直到将所有记录加载到网格中为止。

我已经阅读了Embarcadero关于提取行的Wiki帖子,但是我没有找到解决方案。

我尝试了TFDQuery FetchOptionsResourceOptions不同组合,但是没有运气。

我注意到Oracle的SQLDeveloper完全按照我希望我的应用程序的行为执行。

我已经录制了这个简短的片段,以演示SQLDeveloper如何加载大量记录: https ://gfycat.com/BlankOrganicIndianpalmsquirrel

它首先加载50条记录,当我在网格中滚动时,其他记录也将加载。

所以问题是我怎样才能获得像SQLDeveloper一样的轮询技术。 谢谢!

编辑:正在使用LiveBindings。 切换到支持数据库的组件,它看起来像闪电一样快。

如评论中所述,我通过从LiveBindings切换到支持DB的组件DBGrid获得了巨大的性能。

为了平滑滚动,我使用了以下SO答案: Delphi dbgrid连续滚动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM