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

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

программное создание ClientDataSet что еще я упустил?


Sakipiel ©   (2014-06-12 05:28:00) 


Constructor TStoreClass.Create(AOwner: TComponent; pProgDIR: String);
begin

 fAOwner := AOwner;
 FormAndControlList := TClientDataSet.Create(AOwner);
 FormAndControlList.Name := 'FormAndControlList';
 FormAndControlSource := TDataSource.Create(AOwner);
 FormAndControlSource.DataSet := FormAndControlList;

 FormAndControlList.FieldDefs.Add('Parent', DB.ftString, 50, false);
 FormAndControlList.FieldDefs.Add('Name', DB.ftString, 50, true);
 // FormAndControlList.FieldDefs.Add('CompID',DB.ftString,50,false);
 FormAndControlList.FieldDefs.Add('_Index', DB.ftInteger, 0, true);

 //FormAndControlList.IndexName := '_Index';

 PropertiesList := TClientDataSet.Create(AOwner);
 PropertiesList.Name := 'PropertiesList';
 PropertiesSource := TDataSource.Create(AOwner);
 PropertiesSource.DataSet := PropertiesList;

 PropertiesList.FieldDefs.Add('PropertyName', DB.ftString, 50, true);
 PropertiesList.FieldDefs.Add('PropertyValue', DB.ftString, 100, false);
 PropertiesList.FieldDefs.Add('PropertyDataType', DB.ftString, 50, false);
 PropertiesList.FieldDefs.Add('Number', DB.ftInteger, 0, true);
 PropertiesList.FieldDefs.Add('AnyValue', DB.ftBlob, 0, false);
 PropertiesList.FieldDefs.Add('_Index', DB.ftInteger, 0, true);

 PropertiesList.MasterFields     := '_Index';
 PropertiesList.IndexFieldNames  := '_Index';
 //PropertiesList.IndexName        := 'Number';
 //FormAndControlList.Open;
 //PropertiesList.open;
 FormAndControlList.CreateDataSet;
 PropertiesList.CreateDataSet;
 ProgDIR := pProgDIR;
 LoadAll;
end;


предполагалось, что PropertiesList связан с FormAndControlList по полю _Index и подчинен ему. Но на деле, какую строку в FormAndControlList я бы не выбрал, в PropertiesList мне доступные все равно абсолютно любые строки с любым значением поля  '_Index', почему? т.е. по идее должна быть автофильтрация по полю родительской таблицы, но ее не происходит (


Sakipiel   (2014-06-12 06:02:00) [1]

PropertiesList.MasterSource     := FormAndControlSource;


Наверх

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