有些控件,比如COMBOBOX如果关联的数据源有上百万笔数据,直接绑定数据会花费大量时间,我想可否实现数据分页或者分块提取。当然我也想过其他方案解决,比如再开一个线程专门加载数据;再比如要求用户录入时的条件达到一定长度后再开启Autocomplete功能,主要目的是使加载的数据更少一些.....
希望听取一下大家的意见(可能控件本身就有这种功能,只是我还没发现,或者vs2008中已经有了,呵呵)

解决方案 »

  1.   

    没有人会翻阅百万比数据的,
    最好加上搜索条件,并在允许的情况下用游标或sql语句来分页显示
      

  2.   

    COMBOBOX绑定百万笔数据,这样会不会被用户海扁啊
      

  3.   

    COMBOBOX绑定百万笔数据???换个思路吧。楼主
      

  4.   

    直接取几百万条数据是有点夸张,我当然要控制让用户至少输入一个字符,但是一次取几万条数据的渐进式搜索当然也有可能,如果每次都将全部记录取来,假如是一个多栏的combobox,那数据量也是不小的。如果要分批取,那就要考虑如何分批取数据了。如果要用现有控件,则即要控制鼠标事件,又要控制键盘事件。我现在的想法是用户在看数据时如果使用翻页键比如pageup,pagedown触发获取分页数据(有现成的存储过程),这个比较好实现(必竞新旧数据不用交差出现)。但对于使用键盘上的上下键实现翻页和对于滚动条移动实现的翻页就不太好控制。还有上述分页方式,一次取的数据比较少,和数据库的交互也比较多,效率也不太高。不知道还有没有更完美点的方案。(当然,如果假定用户只关心当前显示出来的数据,问题就会简单了^-^)