![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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';