DBgrid如何点击表头(列名)选择当前列,并让该列所有表格变成蓝色? 

解决方案 »

  1.   

    这个好做,我有一个办法,你定一个全局变量,用来保存当前的列。在点击表头时,置这个变量为某列。
    然后在DBGRID的var
      clBack : TColor;
    begin
      clBack := (Sender As TDbGrid).Canvas.Brush.Color;
      With Sender As TDbGrid do
      begin
         //在这里判断列。就可以了。
         begin
           Canvas.Brush.Color := cllime;
         end
        else if (gdSelected) in State then
         begin
           (Sender As TDbGrid).Canvas.Brush.Color := clblue;
         end
        else
         begin
          Canvas.Brush.Color := clBack;
          Canvas.Font.Color := clblack;
         end;end;
      

  2.   

    在OnDrawColumnCell事件写以上面代码
    忘记说事件了。
      

  3.   

    使用 TDBGridEh 可以达到你所说的效果。