Ajouter une colonne à un ClientDataSet déjà créé
Je fais ca et n'ayant trouvé l'inverse de CreateDataSet je me contente d'un Fields.Clear.
Cela foire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| procedure TForm1.Button1Click(Sender: TObject);
var
AField: TIntegerField;
begin
AField := TIntegerField.Create(ClientDataSet1);
AField.Name := 'Field1';
AField.FieldName := 'Field1';
AField.DataSet := ClientDataSet1;
ClientDataSet1.CreateDataSet;
ClientDataSet1.Close;
ClientDataSet1.Fields.Clear;
AField := TIntegerField.Create(ClientDataSet1);
AField.Name := 'Field1';
AField.FieldName := 'Field1';
AField.DataSet := ClientDataSet1;
AField := TIntegerField.Create(ClientDataSet1);
AField.Name := 'Field2';
AField.FieldName := 'Field2';
AField.DataSet := ClientDataSet1;
ClientDataSet1.CreateDataSet; // <- c est là ou ca foire
ClientDataSet1.Open;
ClientDataSet1.Insert;
ClientDataSet1.Fields[0].Value := 4;
ClientDataSet1.Insert;
ClientDataSet1.Fields[0].Value := 5;
end; |
Avez vous une idée ?