> Kada u dizajntejmu prebacim frejm na formu,nije moguce dodati polja na simpledataset,pukne greku da se nemogu vrsiti dodavanja nad instancoom...
Polja u ClientDatasetu se mogu dodavati i za vreme dizajniranja forme, ako tebi ne uspeva onda ne poštuješ proceduru, prođi kroz help.
> ali polja moraju da budu napravljena,pa sam ja mislio ovim kodom da ih napravim,
Da li su ta polja na neki način vezana sa bazom podataka odnosno da li uopšte koristiš neku bazu podataka?
> jer sve sto sam na netu nasao radi po principu AddFieldDef,a kapiram da negde ih treba kreirati...cak me buni sto mi kod
> FieldDefs.Clear;
FieldsDef <> Fields, ako hoćeš da isprazniš polja onda ti treba Fields.Clear;
> NAdam se da sam malo pojasnio zbrkanu situaciju
Sam si poslao kod (i to dva načina) koji radi u prvoj poruci da li si ga uopšte probao? Evo još jednom:
Code:
Field:=TStringField.Create(Table1);
with Field do
begin
FieldName:='New Field';
Calculated:=True;
DataSet:=Table1;
end;
Ako već praviš polja onda to možeš raditi direktno u datasetu, ne moraš ići preko posrednika FieldDefs. Ali ako ipak hoćeš može i to, opet napraviš polja u FieldDefs i pozoveš CreateField ili (primer iz helpa):
Code:
with ClientDataSet1 do
begin
with FieldDefs.AddFieldDef do
begin
DataType := ftInteger;
Name := 'Field1';
end;
with FieldDefs.AddFieldDef do
begin
DataType := ftString;
Size := 10;
Name := 'Field2';
end;
with IndexDefs.AddIndexDef do
begin
Fields := 'Field1';
Name := 'IntIndex';
end;
CreateDataSet;
end;