DBGrid настраиваем ScrollBars

Дата публикации

Часто разрабатываю программы для работы с базами данных. Соответственно сталкиваться в компонентом DBGrid приходится практически каждый день. Не трудно заметить, что у DGGrid в инспекторе объектов отсутствует свойство ScrollBars. В связи с этим хотелось бы обсудить какие из-за этого могут быть проблемы и как их решать.

Сразу хотелось бы отметить, что в Delphi есть возможность настраивать ScrollBars DBGrid'а программно. Делать это предлагаю при создании формы, на которой расположена сетка. Например:

procedure TForm1.FormCreate(Sender: TObject);
begin  
    TDrawGrid(DBGrid1).ScrollBars := ssBoth;
end;

Данный код включит горизонтальный и вертикальный скролы.

У DBGrid пропадает вертикальный Scroll.

На мой взгляд, пропадание вертикального скрола - самая распространенная проблема при работе с ДБГридом. Ситуация такая может возникнуть в следующем случае: 

DataSet возвращает не большой набор записей, который вменщается на один экран прокрутки. После параметр запроса/фильтрации меняется и записи уже нельзя просмотреть без полосы прокрутки, но она к сожалению не появилась. Решается это следующим образом:

procedure TForm1.FormCreate(Sender: TObject);
begin  
    TDrawGrid(DBGrid1).ScrollBars :=ssVertical;
end;

Убрать прокрутку у DBGrid

Иногда возникает потребность в том, чтобы скрыть вертикальный и горизонтальный скролл одновременно. Для этого служит следующий код:

procedure TForm1.FormCreate(Sender: TObject);
begin  
    TDrawGrid(DBGrid1).ScrollBars := ssNone;
end;

Мешает горизонтальная прокрутка?

Если в Вашей программе не к чему горизонтальная прогрутка, то Вы можете установить свойство ScrollBars в значение ssVertical или ssNone.

Какие значения может принимать свойство ScrollBars?

  • ssNone - без полос;
  • ssHorizontal - только горизонтальная полоса;
  • ssVertical - только вертикальная полоса;
  • ssBoth - обе полосы

Добавить комментарий



Обновить

Monday the 23rd. icq 486350790
Copyright 2012

©