Пример #1
0
 // <summary>
 /// 给维度字段赋值
 /// </summary>
 private void SetFlexDataValue(IViewService service, DynamicObject data, RelatedFlexGroupField bdfield, long value, ref DynamicObject dyValue)
 {
     if (value == 0)
     {
         //bdfield.RefIDDynamicProperty.SetValue(data, 0);
         //bdfield.DynamicProperty.SetValue(data, null);
         dyValue = null;
     }
     else
     {
         if (dyValue == null)
         {
             dyValue = service.LoadSingle(this.Context, value, bdfield.RefFormDynamicObjectType);
         }
         if (dyValue != null)
         {
             bdfield.RefIDDynamicProperty.SetValue(data, value);
             bdfield.DynamicProperty.SetValue(data, dyValue);
         }
         else
         {
             bdfield.RefIDDynamicProperty.SetValue(data, 0);
             bdfield.DynamicProperty.SetValue(data, null);
         }
     }
 }
Пример #2
0
 public static T FieldRefIdProperty <T>(this DynamicObject dataObject, RelatedFlexGroupField field)
 {
     if (dataObject == null)
     {
         return(default(T));
     }
     else if (typeof(T).IsValueType || typeof(T).Equals(typeof(string)))
     {
         return(field.RefIDDynamicProperty.GetValue(dataObject).ToChangeType <T>());
     }
     else
     {
         return(field.RefIDDynamicProperty.GetValue(dataObject).ToType <T>());
     }
 }
Пример #3
0
        public static void SetFlexFieldVisible(this IDynamicFormView view, string flexFieldKey, bool bVisible)
        {
            RelatedFlexGroupField flexField = view.BillBusinessInfo.GetField(flexFieldKey) as RelatedFlexGroupField;

            if (flexField == null)
            {
                return;
            }
            if (flexField.FlexDisplayFormat == FlexType.Format.POPUPBOX)
            {
                //this.View.StyleManager.SetVisible(controlFieldKey, null, bVisible);
                view.StyleManager.SetVisible(flexField.Key, null, bVisible);
            }
            else
            {
                foreach (var itemField in flexField.RelateFlexBusinessInfo.GetFieldList())
                {
                    string strColKey = string.Format("$${0}__{1}", flexField.Key, itemField.Key);
                    view.StyleManager.SetVisible(strColKey, null, bVisible);
                }
            }
        }