二开案例.表单插件.触发菜单点击事件

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

二开案例.表单插件.触发菜单点击事件

【应用场景】

在插件中触发指定菜单的点击事件。

因为BOS设计器不支持菜单集合中的子菜单调整层级结构,因此可以使用此方案变通实现该需求。

先将原始菜单隐藏,再创建自定义菜单,通过自定义菜单来触发原始菜单的点击事件。

【案例演示】

采购订单的表单插件中, 模拟触发主菜单的点击事件和分录菜单的点击事件。

【实现步骤】

<1>编写表单插件,代码如下。

using Kingdee.BOS.Core.DynamicForm.PlugIn;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Util;

using Kingdee.BOS.Web.DynamicForm;

using System;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【表单插件】触发菜单点击事件

    /// </summary>

    [Description("【表单插件】触发菜单点击事件"), HotUpdate]

    public class InvokeBarItemFormPlugIn : AbstractDynamicFormPlugIn

    {

        public override void BarItemClick(BarItemClickEventArgs e)

        {

            base.BarItemClick(e);

            if (e.BarItemKey.Equals("tbInvokeBarItem", StringComparison.OrdinalIgnoreCase))

            {

                // 模拟点击子菜单【全流程跟踪】

                ((DynamicWebFormView)this.View).MainBarItemClick("tbTrackAllFlows");

                return;

            }


            if (e.BarItemKey.Equals("tbInvokeEntryBarItem", StringComparison.OrdinalIgnoreCase))

            {

                // 模拟点击明细信息单据体的子菜单【价格查询】

                ((DynamicWebFormView)this.View).EntryBarItemClick("FPOOrderEntry", "tbQueryPrice");

                return;

            }

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展采购订单,新增菜单项,注册表单插件,保存元数据,开发完毕。



【功能验证】

<1>登录业务站点,打开采购订单编辑界面,就可以通过自定义菜单触发预置的菜单的点击事件啦。

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.表单插件.触发菜单点击事件

【应用场景】在插件中触发指定菜单的点击事件。因为BOS设计器不支持菜单集合中的子菜单调整层级结构,因此可以使用此方案变通实现该需求。...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息