Пример сценария для Money выглядит следующим образом:
case "Money":
case "Integer":
var Value = record[AttributeMetadata.SchemaName];
record[AttributeMetadata.SchemaName] = {};
record[AttributeMetadata.SchemaName].Value = Value;
record[AttributeMetadata.SchemaName].isDirty = false;
В двух описанных случаях Integer будет нормально работать, так как это примитивный тип, и поэтому вернет фактическое числовое значение в record[AttributeMetadata.SchemaName].Value
Однако тип денег является сложным объектом, поэтому он присваивается той же переменной, но фактически не дает значения, которое он представляет, только объект, поэтому он не отображается. На самом деле вам нужно еще .value
в конце, чтобы получить числовое значение, которое оно представляет.
Либо измените переключатель на этот:
case "Integer":
var Value = record[AttributeMetadata.SchemaName];
record[AttributeMetadata.SchemaName] = {};
record[AttributeMetadata.SchemaName].Value = Value;
record[AttributeMetadata.SchemaName].isDirty = false;
case "Money":
var Value = record[AttributeMetadata.SchemaName];
record[AttributeMetadata.SchemaName] = {};
record[AttributeMetadata.SchemaName].Value = Value.value;
record[AttributeMetadata.SchemaName].isDirty = false;
или когда вы добавляете атрибут money в вашу таблицу, убедитесь, что показанное значение равно record[AttributeMetadata.SchemaName].Value.value
Я думаю, что нижний регистр для value
это может быть верхний Value
Надеюсь, что это имеет смысл.