Главная страница
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.026 c
14-84712
mrcat
2003-06-05 13:04
2003.06.26
Zlib.pas в Delphi 6


1-84195
JS
2003-06-12 11:50
2003.06.26
Выбор директории


1-84323
[BAD]Angel
2003-06-08 20:31
2003.06.26
Массив случайных не повторяющихся чисел


3-84023
adogg
2003-05-30 12:13
2003.06.26
Обновление данных


9-83850
Igor1984
2003-01-12 19:19
2003.06.26
Перекрытие спрайтов