维度字段赋值
金蝶云社区-夜色
夜色
3人赞赏了该文章 1,724次浏览 未经作者许可,禁止转载编辑于2019年04月23日 10:35:43

///


/// 赋值维度字段,公用
///

/// 页面View类
/// 目标单据体Key
/// 来源rowKey
/// 目标字段
/// 来源单行号
/// 目标赋值行号

public static void SetFlexValue(IBillView View, string EntityKey, string srcValue, string destFiled, int srcRow, int destRow)
{
//获取目标字段
Field destStockField = View.BusinessInfo.GetField(destFiled);
if (srcRow == -1)
{
View.Model.SetValue(destStockField.Key, null, destRow);
return;
}
DynamicObject value = (DynamicObject)ObjectUtils.CreateCopy(
View.Model.GetValue(srcValue, srcRow) as DynamicObject);

RelatedFlexGroupField flexField = (RelatedFlexGroupField)destStockField;
//获取单据体
Entity entity = View.Model.BusinessInfo.GetEntity(EntityKey);
DynamicObject dycol = View.Model.GetEntityDataObject(entity, destRow);
DynamicObject cloneFlexObj = (DynamicObject)ObjectUtils.CreateCopy(value);
flexField.DynamicProperty.SetValue(dycol, cloneFlexObj);
//更新字段
View.UpdateView(flexField.Key, destRow);
}