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")
PLM.二开案例.业务对象平台调整子页签顺序后无法正常显示内容的处理方案
【应用场景】调整了业务对象的平台表单的子页签控件顺序后,首次打开无法正常显示,必须切换其他页签后切换回来才正常显示。例如,项目对象...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



