二开案例.工具栏.工具栏应用

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

二开案例.工具栏.工具栏应用

【应用场景】通过工具栏菜单按钮,挂载操作、表单服务或者执行插件事件。

【案例演示】物料列表,对左侧分组树上的工具栏进行插件编程控制。

【实现步骤】

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

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

using Kingdee.BOS.Core.List.PlugIn;

using Kingdee.BOS.Core.Metadata.ControlElement;

using Kingdee.BOS.Util;

using System.ComponentModel;

using System.Linq;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【列表插件】工具栏应用

    /// </summary>

    [Description("【列表插件】工具栏应用"), HotUpdate]

    public class ToolbarListPlugIn : AbstractListPlugIn

    {

        private bool visible = true;

        private bool enable = true;


        /// <summary>

        /// 工具栏点击事件

        /// </summary>

        /// <param name="e"></param>

        public override void BarItemClick(BarItemClickEventArgs e)

        {

            base.BarItemClick(e);


            #region 设置工具栏可见性


            if (e.BarItemKey == "tbToolbarShowOrHide")

            {

                visible = !visible;

                this.View.GetControl("FGroupToolbar").Visible = visible;

                this.View.ShowMessage("工具栏已" + (visible ? "显示" : "隐藏"));

                return;

            }


            #endregion


            #region 设置工具栏可用性


            if (e.BarItemKey == "tbToolbarEnableOrDisable")

            {

                enable = !enable;

                this.View.GetControl("FGroupToolbar").Enabled = enable;

                this.View.ShowMessage("工具栏已" + (enable ? "启用" : "禁用"));

                return;

            }


            #endregion


            #region 设置工具栏菜单可见性


            if (e.BarItemKey == "tbBarItemShowOrHide")

            {

                visible = !visible;

                this.View.GetBarItem("FGroupToolbar", "tbAddNewGroup").Visible = visible;

                this.View.GetBarItem("FGroupToolbar", "tbModify").Visible = visible;

                this.View.GetBarItem("FGroupToolbar", "tbDelete").Visible = visible;

                this.View.ShowMessage("工具栏菜单已" + (visible ? "显示" : "隐藏"));

                return;

            }


            #endregion


            #region 设置工具栏菜单可用性


            if (e.BarItemKey == "tbBarItemEnableOrDisable")

            {

                enable = !enable;

                this.View.GetBarItem("FGroupToolbar", "tbAddNewGroup").Enabled = enable;

                this.View.GetBarItem("FGroupToolbar", "tbModify").Enabled = enable;

                this.View.GetBarItem("FGroupToolbar", "tbDelete").Enabled = enable;

                this.View.ShowMessage("工具栏菜单已" + (enable ? "启用" : "禁用"));

                return;

            }


            #endregion


            #region 获取工具栏元数据


            if (e.BarItemKey == "tbGeToolbarMedadata")

            {

                // 获取工具栏的元数据

                var toolbar = (ToolBarCtrlAppearance)this.View.LayoutInfo.GetAppearance("FGroupToolbar");

                // 显示工具栏的菜单按钮名称

                this.View.ShowMessage(string.Join(";", toolbar.Menu.GetAllBarItems().Select(o => o.Key + "," + o.Value.Caption)));

                return;

            }


            #endregion

        }

    }

}



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


<3>登录BOSIDE,扩展物料,列表菜单添加菜单项,如下图所示。


<4>注册列表插件,保存元数据,开发完毕。


现在可以登录业务站点,打开物料列表,检验一下插件对工具栏的控制效果啦。

隐藏工具栏:

禁用工具栏:

隐藏工具栏的某些菜单:

禁用工具栏的某些菜单:

查看工具栏的元数据:













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

二开案例.工具栏.工具栏应用

【应用场景】通过工具栏菜单按钮,挂载操作、表单服务或者执行插件事件。【案例演示】物料列表,对左侧分组树上的工具栏进行插件编程控制。...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息