Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.13;
Скачать: CL | DM;

Вниз

Изменение стиля поведения TDBGrid   Найти похожие ветки 

 
Mr. D.   (2007-04-11 18:46) [0]

Нужно запретить DBGrid возможность перемещения столбцов между собой. У него есть опция dgColumnResize, но при ее отключении теряется возможность также изменять ширину столбцов, а вот это хотелось бы оставить.

Плюс при удержании левой кнопкой мыши над заголовком столбца, слева прорисовывается вертикальная полоска, помогающая при перемещении столбцов. Но она мне тоже не нужна..

Как бы настроить поведение грида нужным образом?

P.S. И побочный вопрос, при двойном клике в соответствующем событии как определить, что этот двойной клик произошел по заголовку столбца, а не по самим данным?


 
MsGuns ©   (2007-04-11 20:47) [1]

Изучайте события грида. До изнеможения


 
Mr. D.   (2007-04-11 21:26) [2]

А поконкретнее что, так сложно написать?

Там есть событие, возникающее при перетаскивании столбцов, но оно постфактум и ничего отменить нельзя. А тем более запретить само движение.

Вы бы сами сначала изучили, а потом так отвечали...


 
{RASkov}   (2007-04-11 21:33) [3]

type TMyGrid = class(TCustomGrid);
procedure TForm.ButtonClick(Sender: TObject);
begin
 TMyGrid(DBGrid).Options:=TMyGrid(DBGrid).Options-[goColMoving];
end;


 
Чапаев ©   (2007-04-11 21:41) [4]

> [3] {RASkov}   (11.04.07 21:33)
У, шаман... Только в этом примере опции надо в паблик вынести.


 
{RASkov}   (2007-04-12 00:52) [5]

> Только в этом примере опции надо в паблик вынести

Зачем? Один фик DBGrid к "новому" классу приводить... или я не о том совсем, сорри.


 
RDen ©   (2007-04-12 07:21) [6]

procedure TForm1.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
 ToIndex: Integer);
begin
 TDBGrid(Sender).Columns[ToIndex].Index := FromIndex;
end;


 
Чапаев ©   (2007-04-12 10:10) [7]

> [5] {RASkov}   (12.04.07 00:52)
Если просто type TMyGrid = class(TCustomGrid);, свойство Options останется private и до него просто не доберёшься. Кстати, мне лень было класс переобъявлять, я привёл к стринггриду. Работало! ;-)



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

Текущий архив: 2007.05.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
4-1165324335
Viper_Omsk
2006-12-05 16:12
2007.05.13
Перехват запроса отправки на печать


3-1172123744
Fantasy
2007-02-22 08:55
2007.05.13
Закладка InterBase Admin не видна


2-1177277659
***mikle***
2007-04-23 01:34
2007.05.13
Как посоветуете реализовать


2-1177487406
Neket
2007-04-25 11:50
2007.05.13
Скопировать строки в Excel


4-1166091397
niko
2006-12-14 13:16
2007.05.13
Получение хендла подгружаемой dll из неё же в С