Главная страница
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.015 c
3-96594
AM
2003-01-13 14:14
2003.01.30
Что это за exception? Глюк в версии DBE или...


6-96938
Tenrai
2002-12-02 02:44
2003.01.30
Как реализовать пинг удаленного адреса....


9-96505
Lamer86
2002-07-29 10:19
2003.01.30
Sprites в DelphiX


14-97000
NoNik
2003-01-08 13:21
2003.01.30
БОДУН


3-96560
Big_Rom
2003-01-11 13:05
2003.01.30
вопрос про firebird & Yaffil