TMS的dbAdvStringGrid怎么让整行的颜色随着条件而变色?怎么让3个单元格同时变色?
搞了一天了没搞出来!注意:是TMS的DBAdvStringGrid !

解决方案 »

  1.   

    procedure Tfrm_QueryJoin_Step4.gridGetCellColor(Sender: TObject; ARow,
      ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
    begin
     if (ARow<1) then Exit;
      if ARow=Grid.GetRealRow then
        ABrush.Color:=$00EACAB6
      else
        ABrush.Color:=$00EEEEEE;
    end;procedure Tfrm_QueryJoin_Step4.gridRowChanging(Sender: TObject; OldRow,
      NewRow: Integer; var Allow: Boolean);
    var
      i:integer;
    begin
      for i:=0 to Grid.ColCount-1 do
      begin
        Grid.RepaintCell(i,OldRow);
        Grid.RepaintCell(i,NewRow);
      end;
    end;
      

  2.   

    整行变色代码procedure Tfrm_QueryJoin_Step4.gridRowChanging(Sender: TObject; OldRow,
      NewRow: Integer; var Allow: Boolean);
    var
      i:integer;
    begin
      for i:=0 to Grid.ColCount-1 do
      begin
        Grid.RepaintCell(i,OldRow);
        Grid.RepaintCell(i,NewRow);
      end;
    end;
    就可以
    变单个或多个特定单元格可以设定
    AdvStringGrid.Colors[acol,arow]:= $00FfFfFf ;
      

  3.   

    另外,还可以设置表格中的树型
    options->gorowselect为true
    如果showSelect为true就可以实现这个功能