如何判断ADOQuery里一条记录的一项与前一条记录里的同一项是否相同?

解决方案 »

  1.   

    我想判断一条记录值是否与上一条记录值相同,如果相同,就把DBGridEh的字体颜色设置为跟DBGridEh背景颜色一样,达到不显示的效果。
      

  2.   

    从楼主描述的效果看,好象是相同的列不显示。
    如果是这样,不如换个思维,从SQL语句上直接处理掉。select distinct Col1 from tableName order by Col1当然如果非得按楼主那样做,那么记录有不能不仅是上下两行,有可能是连续几行,某一列都会是相同的值,那么只有通过遍历去处理了。
    例:
    A
    A
    B
    B
    B
    ......
    都是有可能的。
      

  3.   

    判断相邻的记录值是否相同,如果字段比较多比较就会很麻烦,可以在ADOQuery加两个计算字段,第一个计算字段中将所有字段值叠加成一个字符串,然后再遍历比较,比较时的在第二个子算字段中做一个标识,比如相同标注为1,不同标注为0,最后再修改DBGrid的颜色就可以了。
      

  4.   


    用HideDuplicates本来是这样的效果      A     B     C
                                     2001    01    02
                                                   03
                                                   04
                                     2002          05
                                                   06
                                                   07
    我想达成这样的效果                      A      B    C
                                     2001     01   02
                                                   03
                                                   04
                                     2002     01   05
                                                   06
                                                   07
    并不是要判断相同的行,是让某一相同的列不显示
      

  5.   

    用HideDuplicates本来是这样的效果 A   B  C
      ---------------------------2001 01 02
      -----------------------------------03
      -----------------------------------04
      ---------------------------2002 ---05
      -----------------------------------06
      -----------------------------------07
    我想达成这样的效果 A B C
      ------------2001 01 02
      --------------------03
      --------------------04
      ------------2002 01 05
      --------------------06
      --------------------07
    并不是要判断相同的行,是让某一相同的列不显示
      

  6.   

    cxgrid里面的分组功能就可以做到你想要的