PLM.二开案例.业务对象平台调整子页签顺序后无法正常显示内容的处理方案

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

PLM.二开案例.业务对象平台调整子页签顺序后无法正常显示内容的处理方案

【应用场景】

调整了业务对象的平台表单的子页签控件顺序后,首次打开无法正常显示,必须切换其他页签后切换回来才正常显示。

例如,项目对象中将【项目成果】下的子页签【输入汇总】调整到第一个去,但是打开是无法正常显示


【原因分析】

业务平台使用了延迟加载的方式,只在切换至对应页签时才显示相关内容(大部分)。

其中子页签显示方式为在首次切换至具体父页签时,固定显示预置的首个页签,原因为父页签切换时子页签并未触发页签切换事件,只能默认加载。

因此,调整了子页签的页签顺序后,需要按实际情况在父页签指定需要固定显示的子页签。

PLM标准的业务平台一般都已经指定了相关页签的显示内容,因此可以插件干预,使用PLM封装的页签指定事件TabControlManager.Instance.TabPageIndexChangedForAll实现页签显示。


注意:只有业务平台表单的标准页签才可能使用此方案,例如项目对象、物料平台、公共平台等。请针对具体场景做测试。


【实现步骤】

插件二开过程本文不再赘述,相关指引可参考【汇总】星空PLM二开指南(持续更新) (kingdee.com)


方法说明:

当切换至具体父页签时,使用TabPageIndexChangedForAll方法指定具体页签显示

view: PLMView, PLM视图封装对象

tabKey: 子页签控件标识,子页签所在的页签控件

tabPageKey: 具体需要显示的子页签标识


以本文开头项目页签场景为例:

C#插件

引用参考:

代码实例:

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.K3.PLM.Business.PlugIn;
using Kingdee.K3.PLM.Common.BusinessEntity.View;

namespace ISV.ProjDemo.Common.BusinessEntity
{
    public class ProjectBillExtend: AbstractPLMDynamicFormPlugIn
    {
        public override void TabItemSelectedChange(TabItemSelectedChangeEventArgs e)
        {
            base.TabItemSelectedChange(e);
            if (e.TabKey == "FTAB_ORDER_RESULT")
            {
                TabControlManager.Instance.TabPageIndexChangedForAll(this.PLMView, "FTabControl_Order_Result", "FTab_Order_Result_OutputCol");
            }
        }
    }
}


Python插件

import clr;
clr.AddReference("Kingdee.K3.PLM.Common.Core")
clr.AddReference("Kingdee.K3.PLM.Common.BusinessEntity")

from Kingdee.K3.PLM.Common.BusinessEntity.View import TabControlManager
from Kingdee.K3.PLM.Common.Core.BOSBridge import PLMView

def TabItemSelectedChange(e):
	if(e.TabKey == "FTAB_ORDER_RESULT"):
		TabControlManager.Instance.TabPageIndexChangedForAll(PLMView.Get(this.View), "FTabControl_Order_Result", "FTab_Order_Result_OutputCol");

【功能验证】

注册相关插件后即可试验效果(可能需要清理元数据缓存)。


【参考资料】

【汇总】星空PLM二开指南(持续更新) (kingdee.com)




PLM.二开案例.业务对象平台调整子页签顺序后无法正常显示内容的处理方案

【应用场景】调整了业务对象的平台表单的子页签控件顺序后,首次打开无法正常显示,必须切换其他页签后切换回来才正常显示。例如,项目对象...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息