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

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

DBGrid иTitle [D6, D7, Access]


roadrunner ©   (2003-02-17 09:56:00) 

Здравствуйте все. Помогите кто может советом. Такой вопрос. На форме используется DBGrid. На OnTitleCLickделаю сортировку по столбцу. А как можно сделать чтобы в заголовке кроме заголовка столбца появилась и стрелочка, которая показывала бы направление сортировки - по убыв. или по возр.


sniknik   (2003-02-17 10:57:00) [1]

переопредели метод грида и рисуй сам.

TMyDBGrid = class(TDBGrid)
//это то что тебе нужно
procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
//------
procedure WMMouseWheel(var Message: TWMMouseWheel); message WM_MOUSEWHEEL;
Private
AcsDescImages: TImageList;
DrawBitmap: TBitmap;
procedure WriteText(ACanvas: TCanvas; ARect: TRect; DX, DY: Integer; const Text: string; Alignment: TAlignment; ARightToLeft: Boolean);
public
SortedField: integer;
SortedOrder: integer;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ClearOrder;
end;


рисовать в методе

inherited DrawCell(ACol, ARow, ARect, AState);
if (gdFixed in AState) and (ACol = SortedField) and (ARect.Left < ARect.Right-10) then begin
if SortedOrder = 0 then AcsDescImages.Draw(Canvas, ARect.Right-10, ARect.Top+6, 0, True)
else AcsDescImages.Draw(Canvas, ARect.Right-10, ARect.Top+6, 1, True);
end;


Жук   (2003-02-17 10:54:00) [2]

Добавьте её в Caption титла.


Наверх

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