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

Вниз

Помещение компонентов в DBGrid   Найти похожие ветки 

 
DimMih ©   (2005-12-02 12:04) [0]

Помогите разобраться. Необходимо поместить в DBGrid DBComboBox, вот код:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
 Field: TField; State: TGridDrawState);
begin
 if (gdFocused in State) then
 begin
   if (Field.FieldName = DBComboBox1.DataField) then
   begin
     DBComboBox1.Left := Rect.Left + DBGrid1.Left;
     DBComboBox1.Top := Rect.Top + DBGrid1.top;
     DBComboBox1.Width := Rect.Right - Rect.Left;
     DBComboBox1.Visible := True;
   end;
 end;
end;

Работает только тогда, когда DBGrid1.Columns.State:=csDefault, т.е. при этом подгружаются все поля из таблицы. Мне не нужно отображать все поля, но при этом DBComboBox не будет отображаться в DBGrid........


 
ANB ©   (2005-12-02 12:10) [1]

1. Комбобокс пихать в грид смысла нету - проще локаповое поле завести - тогда он сам там появится.
2. Если уж очень охота ручками его делать - то лучше в OnDrawColumnCell.
3. Вешать это все на обработчики вообще не круто, т.к. если понадобится еще один такой же грид, то придется еще раз все заново делать.


 
Dimmih ©   (2005-12-02 12:19) [2]

Сделал через OnDrawColumnCell. Спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.058 c
2-1134549152
Daria
2005-12-14 11:32
2006.01.01
dbcombobox


8-1122298305
Renegat
2005-07-25 17:31
2006.01.01
Конрастность черно-белых изоб.


14-1134099061
AndreyM
2005-12-09 06:31
2006.01.01
Почему Microsoft отказалась от Паскаля?


2-1134477291
Postscriptum
2005-12-13 15:34
2006.01.01
Обновление приложения


4-1130518758
Ландграф мобил=)
2005-10-28 20:59
2006.01.01
Динамическое создание процедуры