IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Создание Lookup поля в RxMemoryData. (https://www.imho.ws/showthread.php?t=64613)

MoHaX 20.07.2004 11:52

Создание 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. я навичёк в этом деле, если чего непонятно написал, говорите напишу чего скажите. Очень нужно...


Часовой пояс GMT +4, время: 00:13.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.