Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];

Вниз

Двухстрочный заголовок столбца в DBGrid   Найти похожие ветки 

 
BBCHa ©   (2005-07-20 15:35) [0]

Народ, подскажите, можно ли как то осуществить двухстрочный заголовок столбца в DBGrid???


 
Big Joe ©   (2005-07-20 15:56) [1]

Я протестировал данный код и он отлично работал. Небольшая доводка все-же нужна (обработка blob-полей, обработка ошибок и пр.), но это не сложно.

unit Dbmygrid;

interface

uses

 SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
 Forms, Dialogs, DB, DBTables, StdCtrls, ExtCtrls, Grids, DBGrids;

type

 TMultiLineDBGrid = class(TDBGrid)
 private
   FLinesPerRow: Integer;
   procedure DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField;
     State: TGridDrawState);
   procedure LayoutChanged; override;
   procedure SetLinesPerRow(ALinesPerRow: Integer);
 public
   property LinesPerRow: Integer read FLinesPerRow write SetLinesPerRow default
     1;
   constructor Create(AOwner: TComponent); override;
 end;

implementation

constructor TMultiLineDBGrid.Create(AOwner: TComponent);
begin

 inherited Create(AOwner);
 FLinesPerRow := 1;
 OnDrawDataCell := DrawDataCell;
end;

procedure TMultiLineDBGrid.LayOutChanged;
begin

 inherited LayOutChanged;
 DefaultRowHeight := DefaultRowHeight * LinesPerRow;
end;

procedure TMultiLineDBGrid.DrawDataCell(Sender: TObject; const Rect: TRect;
 Field: TField; State: TGridDrawState);
var

 Format: Word;
 C: array[0..255] of Char;
begin

 if LinesPerRow = 1 then
   Format := DT_SINGLELINE or DT_LEFT
 else
   Format := DT_LEFT or DT_WORDBREAK;

 Canvas.FillRect(Rect);

 StrPCopy(C, Field.AsString);
 WinProcs.DrawText(Canvas.Handle, C, StrLen(C), Rect, Format);
end;

procedure TMultiLineDBGrid.SetLinesPerRow(ALinesPerRow: Integer);
begin

 if ALinesPerRow <> FLinesPerRow then
 begin
   FLinesPerRow := ALinesPerRow;
   LayoutChanged;
 end;
end;

end.


 
TQuery   (2005-07-20 16:03) [2]

Сходи на DelphiKingDom, там най дешь все по DBGrid


 
rosl   (2005-07-21 01:36) [3]

скачай EhLib, там grid со всевозможными наворотами (в том числе и многострочными заголовками) там же есть пример http://ehlib.com/RUS/downloads.htm


 
rosl   (2005-07-21 01:47) [4]

подожди, только что посмотрел, там выложена версия 3.6 - она только при запущенном delphi работает. Поищи версию пониже - 3.5 например, если хочешь вышлю


 
ANB ©   (2005-07-21 08:21) [5]


> rosl   (21.07.05 01:36) [3]
- дык это просто перенос текста включен. А реально многострочные (с объединением групп полей) - это квантум грид нужно юзать. Но он здоровый, тормознутый и писать с ним не удобно.


 
Amoeba ©   (2005-07-21 18:16) [6]


> rosl   (21.07.05 01:47) [4]
> подожди, только что посмотрел, там выложена версия 3.6 -
> она только при запущенном delphi работает. Поищи версию
> пониже - 3.5 например, если хочешь вышлю

Не надо наводить тень на плетень. Сперва сам прочитай то, что там чуть ниже написано РУССКИМИ буквами. И не надо искать 3.5.
http://ehlib.com/RUS/downloads.htm


 
Val ©   (2005-07-21 18:20) [7]

>[5] ANB ©   (21.07.05 08:21)
В Eh есть многострочные заголовки, с объединением - | в кэпшене колонки.


 
ANB ©   (2005-07-21 19:09) [8]


> Val ©   (21.07.05 18:20) [7]

Ща попробую, а что включить еще надо ?


 
ANB ©   (2005-07-21 19:17) [9]

Попробовал - обалдеть, все работает. EhLib рулит !!!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
1-1123690794
Bios_
2005-08-10 20:19
2005.09.04
Изменение содержимого каталога


11-1106211124
sldragon
2005-01-20 11:52
2005.09.04
Height в CombBox


2-1123259827
MAVr
2005-08-05 20:37
2005.09.04
Cмена атрибутов файлов


5-1095460856
Чайник
2004-09-18 02:40
2005.09.04
Не понял! Цвета палитры виндовс (типа clBtnShadow и т.д)


4-1121293552
zero-g
2005-07-14 02:25
2005.09.04
Создание ярлыка в меню пуск-автозагрузка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский