Hola, buscando por ahi veo que alguien sobreescribe el metodo de refresco de la barra de scroll. En el ejemplo solo se indica si se muestran o no las barras.(funciona perfecto).
Para lo que planteas (habria que probar) se me ocurre evaluar cantidad de registros que soporta tu dbgrid (segun el alto del grid) y la cantidad de registros en el Dataset.
Saludos
Nicolas Perichon
Código Delphi
[-]
....
type
TDBGrid = class(DBGrids.TDBGrid)
private
procedure UpdateScrollBar; override;
end;
...
implementacion del metodo:
Código Delphi
[-]
procedure TDBGrid.UpdateScrollBar;
begin
IF bdGrid.datasource.dataset.fields.count > cantidadMaxima THEN ShowScrollBar(form1.DBGrid1.Handle, SB_VERT, False);
end;