Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-96679
Mihas
2003-01-21 19:02
2003.01.30
Как распечатать элементы формы


8-96886
Иришка
2002-10-16 13:08
2003.01.30
простенький вопросец, а ответ на него мне может очень помочь


14-96976
Ixion
2003-01-12 01:04
2003.01.30
Есть ли Lazarus для Win32 ?


7-97050
James7
2002-11-08 11:21
2003.01.30
Программирование PCI и АЦП.................


1-96788
Alex
2003-01-20 15:26
2003.01.30
Размещение компонентов Align<Bottom>




   Наверх