在dbgrid中单击某一列的标题栏,实现对该列的排序,但是怎样加上'∧'或'∨'等符号。
如何修改下面代码。procedure Tspxx_form.DBGrid1TitleClick(Column: TColumnEh);
begin
if (Not ADOQuery1.Active) or (ADOQuery1.RecordCount = 0) then exit;
try
  if  Pos('ASC',ADOQuery1.Sort) = 0 then
  begin
  ADOQuery1.Sort := column.fieldname + ' ASC';
  column.Title.Caption:=column.Title.Caption  +'∧';
  end
  else
  begin
   ADOQuery1.Sort := column.fieldname + ' DESC';              column.Title.Caption:=column.Title.Caption  +'∨';
  end; except
 application.MessageBox('不允许对该列排序!','提示',mb_ok+mb_iconerror);
 end;end;

解决方案 »

  1.   

    procedure Tform1.dBGrid1TitleClick(Column: TColumn);
    var
      i:integer;
    begin
    if (Not ADOQuery1.Active) or (ADOQuery1.RecordCount = 0) then exit;
    //////////////////////////////////////////清除标题头
    for i:=0 to dbgrid1.Columns.Count-1 do
      if (pos('∧',dbgrid1.Columns.Items[i].Title.caption)>0) or (pos('∨',dbgrid1.Columns.Items[i].Title.caption)>0) then
      dbgrid1.Columns.Items[i].Title.caption:=copy(dbgrid1.Columns.Items[i].Title.caption,1,length(dbgrid1.Columns.Items[i].Title.caption)-2);
      //////////////////////////////////////////
    try
      if Pos('ASC',ADOQuery1.Sort)=0 then
        begin
          ADOQuery1.Sort := column.fieldname + ' ASC';
          column.Title.Caption:=column.Title.Caption  +'∧';
        end
      else
        begin
         ADOQuery1.Sort := column.fieldname + ' DESC';
         column.Title.Caption:=column.Title.Caption  +'∨';
        end;except
      application.MessageBox('不允许对该列排序!','提示',mb_ok+mb_iconerror);
    end;end;
      

  2.   

    你用 DBGridEH,那个自动会加上 箭头来指示的 ,呵呵,还要你自己指定的哦
      

  3.   

    to FlyDayDream(悠幽白书:
    如何设置呢?