|
@@ -2161,8 +2161,6 @@ namespace InABox.DynamicGrid
|
|
|
var field = form.Elements.FirstOrDefault(x => string.Equals(fieldName, (x as DFLayoutField)?.Name)) as DFLayoutField;
|
|
|
if (field != null)
|
|
|
{
|
|
|
- //value = field.ParseValue(value);
|
|
|
-
|
|
|
var fieldControl = GetFieldControl(field);
|
|
|
if (fieldControl != null)
|
|
|
{
|
|
@@ -2231,6 +2229,7 @@ namespace InABox.DynamicGrid
|
|
|
public void LoadValues(DFLoadStorage values)
|
|
|
{
|
|
|
_changing = true;
|
|
|
+ InitializeEntityValues();
|
|
|
foreach (var (key, value) in values.Items())
|
|
|
{
|
|
|
if (!key.Contains('.'))
|
|
@@ -2243,6 +2242,26 @@ namespace InABox.DynamicGrid
|
|
|
_isChanged = false;
|
|
|
}
|
|
|
|
|
|
+ public void InitializeEntityValues()
|
|
|
+ {
|
|
|
+ _changing = true;
|
|
|
+ foreach (var field in form.Elements.OfType<DFLayoutField>())
|
|
|
+ {
|
|
|
+ var property = DataModel != null ? field.GetPropertyValue<string>("Property") : null;
|
|
|
+ if (!property.IsNullOrWhiteSpace())
|
|
|
+ {
|
|
|
+ var fieldControl = GetFieldControl(field);
|
|
|
+ if(fieldControl != null)
|
|
|
+ {
|
|
|
+ fieldControl.SetValue(DataModel!.GetEntityValue(property));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Form.EvaluateExpressions();
|
|
|
+ _changing = false;
|
|
|
+ _isChanged = false;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Takes values from editors and saves them to a dictionary; must be called after <see cref="Initialize"/>.
|
|
|
/// </summary>
|