// <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); } } }
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>()); } }
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); } } }