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

Вниз

Нужно определить фиксированную часть в <B>TDBGrid </B>   Найти похожие ветки 

 
andrey__   (2003-05-27 15:25) [0]

Подскажите. Нужно определить фиксированную часть в TDBGrid

Как сделать нужную колонку фиксированой так чтобы при прокрутке она не исчезала (на подобие свойства FixedCols у компонента CustomGrid )


 
andrey__   (2003-05-27 15:51) [1]

Я немного уточню. Мне нужно , чтобы крайняя левая колонка оставалась на месте при горизонтальной прокрутке.


 
Sandman25 ©   (2003-05-27 16:10) [2]

FixedCol является protected.
Возможно, надо объявить
TMyDBGrid=class(TDBGrid)
и вызвать
TMyDBGrid(DBGrid1).FixedCols := 1


 
andrey__   (2003-05-28 11:48) [3]

>TMyDBGrid(DBGrid1).FixedCols := 1

только мне пришлось написать
TMyDBGrid(DBGrid1).FixedCols := 2;
почему?

И еще подскажите как избавится от следующего: когда я делаю активной ячейку из фиксированого столбца у меня рябом появляется этот же столбец но уже в виде нефиксированого(т.е. будет два одинаковых 1-й фикс. 2-й нефикс. одинаковых)


 
andrey__   (2003-05-28 15:00) [4]

Подскажите как избавиться от глюка <когда я делаю активной ячейку из фиксированого столбца у меня рябом появляется этот же столбец но уже в виде нефиксированого(т.е. будет два одинаковых 1-й фикс. 2-й нефикс. одинаковых)>


 
гончий   (2003-05-28 15:18) [5]

Первый FixedCol - это индикатор, если уберешь его в свойствах, тогда будет 1, а не 2 :)


 
andrey__   (2003-05-28 15:32) [6]

Что делать с глюком?
Может запретить пользователю попадать в эту колонку. Как это сделать?
Или как отследить, что пользователь пытается активизировать ячейку зафиксированного столбца и отработать событие...


 
Stas ©   (2003-05-28 15:39) [7]

Поставь на колонку READONLY:=TRUE


 
andrey__   (2003-05-28 16:13) [8]

>Поставь на колонку READONLY:=TRUE
ставил не помогло.


 
andrey__   (2003-05-29 09:30) [9]

подскажите еще.


 
andrey__   (2003-05-29 13:44) [10]

Уважаемые ... подскажите!


 
NAlexey ©   (2003-05-29 14:29) [11]

>Уважаемые ... подскажите!
Чё подсказать то? Опиши как 4-х летнему.


 
andrey__   (2003-05-29 15:29) [12]

Делаю следующее

TMyDBGrid=class(TDBGrid)

TMyDBGrid(DBGrid1).FixedCols := 1

когда я делаю активной ячейку из фиксированого столбца у меня рябом появляется этот же столбец но уже в виде нефиксированого(т.е. будет два 1-й фикс. 2-й нефикс. одинаковых). Но при горизонтальной прокрутке нефикс. исчезает и опять появляется при активизации любой другой ячейки (не фикс.) а потом активизации ячейки из фикчир столбца.



 
NAlexey ©   (2003-05-29 16:47) [13]

Это понятно, но ты не делаешь конкретных выводов. Если тебе надо просто не обрабатывать клик по фиксированному столбцу, сделай так: доберись до события WM_LBUTTONDOWN(уж не знаю как ты это сделаешь, на твое усмотрение), найди ячейку на которую клик(вернее номер столбца), если это фиксированный - не обрабатывать. Я по быстрому накидал так:

procedure TForm1.MyOnMessage(var Msg: TMsg; var Handled: Boolean);
var
P: TPoint;
Cell: TGridCoord;
H: HWND;
Ctl: TWinControl;
begin
if Msg.message = WM_LBUTTONDOWN then
begin
GetCursorPos(P);
H := WindowFromPoint(P);
if H <> 0 then
begin
Ctl := FindControl(H);
if Assigned(Ctl) then
if (Ctl is TCustomDBGrid) and (Ctl = DBGrid1) then
begin
P := DBGrid1.ScreenToClient(P);
Cell := DBGrid1.MouseCoord(P.X, P.Y);
if Cell.X < 2 then Handled := True;
end;
end;
end;
end;


 
NAlexey ©   (2003-05-29 16:57) [14]

А вообще FixedCols противоестественно для DBGrid, уходи на String или DrawGrid.


 
sniknik ©   (2003-05-29 17:08) [15]

NAlexey © (29.05.03 16:57)
> А вообще FixedCols противоестественно для DBGrid, уходи на String или DrawGrid.
не совсем, есть такие Rx... RxDBGrid вполне естественно это обрабатывают, и наследуют именно DBGrid (свойство FixedCols в паблик а не в протектед). кстати можно посмотреть как там сделано, но советовать не могу сам их не использую и фиксированных полей не делал (не было нужды).



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

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

Наверх




Память: 0.5 MB
Время: 0.016 c
7-84803
fifo
2003-04-18 17:31
2003.06.26
Как недать приложению нарисоваться на экране


14-84623
Vulko
2003-06-06 19:57
2003.06.26
Вам говорит о чем нибудь...


1-84294
Duby
2003-06-15 12:31
2003.06.26
Запись из StringGrid а


1-84345
Кен
2003-06-09 05:37
2003.06.26
Что изменить в Дельфи, чтобы она сохраняла формы в dfm-файлы


1-84287
Hog
2003-06-14 23:24
2003.06.26
Перересовка отдельного окна.