如数据库中有表:
A(A1,A2)
1,11
2,22
3,33
4,44
5,55
6,66
......我用adoquery取出 A表 中所有数据,比如我想分3个dbgrid来显示:
dbgrid1显示  A1范围为1~3的记录
dbgrid2显示  A1范围为4~6的记录
dbgrid3显示  剩下的记录
注意:我的想法中adoquery只有一个,dbgrid有3个;dbgrid1、dbgrid2、dbgrid3在同一个form里,dbgrid1、dbgrid2、dbgrid3要能同时显示相应的记录。ps1:我主要是觉得像上面那样按A1的范围分类显示,如果分的dbgrid多的话,adoquery和datasource也会很多,就是想减少点adoquery。ps2:直接告诉我,我的想法能不能实现吧。能实现,给出方案或代码,我再来加分+结贴;不能实现的话,就直接结了,我也是穷人,分不多了。

解决方案 »

  1.   

    不能。如果不同时显示 到可用filter 
    变通的方式 用内存表,或者用Grid手动填值
      

  2.   


    如果用内存表,用TClientdataset来做的话,TClientdataset不是也会很多??那应该怎么做?动态创建TClientdataset?或不用TClientdataset?不用TClientdataset的话怎么做内存表?
      

  3.   


    用手动填值的话,如stringgrid,这样做的话dbgrid提供的一些事件就没的用了,还要手动实现
      

  4.   

    绝对不能实现,你想想这样的话dbgrid的光标怎么显示啊
    不过可以有一个变通的方法
    三个dbgrid都显示全部数据
    但是你可以想办法隐藏那些你不需要看到的数据
      

  5.   

    难道一定只能有1个adoquery?
    3个不行吗?
      

  6.   


    3个adoquery我还发帖干嘛....
      

  7.   

    用3个stringgrid之类的,自己写程序负责显示吧