UBF上正常设置可扩展=True
数据库使用SQL把可扩展更改为False
做完这一步界面上的下拉框就不包含Code了,但是自定义代码那边无法编辑
-- Code为枚举全称
update UBF_Sys_ExtEnumType set [IsExtend]=0 where Code in ('UFIDA.U9.XX.XXX1Enum','UFIDA.U9.XX.XXX2Enum','UFIDA.U9.XX.XXX3Enum')
开发UI插件
新建UDCUUIPlugIn.cs
需要引入自定义代码的DLL:~/Portal/UILib/UFIDA.U9.Base.UDCUI.WebPart.dll
using System;
using UFIDA.U9.Base.UDC.UDCUI;
using UFSoft.UBF.UI.ControlModel;
using UFSoft.UBF.UI.IView;
namespace UFIDA.U9.SH.UIPlugIn
{
// UFIDA.U9.Base.UDC.UDCUI.UDCUIWebPart
public class UDCUUIPlugIn : UFSoft.UBF.UI.Custom.ExtendedPartBase
{
private readonly string[] canEditCodes = new string[] { "UFIDA.U9.XX.XXX1Enum","UFIDA.U9.XX.XXX2Enum","UFIDA.U9.XX.XXX3Enum" };
public override void BeforeDataBinding(IPart Part, out bool executeDefault)
{
base.BeforeDataBinding(Part, out executeDefault);
if (Part is UDCUIWebPart)
{
// Code486中存储的就是选择的实体的全称
IUFFldTextBox code = Part.GetUFControlByName(Part.TopLevelContainer, "Code486") as IUFFldTextBox;
if (code == null || Array.IndexOf(canEditCodes, code.Text) == -1) return;
IUFDataGrid dataGrid = Part.GetUFControlByName(Part.TopLevelContainer, "DataGrid1") as IUFDataGrid;
if (dataGrid == null || dataGrid.EditStatus == EditStatus.Edit) return;
dataGrid.EditStatus = EditStatus.Edit;
}
}
}
}
UI配置文件参考
不在WebPartExtend.config中追加
新建UI插件配置文件名称:WebPartExtend_UDCUIPlugin.config
可直接单独部署到Portal目录下,重启IIS即可,配置内容如下
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="WebPartExtend" type="UFSoft.UBF.UI.Custom.ExtendedPartSection, UFSoft.UBF.UI.FormProcess" />
</configSections>
<WebPartExtend>
<!--自定义代码插件-->
<ExtendedPart parentPartFullName="UFIDA.U9.Base.UDC.UDCUI.UDCUIWebPart" extendedPartFullName="UFIDA.U9.SH.UIPlugIn.UDCUUIPlugIn" extendedPartAssemblyName="UFIDA.U9.SH.UIPlugIn.dll" />
</WebPartExtend>
</configuration>
评论 (0)