二开案例.工具栏.工具栏应用
【应用场景】通过工具栏菜单按钮,挂载操作、表单服务或者执行插件事件。
【案例演示】物料列表,对左侧分组树上的工具栏进行插件编程控制。
【实现步骤】
<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
二开案例.工具栏.工具栏应用
本文2024-09-23 04:21:12发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164754.html