无法将计算字段添加到clientdataset

时间:2017-09-06 10:41:36

标签: delphi runtime field add tclientdataset

我正在尝试使用下面的代码将计算字段添加到使用fieldDefs.add创建的现有数据集中,并在多个站点上找到许多变体,包括堆栈溢出。

fieldDefs行或fieldDefs行创建的dataSetFieldDefs.count更新时会丢失。

Fields.counts保持不变但未保存到XML文件。

没有例外。

有谁知道这里发生了什么? 感谢

MYclientDataSet.CreateDataSet;
MYclientDataSet.open;
MYclientDataSet.FieldDefs.Update;
MYclientDataSet.Active := False;
for i := 0 to MYclientDataSet.FieldDefs.Count - 1 do
    MYclientDataSet.FieldDefs[i].CreateField(MYclientDataSet);
fld := TStringField.Create(MYclientDataSet);
with fld do begin
     FieldName := 'PartSummary';
     FieldKind := fkCalculated;
     Calculated := True;
     Name := cds.Name + FieldName;
     DataSet := MYclientDataSet;
     MYclientDataSet.FieldDefs.Add('PartSummary', ftString, 30, false);
     MYclientDataSet.FieldDefs.update;
end;
MYclientDataSet.active := true;
MYclientDataSet.open;
MYclientDataSet.edit;

0 个答案:

没有答案