【002】把客开的可扩展的枚举下拉前面的Code显示去掉
侧边栏壁纸
  • 累计撰写 60 篇文章
  • 累计收到 2 条评论

【002】把客开的可扩展的枚举下拉前面的Code显示去掉

秋驰雪隙
2025-04-07 / 0 评论 / 7 阅读 / 正在检测是否收录...

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

评论 (0)

取消