Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизКак динамически добавить поле типа Lookup в TClientDataSet? Найти похожие ветки
← →
serg128 (2004-06-08 12:57) [0]Т.е. я делаю следующее:
TStringField *fld = new TStringField(Owner);
fld->FieldKind = fkLookup;
fld->Size = 200;
fld->FieldName = "ANALIT";
fld->KeyFields = "ID";
fld->LookupDataSet = ld;
fld->LookupKeyFields = "SIID";
fld->LookupResultField = "ANAL";
fld->Name = "ldsAnalit";
fld->DisplayWidth = 200;
fld->DataSet = lds;
lds = new TLocalDataSet(NULL, frmMain->Connection, sSQL, 20);
lds->Fields->Add(fld);
lds->FieldDefs->Update();
lds->Open();
Потом, при проходе по DBGrid вылетает сообщение типа "Field ANALIT has no DataSet"? Помогите плиз, что я неправильно сделал?
← →
Clickmaker © (2004-06-08 13:35) [1]
> fld->DataSet = lds;
>
> lds = new TLocalDataSet(NULL, frmMain->Connection, sSQL,
> 20);
Поменяй местами эти строки
И вот это
lds->Fields->Add(fld);
lds->FieldDefs->Update();
здесь не нужно, достаточно
fld->DataSet = lds;
← →
serg128 (2004-06-08 13:57) [2]> fld->KeyFields = "ID";
Когда я открываю lds, он пишет, что поле ID не найдено, мне нужно наверно его как-то добавить, но как?
← →
Шаман (2004-06-08 14:26) [3]Самое странное также :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c