0
J'ai créé un composant dynamique TClientDataSet et essayé de déclencher l'événement OnCalcFields .... cela n'a pas fonctionné. Le code ressemble à ceci ...impossible de déclencher un événement pour le composant créé dynamiquement
table := TClientDataset.Create(Application);
table.OnCalcFields := tableCalcFields; //where 'tablecalcfields' is the method defined by me.
table.FieldDefs := Query1.FieldDefs;
table.CreateDataSet;
table.Open;
Query1.First;
while not Query1.Eof do
begin
table.Append;
for I := 0 to Query1.FieldList.Count - 1 do
begin
table.FieldValues[table.FieldList[i].DisplayName] :=
Query1.FieldValues[Query1.FieldList[i].DisplayName];
end;
Query1.next;
table.Post;
end;
DataSource2.DataSet := table;
table.First;
après cela, je modifier les informations sur le DBGrid (datasource2 est setted à elle), à ce moment l'événement doit tirer (si vous disposez d'un composant de temps de conception, il sera)
Merci pour les réponses, Vijay
Est-ce tout ce que vous faites? OnCalcFields ne sera pas lancé tant que vous n'aurez pas positionné l'ensemble de données sur un enregistrement dans le tableau ... –
Désolé pour le code moins, j'ai édité mon post. –
Je ne sais pas si c'est lié, mais il me semble étrange de créer l'ensemble de données avec le propriétaire Application. Normalement, ce serait une forme ou un datamodule. –