如题:象这种大批量的数据导入有什么好的方法吗?不然会非常的慢

解决方案 »

  1.   

    在循环处加入 application.ProcessMessages;
      

  2.   

    哈哈正中本人下怀
    如何用TListView来处理大量数据采用常规方法处理ListView,在数据量大时无论是还是用了BeginUpdata和EndUpdata()还是处理WM_EraseBkgnd信息都不会得到理想的效果,那答案是什么呢?嗯,采用所谓Virtual ListView技术。说起来很神秘,其实点通了很简单。通常ListView中的所有数据都是由ListView自己来管理的,它负责这些数据空间的分配和释放,当你把ListView->OwnerData设为true时,ListView就把数据的管理权交给了你,而它只负责显示。这时你需要自己来为数据分配和释放空间,至于你怎样来管理这些数据完全有你自己来定,ListView完全不关心,当ListView需要显示某条数据时,它就调用OnData事件,你只要在这个事件的处理函数里指定ListView即将显示的Item的内容就可以了。这就是所谓的Virtual ListView技术。由于ListView对数据管理的功能强大,随之而来的却是效率低下,如果你采用更高效的数据管理方式就会极大的改变效率。而且Virtual ListView只在数据需要显示时才调用OnData事件载入数据,所以速度很快。哈哈正中本人下怀
    如何用TListView来处理大量数据采用常规方法处理ListView,在数据量大时无论是还是用了BeginUpdata和EndUpdata()还是处理WM_EraseBkgnd信息都不会得到理想的效果,那答案是什么呢?嗯,采用所谓Virtual ListView技术。说起来很神秘,其实点通了很简单。通常ListView中的所有数据都是由ListView自己来管理的,它负责这些数据空间的分配和释放,当你把ListView->OwnerData设为true时,ListView就把数据的管理权交给了你,而它只负责显示。这时你需要自己来为数据分配和释放空间,至于你怎样来管理这些数据完全有你自己来定,ListView完全不关心,当ListView需要显示某条数据时,它就调用OnData事件,你只要在这个事件的处理函数里指定ListView即将显示的Item的内容就可以了。这就是所谓的Virtual ListView技术。由于ListView对数据管理的功能强大,随之而来的却是效率低下,如果你采用更高效的数据管理方式就会极大的改变效率。而且Virtual ListView只在数据需要显示时才调用OnData事件载入数据,所以速度很快。
      

  3.   

    http://search.csdn.net/Expert/topic/1743/1743944.xml?temp=.7631647上面的帖子看了还不明白就说不过去了哦:-_-!
      

  4.   

    To:Kshape
    在ListView的OnDate事件中应该还要控制数据库中的数据,即ADOTable或ADOQuery中要得到的数据。
    是否要分批显示ADOTable中的数据吗?
    如果滚动条上移或下移就要显示相应的数据的,这样该怎么实现.
    分不够可以再加.谢谢
      

  5.   

    当然必须使用Virtual List技术的
    OnData中就能处理的Google上有答案的http://lysoft.7u7.net