配置文件
<ExtendedPart parentPartFullName="UFIDA.U9.Base.FlexField.DescFlexFieldCtrlUIModel.DescFlexFieldCtrlUIFormWebPart" extendedPartFullName="UFIDA.U9.DW.UIPlugIn.DescFlexFieldCtrlUIPlugIn" extendedPartAssemblyName="UFIDA.U9.DW.UIPlugIn.dll" />
DescFlexFieldCtrlUIPlugIn.cs
using System;
using UFIDA.U9.Base.FlexField.DescFlexFieldCtrlUIModel;
using UFSoft.UBF.UI.ControlModel;
using UFSoft.UBF.UI.IView;
using UFSoft.UBF.UI.MD.Runtime;
namespace UFIDA.U9.DW.UIPlugIn
{
public class DescFlexFieldCtrlUIPlugIn : UFSoft.UBF.UI.Custom.ExtendedPartBase
{
protected DescFlexFieldCtrlUIFormWebPart Part;
public override void AfterRender(IPart part, EventArgs args)
{
Part = part as DescFlexFieldCtrlUIFormWebPart;
if (Part == null) { base.AfterInit(Part, args); return; }
IUFTabControl ctrl10 = Part.GetUFControlByName(Part.TopLevelContainer, "TabControl0") as IUFTabControl;
if (ctrl10 == null) { base.AfterInit(Part, args); return; }
if (!Part.ParameterValues.ContainsKey("EntityFullName")) { base.AfterInit(Part, args); return; }
switch (Part.ParameterValues["EntityFullName"])
{
case "UFIDA.U9.MO.MO.MO": // 生产订单
var moRecord = GetParentFocusedRecord<MFG.MO.DiscreteMOUIModel.MORecord>();
if (moRecord != null)
{
// (0开立 4核准中)启用,其它状态禁用
ctrl10.Enabled = moRecord.DocState == 0 || moRecord.DocState == 4;
}
break;
default:
break;
}
base.AfterInit(Part, args);
}
private U GetParentFocusedRecord<U>() where U : class
{
DescFlexFieldCtrlRecord focusedRecord = Part.Model.DescFlexFieldCtrl.FocusedRecord;
if (focusedRecord != null && !string.IsNullOrEmpty(focusedRecord.descViewName))
{
IUIModel iuimodel = (IUIModel)Part.CurrentState[Part.ParentTaskID];
if (iuimodel != null)
{
IUIView iuiview = iuimodel.Views.Contains(focusedRecord.descViewName) ? iuimodel.Views[focusedRecord.descViewName] : null;
if (iuiview != null && iuiview.FocusedRecord != null)
{
return iuiview.FocusedRecord as U;
}
}
}
return null;
}
}
}
评论 (0)