[英]FireDac Polling records on demand and show them in StringGrid
我正在使用Delphi 10 Seattle,FireDac,Oracle数据库和TMS组件。
我正在寻找一种方法,该方法允许我从数据集/查询中加载数据并将其按需放置在StringGrid
上。 我认为正确的表达方式是paging
。
当我有大量记录(5000多个)时,我的应用程序将冻结(〜5s),直到将所有记录加载到网格中为止。
我已经阅读了Embarcadero关于提取行的Wiki帖子,但是我没有找到解决方案。
我尝试了TFDQuery FetchOptions
和ResourceOptions
不同组合,但是没有运气。
我注意到Oracle的SQLDeveloper完全按照我希望我的应用程序的行为执行。
我已经录制了这个简短的片段,以演示SQLDeveloper如何加载大量记录: https ://gfycat.com/BlankOrganicIndianpalmsquirrel
它首先加载50条记录,当我在网格中滚动时,其他记录也将加载。
所以问题是我怎样才能获得像SQLDeveloper一样的轮询技术。 谢谢!
编辑:正在使用LiveBindings。 切换到支持数据库的组件,它看起来像闪电一样快。
如评论中所述,我通过从LiveBindings切换到支持DB的组件DBGrid获得了巨大的性能。
为了平滑滚动,我使用了以下SO答案: Delphi dbgrid连续滚动
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.