initFieldDefsFromFields method
void
initFieldDefsFromFields()
Implementation
void initFieldDefsFromFields() {
if (fieldDefs.count == 0) {
fieldDefs.beginUpdate();
try {
for (var i = 0; i < fields.count; i++) {
final f = fields[i];
if (f.fieldKind != TFieldKind.fkCalculated &&
f.fieldKind != TFieldKind.fkLookup) {
// Do not add fielddefs for calculated/lookup fields.
f._fieldDef = fieldDefs.fieldDefClass(fieldDefs, f.fieldName,
f.dataType, f.size, f.required, fieldDefs.count + 1);
final fd = f._fieldDef!;
if (f.required) {
fd.attributes = {...fd.attributes, TFieldAttribute.faRequired};
}
if (f.readOnly) {
fd.attributes = {...fd.attributes, TFieldAttribute.faReadonly};
}
if (f.dataType == TFieldType.ftBCD) {
fd.precision = (f as TBCDField).precision;
} else if (f.dataType == TFieldType.ftFMTBcd) {
fd.precision = (f as TFMTBCDField).precision;
}
}
}
} finally {
fieldDefs.endUpdate();
}
}
}