Форум: "Базы";
Текущий архив: 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