如下(在dbgrid中)a字段    b字段       c字段
1          a          fda
1          fd          fdsa
1          daf         daf
2          daf         daf
2          daf         daf
2          daf         daf
4          daf         daf
4          daf         daf
4          daf         daf变成
a字段    b字段       c字段
1          a          fda
           fd          fdsa
           daf         daf
2          daf         daf
           daf         daf
           daf         daf
4          daf         daf
           daf         daf
           daf         daf

解决方案 »

  1.   

    query1.sql.text:='select distinct a ,b,c form table name '
      

  2.   

    query1.sql.text:='select distinct a ,b,c form tablename '
      

  3.   

    这样的话得换个控件的
    dbgrid不行的
    我也在找这个控件的
      

  4.   

    不要试图去让数据显示组建给你干什么(除非你想让它显示的特别一点),最好在和它的datasource连接的table或者query里面去完成你的工作
      

  5.   

    可以用info4000来实现这样的效果的
    我现在可以实现了
      

  6.   

    procedure TDBGridEn.DrawColumnCell(const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if DataLink.ActiveRecord=0 then
      begin
        FTempFieldText := Columns[0].Field.DisplayText;
        FTempRow :=0;
        exit;
      end;
      if DataCol =0 then
      begin
        if (FTempFieldText = Columns[0].Field.DisplayText) and
          (FTempRow = DataLink.ActiveRecord-1) then
        begin
          R := Rect;
          InflateRect(R,0,1);
          R.Bottom := R.Bottom -2;
          Canvas.FillRect(R);
        end;
          FTempRow := DataLink.ActiveRecord;
          FTempFieldText := Columns[0].Field.DisplayText;
      end;
    end;
    然后在cellclick里刷新一下。