anchor.diff:  begin
     // default is inside bottom/right edge or cell
     Canvas.SetColor(clGridLines);
  +  if (BorderStyle <> ebsDefault) and (ACol = 0) then
  +    Canvas.DrawLine(ARect.Left, ARect.Top, ARect.Left, ARect.Bottom); // cell left of first column only
     Canvas.DrawLine(ARect.Left, ARect.Bottom, ARect.Right, ARect.Bottom); // cell bottom
     Canvas.DrawLine(ARect.Right, ARect.Bottom, ARect.Right, ARect.Top-1); // cell right
   end;
  
positive.code:   Canvas.ClearClipRect;
  
    r.SetRect(0, 0, Width, Height);
    Canvas.DrawControlFrame(r);
  
    InflateRect(r, -2, -2);
    Canvas.SetClipRect(r);
    Canvas.SetColor(FBackgroundColor);
    Canvas.FillRectangle(r);
  
  
negative.code: begin
    if FAlternativeBGColor = AValue then exit;
    FAlternativeBGColor := AValue;
  end;
  
  procedure TfpgBaseGrid.SetBorderStyle(AValue: TfpgEditBorderStyle);
  begin
    if FBorderStyle = AValue then
      Exit;
    FBorderStyle := AValue;
    Repaint;
  end;
  
  procedure TfpgBaseGrid.UpdateScrollBars;
  