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

Вниз

StringGrid и DBGrid   Найти похожие ветки 

 
Vaddya ©   (2003-01-17 00:04) [0]

Попросили помочь написать что-то типа телефонного справочника. Данные выводятся в DBGrid, а для сортировки по полям используется StringGrid. Я уже почти все сделал, но никак не могу добиться изменения размера ячеек StringGrida при изменении размера ячеек DBGrida. Как это сделать?
У меня есть некоторые соображения. Для одновременного скролла я перекрыл оконную процедуру DBGrida и после WM_HSCROLL посылаю его и StringGridy. Но в случае изменения размера не получается определить нужное сообщение и его параметры. Или тут не по этому принципу надо?


 
mrcat ©   (2003-01-17 00:19) [1]

Vaddya © (17.01.03 00:04)
...
Данные выводятся в DBGrid, а для сортировки по полям используется StringGrid.
...


по каким соображениям используете StringGrid для сортировки?
Почему не пользуетесь сортировкой средствами БД? Например, при формировании SQL запроса?


 
Vaddya ©   (2003-01-17 11:43) [2]

Расположение идет такое:

------------------------------------------
| кл | | | | StringGrid
------------------------------------------
| Фамилия| Тел. | Поле3 | П4 | Заголовок DBGrid
------------------------------------------
| Климов | 347192 | | |
| Кличко | 469806 | | | Данные справочника
| Клыков | 235678 | | |
------------------------------------------

И в случае изменения текста в одной из ячеек StringGrid идет ФИЛЬТРАЦИЯ (я написал сортировка? - извините, описка) по соответствующему полю. Все работает, но вот в случае изменения размера колонок DBGrida весьма разумно было бы менять соответствующие колонки StringGrida. Что и требуется.


 
dolmat ©   (2003-01-17 11:56) [3]

Выбрось DBGrid и StringGrid.
Поставь QuantumGrid если такового нет кину но под d5


 
mrcat ©   (2003-01-17 12:03) [4]

Vaddya © (17.01.03 11:43)
...
и после WM_HSCROLL посылаю его и StringGridy
...


и вчем тут проблема? Посылаете стандартный TMessage и при получении берете оконные параметры DBGrid... так?


 
Bucho   (2003-01-17 14:44) [5]

Используй RXDBGrid, там же можешь и сортировать и что угодно


 
Vaddya ©   (2003-01-17 20:12) [6]

>mrcat

Так вот мне и надо знать какое сообщение нужно отловить у DBGrida и какое нужно после этого послать StringGridy. Именно это. То есть, как определить, к примеру, что именно третий столбец был сдвинут влево на 5 пикселов и сдвинуть также 3 столбец на 5 пикселов влево у StringGrida?


 
Vaddya ©   (2003-01-21 00:43) [7]

Не знаю, может кому пригодится. Я делаю эту программу по образцу другого телефонного справочника, так вот после долгих дней поиска решил изучить, как это делается в той программе. Скачал DeDe, просмотрел. Оказалось, что обрабатывается событие DBGrid.OnDrawColumnCell. В своей программе я написал так:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
StringGrid1.ColWidths[DataCol] := Column.Width;
end;


Оказывается все так просто. По-моему, не оптимально, но уж лучше так, чем никак.



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
1-96705
xxxCrazyManxxx
2003-01-22 07:29
2003.01.30
help onClick


14-97020
Temp
2003-01-13 10:18
2003.01.30
free proxy


3-96563
_Barex_
2003-01-11 22:07
2003.01.30
Ошибка Unable to Load libmysqlclient.so уже изрядно утомила.


3-96607
chum
2003-01-13 08:58
2003.01.30
Функция BDE: DbiDoRestructure


3-96579
Mel
2003-01-11 08:07
2003.01.30
Открытие БД на Дос-машине в сети