多语言展示
当前在线:780今日阅读:75今日分享:44

ComponenetOneFlexGrid高性能的加载大量数据

本篇博客即将展示FlexGrid如何高性能的加载大量数据
工具/原料

ComponenetOne

方法/步骤
1

定义数据源首先定义10列FlexGrid数据源,代码如下:

2

通过BackgroundWorker加载FlexGrid数据BackgroundWorker是·net里用来执行多线程任务的控件,它允许编程者在一个单独的线程上执行一些操作。该控件有三个事件:DoWork 、ProgressChanged 和 RunWorkerCompleted。在程序中调用RunWorkerAsync方法则会启动DoWork事件的事件处理,当在事件处理过程中,调用 ReportProgress方法则会启动ProgressChanged事件的事件处理,而当DoWork事件处理完成时,则会触发RunWorkerCompleted事件。初始化FlexGrid:在Command Click里清空FlexGrid数据源,重置行列值,并调用RunWorkerAsync方法,具体如代码:

3

准备FlexGrid数据源:在程序中调用RunWorkerAsync方法则会启动DoWork事件的事件处理,在该事件,我们准备FlexGrid需要的大量数据,代码如下。

4

同步显示FlexGrid数据量:在DoWork事件的处理过程中,如果调用ReportProgress则会触发ProgressChanged事件,进一步处理FlexGrid加载数据源的状态以及同步展示数据量(行列数),代码如下。

5

加载FlexGrid数据源:当DoWork事件处理完成之后,将会触发RunWorkerCompleted事件。在该事件内加载FlexGrid的数据源,并制定各列的数据类型,代码如下。这样,在Demo中FlexGrid可以立即呈现百万行数据,无须等待。效果如图所示

推荐信息