| imho.ws |
![]() |
|
|
|
# 1 |
|
Member
Регистрация: 18.11.2002
Адрес: Россия, Красноярск
Пол: Male
Сообщения: 310
![]() |
Создание Lookup поля в RxMemoryData.
Такая проблема. Есть база interbase, в ней есть две таблицы.
Таблица 1 - в ней два поля FIRMA_ID (primary key) и FIRMA_NAME (строковое поле) Таблица 2 - в ней есть также поле FIRMA_ID (импортированное из первой таблицы) Я хочу вторую таблицу загнать в RxMemoryData и там создать lookup поле по FIRMA_ID и FIRMA_NAME из первой таблицы, вообщем чтобы отображалось соотвествующее FIRMA_NAME из первой таблицы. Всё это должно отобразиться в DBGrid. И вот чего-то у меня не получается, все поля из таблицы 2 выводятся нормально, lookup поле так же создаётся, но в нём отображается false. Но в выпадающем меню в DBGrid'e значения из FIRMA_NAME показываются, но не выбираются... Вообщем как-то на половину вроде работает, где косяк не могу найти... Помогите. procedure TForm1.Button3Click(Sender: TObject); begin DataModule2.RxMemoryData2.Active:=false; DataModule2.RxMemoryData1.LoadFromDataSet(DataModule2.IBDataSet1,0,lmC opy); DataModule2.RxMemoryData2.CopyStructure(DataModule2.IBDataSet2); with TStringField.Create(DataModule2.RxMemoryData2) do begin FieldName := 'FIRMA_NAME_0'; FieldKind:= fkLookup; DataSet := DataModule2.RxMemoryData2; Name := DataSet.Name + FieldName; KeyFields:= 'FIRMA_ID'; LookUpKeyFields:= 'FIRMA_ID'; LookUpDataset:= DataModule2.RxMemoryData1; LookUpResultField:= 'FIRMA_NAME'; DataModule2.RxMemoryData2.FieldDefs.Add(Name, ftString, 20, false); end; DataModule2.RxMemoryData2.LoadFromDataSet(DataModule2.IBDataSet2,0,lmA ppend); DBGrid2.Refresh; DataModule2.RxMemoryData2.Active:=true; end; P.S. я навичёк в этом деле, если чего непонятно написал, говорите напишу чего скажите. Очень нужно... Последний раз редактировалось MoHaX; 09.08.2004 в 12:33. |
|
|