Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Вниз

Нужно определить фиксированную часть в <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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.026 c
1-84255
Muskat
2003-06-10 12:25
2003.06.26
dll – string…


14-84687
Fareader
2003-06-03 19:31
2003.06.26
Работа в Днепропетровске


14-84583
VolanD
2003-06-08 15:12
2003.06.26
Win2000


1-84403
adogg
2003-06-09 15:55
2003.06.26
StringGrid


1-84184
Doc
2003-06-12 08:10
2003.06.26
Указатель String...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский