Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TDBCtrlGrid - как создавать динамически? [D7, WinXP]


Леван ©   (2013-09-11 09:58:00) 

Привет мастерам! (давно не беспокоил)
Есть такой компонент - TDBCtrlGrid. Если разместить его на формуб привязать к базе и разместить на первом панеле несколко tDbedit, привязанных к полям базы, отобрахжения полей дублируются на всех панелях для последователных записей dataset. Если создавать  TDBCtrlGrid динамически,
определить rowcount/colcount и создавать tDbedit-и (тоже динамически), определив Parent :=grid, то эти поля появляются только на первом панеле (не дублируются).
Вопрос: какой property управляет дублированием, т.е. как автоматически продублировать последовательные записы на панелях?
Спасибо


OleGGa   (2013-11-23 21:25:00) [1]

О, спасибо большое
____________________
http://www.waycargo.ru/pagearticle/kitai/


icWasya   (2013-09-13 12:05:00) [2]

procedure TControl.SetParent(AParent: TWinControl);
begin
 if FParent <> AParent then
 begin
   if AParent = Self then
     raise EInvalidOperation.CreateRes(@SControlParentSetToSelf);
   if FParent <> nil then
     FParent.RemoveControl(Self);
   if AParent <> nil then
   begin
     AParent.InsertControl(Self);//<<===----- вот
     UpdateAnchorRules;//<<==------ но затем вот это
   end;
 end;
end;


[ВладОшин]   (2013-09-12 11:27:00) [3]

нет.

> dbedt2FFF.parent:=dbcg2.controls[0];

это рассово вернее :)


Леван   (2013-09-12 11:05:00) [4]

Спасибо!
Я нашел другое решение ( http://www.delphigroups.info/2/e1/35614.html):
dbedt2FFF.parent:=dbcg2.controls[0];
Наверное, эти решения эквивалентны!


[ВладОшин]   (2013-09-11 16:49:00) [5]

TDBCG = class( TDBCtrlGrid );

dbcg2 := TDBCtrlGrid.Create(Form1);
Form1.InsertControl(dbcg2);
dbcg2.Left := 200;
dbedt2FFF := TDBEdit.Create(dbcg2);
dbedt2FFF.Name := 'dbedt2FFF';
TDBCG(dbcg2).Panel.InsertControl(dbedt2FFF);
dbedt2FFF.Left := 55;
dbcg2.DataSource := ds1;
dbedt2FFF.DataSource := ds1;
dbedt2FFF.DataField := 'FFF';


Наверх

Титульная страница Поиск, карта сайта Написать письмо