Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

отображение DBGrid при пустом датасете [D7]


Nike ©   (2007-04-13 12:27:00) 

Здравствуйте! Подскажите, как можно заставить ДБГрид не показывать пустую строку, если в источнике данных нет ни одной записи


MsGuns   (2007-04-19 11:14:00) [1]

>Германн ©   (19.04.07 01:36) [8]
>Зачем в данном случае менять стандартное поведение DBGrid? Из прихоти только?

Однако можно ничего не меняя в СТАНДАРТНОМ поведении TDBGrid

;)


Германн   (2007-04-19 01:36:00) [2]


> MsGuns ©   (18.04.07 22:12) [7]
>
> Однако можна ;)
>

Однако зачем?
Зачем в данном случае менять стандартное поведение DBGrid? Из прихоти только?


MsGuns   (2007-04-18 22:12:00) [3]

Однако можна ;)


sniknik   (2007-04-18 10:52:00) [4]

> А sniknik привёл для MyDBGrid.
так я и привел это с такой оговоркой в [2].

... хотя, можно конечно еше раз перенаследоваться назад на "оригинальное" название, но это уже будет не оговорка, а подтасовка, все же понимают про какой грид речь, дело не в названии, а в том такой возможности нет.


Johnmen   (2007-04-18 09:10:00) [5]


> Johnmen © , не верю.

А это не вопрос веры.

>  как можно заставить ДБГрид не показывать пустую строку

Повторю - никак. А sniknik привёл для MyDBGrid.


Nike   (2007-04-18 08:01:00) [6]

Johnmen © , не верю.

Спасибо, sniknik © То что надо


sniknik   (2007-04-13 13:31:00) [7]

вот этого вроде достаточно
TMyDBGrid = class(TDBGrid)
 protected
   procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
end;

procedure TMyDBGrid.DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);
begin
 if DataLink.Active then begin  
   RowHeights[0]:= DefaultRowHeight;
   RowHeights[1]:= DefaultRowHeight;
 end else begin
   RowHeights[0]:= -1;
   RowHeights[1]:= -1;
   SetScrollRange(Handle, SB_VERT, 0, 0, False);
 end;

 inherited;
end;

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


sniknik   (2007-04-13 13:22:00) [8]

если только не отнаследоваться и не переписать отрисовку. (в принципе не сложно)


Johnmen   (2007-04-13 13:20:00) [9]

Никак.


Наверх

Титульная страница Поиск, карта сайта Написать письмо