电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.表单插件.动态创建按钮

来源:金蝶云社区作者:金蝶2024-09-235

二开案例.表单插件.动态创建按钮

【应用场景】

运行时,动态创建按钮。



【注意事项】

<1>此案例仅简单演示如何通过修改元数据的方式动态创建按钮,因为涉及到运行时修改元数据,具有一定的风险性(元数据缓存问题),非必要不推荐。

<2>界面有本地缓存,需清空本地缓存后,动态创建的元素才会显示。



【案例演示】

采购订单,新增界面,运行时动态创建按钮。

上传图片



【实现步骤】

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

using Kingdee.BOS;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata.ControlElement;
using Kingdee.BOS.Util;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
    /// <summary>
    /// 【表单插件】动态创建按钮
    /// </summary>
    [Description("【表单插件】动态创建按钮"), HotUpdate]
    public class CreateButtonFormPlugIn : AbstractDynamicFormPlugIn
    {
        /// <summary>
        /// 按钮标识
        /// </summary>
        const string ButtonKey = "F_Jac_Button";
        public override void OnSetLayoutInfo(SetLayoutInfoArgs e)
        {
            base.OnSetLayoutInfo(e);
            var layoutInfo = this.View.LayoutInfo;
            var button = new ButtonAppearance();
            button.Key = ButtonKey;
            if (layoutInfo.GetAppearance(button.Key) == null)
            {
                layoutInfo.Add(button);
                button.Container = "FHEADBASEPAGE";
                button.Left = new LocaleValue("100", this.Context.UserLocale.LCID);
                button.Top = new LocaleValue("200", this.Context.UserLocale.LCID);
                button.Width = new LocaleValue("200", this.Context.UserLocale.LCID);
                button.Caption = new LocaleValue("动态按钮测试", this.Context.UserLocale.LCID);
                button.Id = "6b0ee640209f4277a813674d646eee3b";
                e.BillLayoutInfo = e.LayoutInfo = layoutInfo;
            }
        }
       

二开案例.表单插件.动态创建按钮

【应用场景】运行时,动态创建按钮。【注意事项】<1>此案例仅简单演示如何通过修改元数据的方式动态创建按钮,因为涉及到运行时修改元数据...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信