我现在遇到了一个问题就是,要求:点击DBGrid的某一标题,然后按照此标题进行排序,并且此标题文字的后面出现向上的三角形符号,;再点击此标题,此标题文字的后面由向上的三角形符号变为向下的三角形符号。。但是,我现在就是不知道这个三角形的符号如何来实现?并且点击一次是向上的再点击为向下的。。请各位高手帮忙解决一下!!多谢了!!

解决方案 »

  1.   

    你可以用第三方控件,
    CXGRID,DXDBGRID,EhLib
      

  2.   

    http://community.csdn.net/Expert/topic/3704/3704611.xml?temp=.5381891
      

  3.   

    PsGrid  http://www.puersoft.com/product/preview/psgrid/psgrid.htm
      

  4.   

    procedure TForm1.DBGrid1TitleClick(Column: TColumn);begin   if Fcolumn=nil then
       begin
          adoquery1.Sort:=Column.FieldName + ' ASC';
          Fcolumn:=column;
          Column.Title.Caption:=column.Title.Caption+'▲';
          Fsort:='ASC';
          exit;
        end ;  if Fcolumn<>column  then
      begin
        adoquery1.Sort:=column.FieldName +' ASC';
        column.Title.Caption:=column.Title.Caption+'▲';
        Fcolumn.Title.Caption :=copy(Fcolumn.Title.caption,1,length(Fcolumn.Title.caption)-2);
        Fcolumn:=column;
        Fsort:='ASC';
      end
      else
      if fsort='ASC' then
      begin
        adoquery1.Sort:=Column.FieldName + ' DESC';
        Fcolumn.Title.Caption :=copy(Fcolumn.Title.caption,1,length(Fcolumn.Title.caption)-2);
        Column.Title.Caption:=column.Title.Caption+'▼';
        Fcolumn:=column;
        Fsort:='DESC';  end
      else
      begin
        adoquery1.Sort:=column.FieldName +' ASC';    Fcolumn.Title.Caption :=copy(Fcolumn.Title.caption,1,length(Fcolumn.Title.caption)-2);
        column.Title.Caption:=column.Title.Caption+'▲';
        Fcolumn:=column;
        Fsort:='ASC';
      end;
    end;