使用ClientDataSet1.FieldDefs.AddFieldDef或ClientDataSet1.FieldDefs.Add或TIntegerFields.Create都可以建立内存数据表中的字段。
AddFieldDef:
with ClientDataSet1.FieldDefs.AddFieldDef do begin Name := 'ID'; DataType := ftInteger; end;
FieldDefs.Add:
with ClientDataSet1.FieldDefs do begin Add('ID', ftInteger); end;
TIntegerFields.Create:
with TIntegerField.Create(Self) do begin FieldName := 'ID'; // FieldKind 的默认值是 fkData DataSet := ClientDataSet1; end;
用以上三种方法之一建立好表中的字段后就可以调用ClientDataSet1.CreateDataSet建立内存表,然后调用ClientDataSet1.AppendData方法可能把数据添加到表中。之后就可以给DataSource,DBGrid。如果下次还要用到这个内存表,可以调用ClientDataSet1.SaveToFile方法保存,下次用ClientDataSet1.LoadFromFile方法载入就行了,非常方便。