Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Заголовки DBGrid'а


Автор: Mick Winder 15.10.2004, 14:23
Можно ли увеличить высоту поля заголовков таблицы DBGrid, чтобы в них разместился текст в две строки и как? stena.gif

Автор: VIY 15.10.2004, 14:45
Взято с сайта delphiwold.narod.ru
Заголовок TDBGrid в две строки

type
TAccessDBGrid = class(TDBGrid);

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
S1, S2: String;
begin
with TAccessDBGrid(DBGrid1) do
begin
// Increase title height
// Titelhohe vergrossern
RowHeights[0] := 32;

Canvas.Brush.Style := bsClear;

// Column Titles
// Spalten Titel setzen
case Column.Index of
0: begin
Column.Title.Caption := '';
S1 := 'Row 1';
S2 := 'Row 2';
end;
1: begin
Column.Title.Caption := '';
S1 := 'Row 1';
S2 := 'Row 2';
end;
end;
// write title:
// Titel ausgeben:
Canvas.TextOut(Rect.Left+2, 2, S1);
Canvas.TextOut(Rect.Left+2, 16, S2);
end;
end;

Автор: Mick Winder 15.10.2004, 15:43
Странно... Delphi7 объект TAccessDBGrid не распознает...
Добавлено @ 15:46
Заработало!!!! Спасибо!!!

Автор: Alex 15.10.2004, 18:06
Cкачай EhLib http://ehlib.com/RUS/default.htm и жить станет тебе на много легче.

Автор: MacTep 15.10.2004, 20:28
Цитата
Cкачай EhLib http://ehlib.com/RUS/default.htm и жить станет тебе на много легче.
согласен, сам пользуюсь этой библиотекой и действительно, жить стало намного проще. А в DBGrid'e даже элементраного скроллинга по таблице нет! Беда! А в EhLib'е все есть и даже с излишком! Классная библиотека!

Автор: Mick Winder 18.10.2004, 10:45
Попробовал установить EhLib, но вылетает ошибка
[Fatal Error] EhLib70.dpk(54): File not found: 'DBSumLst.dcu'
Чё делать?

Автор: Medved 18.10.2004, 10:59
Перепиши все файлы из папки Common в папку Delphi7 (туда где лежит EhLib70.dpk)

Автор: Mick Winder 18.10.2004, 11:48
Спасибо! Всё сделал, как надо... однако, когда я поместил на форму DBGridEh, соединил с DataSource, выдало сообщение об ошибке:
[Fatal Error] Repository.pas(12): File not found: 'DBGridEh.dcu'
Что за мука?

Автор: Alex 18.10.2004, 12:01
А пути к файлам приписал в Library path?

Автор: Mick Winder 18.10.2004, 12:03
Да, всё приписал, всё работает, только не пойму, как с помощью DBGridEh сделать заголовки в две строки?

Автор: Alex 18.10.2004, 12:06
Цитата(Mick @ 18.10.2004, 13:03)
Да, всё приписал, всё работает, только не пойму, как с помощью DBGridEh сделать заголовки в две строки?

Ну, вообще-то можно немного и хелп почитать. ;-)
Но я всегда это делаю установкой свойства грида UseMultiTitle:= True.

Автор: Mick Winder 18.10.2004, 12:12
Огромное спасибо!!! :yasno :hehe

Автор: Alex 18.10.2004, 12:16
не за что :)

Автор: Akella 18.10.2004, 12:39
Цитата
Но я всегда это делаю установкой свойства грида UseMultiTitle:= True.


я раньше тоже этим пользовался
затем "вылез глюк", точно не помню что произошло, помоему при большом кол-ве записей или при фильтрации, компонента не было видно при выполнении приложения, просто после запуска пропадал, день помучался, пока выставил UseMultiTitle:= False.
после этого начал использовать свойство TitleLines, это былов версии 3.30, сейчас уже стоит 3.50, может этот глюк уже исправлен.

Автор: Mick Winder 18.10.2004, 13:34
Цитата(dsergey @ 18.10.2004, 12:39)
Цитата
Но я всегда это делаю установкой свойства грида UseMultiTitle:= True.


я раньше тоже этим пользовался
затем "вылез глюк", точно не помню что произошло, помоему при большом кол-ве записей или при фильтрации, компонента не было видно при выполнении приложения, просто после запуска пропадал, день помучался, пока выставил UseMultiTitle:= False.
после этого начал использовать свойство TitleLines, это былов версии 3.30, сейчас уже стоит 3.50, может этот глюк уже исправлен.

Спасибо за совет! Для меня это очень важно! :)

Автор: Alex 18.10.2004, 14:08
Цитата(dsergey @ 18.10.2004, 13:39)
я раньше тоже этим пользовался
затем "вылез глюк", точно не помню что произошло, помоему при большом кол-ве записей или при фильтрации, компонента не было видно при выполнении приложения, просто после запуска пропадал, день помучался, пока выставил UseMultiTitle:= False.
после этого начал использовать свойство TitleLines, это былов версии 3.30, сейчас уже стоит 3.50, может этот глюк уже исправлен.

Не знаю все нормально работает

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)