Главная страница
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.013 c
1-96645
Сатир
2003-01-19 20:25
2003.01.30
Как рисовать по картинке?


1-96798
Zn
2003-01-20 15:21
2003.01.30
Русская версия Delphi6 - что в ней русского?


3-96605
qwerty2
2003-01-13 17:41
2003.01.30
Странное поведение компонента DBGrid


3-96532
qwerty2
2003-01-14 23:46
2003.01.30
Изменить текст в DBLookupComboBox


3-96626
bkv
2003-01-14 10:52
2003.01.30
Инсталяция BDE