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

二开案例.表单插件.打开基础资料列表给文本字段赋值

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

二开案例.表单插件.打开基础资料列表给文本字段赋值

【应用场景】打开基础资料列表给文本字段赋值

【案例演示】采购订单,新增文本字段,显示编辑按钮,点击编辑按钮时,打开供应商列表,双击列表数据行,即可给该文本字段赋值。

【实现步骤】

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

using Kingdee.BOS;

using Kingdee.BOS.Core.DynamicForm.PlugIn;

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

using Kingdee.BOS.Core.List;

using Kingdee.BOS.ServiceHelper;

using Kingdee.BOS.Util;

using System;

using System.Collections.Generic;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【表单插件】打开基础资料列表给文本字段赋值

    /// </summary>

    [Description("【表单插件】打开基础资料列表给文本字段赋值"), HotUpdate]

    public class TextFieldSetValueByF8ListFormPlugIn : AbstractDynamicFormPlugIn

    {

        /// <summary>

        /// 打开基础资料列表,把多语言数据复制给多语言字段(因为多语言字段无法显示编辑按钮,只好用一个普通按钮代替)

        /// </summary>

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

        public override void ButtonClick(ButtonClickEventArgs e)

        {

            base.ButtonClick(e);

            // 打开基础资料列表

            var listShowParameter = new ListShowParameter();

            listShowParameter.PageId = Guid.NewGuid().ToString();

            listShowParameter.FormId = "BD_Supplier";

            listShowParameter.MultiSelect = false;

            listShowParameter.IsLookUp = true;

            this.View.ShowForm(listShowParameter, result =>

            {

                // 在回调函数中把基础资料列表选中的数据行对应的供应商的名称赋值给单据头上的供应商名称字段(多语言文本字段)

                if (result == null)

                {

                    return;

                }


                var returnData = result.ReturnData as ListSelectedRowCollection;

                if (returnData == null || returnData.Count == 0)

                {

                    return;

                }


                var rowData = returnData[0];

                // 方式1:只要当前语言的名称

                //this.Model.SetValue("F_Jac_MulLangText", new LocaleValue(rowData.Name));

                // 方式2:要所有语言的名称

                var supplierBusinessInfo = FormMetaDataCache.GetCachedFormMetaData(Context, "BD_Supplier").BusinessInfo;

                var subDynamicObjectType = supplierBusinessInfo.GetSubBusinessInfo(new List<string>(new[] { "FName" })).GetDynamicObjectType();

                var ojb = BusinessDataServiceHelper.LoadSingle(Context, rowData.PrimaryKeyValue, subDynamicObjectType);

                this.Model.SetValue("F_Jac_MulLangText", ojb["Name"]);

            });

        }


        /// <summary>

        /// 打开基础资料列表,把文本数据复制给文本

二开案例.表单插件.打开基础资料列表给文本字段赋值

【应用场景】打开基础资料列表给文本字段赋值【案例演示】采购订单,新增文本字段,显示编辑按钮,点击编辑按钮时,打开供应商列表,双击列...
点击下载文档文档为doc格式

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

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