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