我正在尝试使用下面的代码将计算字段添加到使用fieldDefs.add
创建的现有数据集中,并在多个站点上找到许多变体,包括堆栈溢出。
但fieldDefs
行或fieldDefs
行创建的dataSet
在FieldDefs.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;