K3Cloud BOS设计 C# 插件 弹出列表

C# 插件脚本

 

1. 写窗体回调函数

     public void Contacts_CallBack(FormResult res)
        {
            try
            {
                if (res.ReturnData == null)
                    return;
                var m = ((ListSelectedRowCollection)res.ReturnData)[0];
                var row = m.DataRow as DynamicObjectDataRow;
                var obj = (Kingdee.BOS.Orm.DataEntity.DynamicObject)row.DynamicObject;
                var mobile = obj["FMOBILE"].ToString();
                this.View.Model.SetValue("FRECIPIENT_TEL", mobile);
                this.View.Model.SetValue("FReveiceName", m.Name);
            }
            catch (Exception ex)
            {
               this.View.ShowMessage("选择数据返回异常,请联系管理员!", Kingdee.BOS.Core.DynamicForm.MessageBoxOptions.OK);
            }
            //foreach (var item in res.ReturnData)
            //{

            //}
        }
2. 封装弹出窗体函数

        /// <summary>
        /// 弹出列表窗体
        /// </summary>
        /// <param name="Bill">this</param>
        /// <param name="form_id">弹出窗体id</param>
        /// <param name="action">回调函数</param>
        /// <param name="strFilter">筛选脚本</param>
         public static void Show_FrmList(AbstractBillPlugIn Bill, string form_id, Action<FormResult> action, string strFilter = "")
        {
            var showParam = new ListShowParameter()
            {
                Context = Bill.Context,
                FormId = form_id,//e.FieldKey
                IsShowApproved = true,//    只显示审核后的单据
                MultiSelect = false,
                PermissionItemId = PermissionConst.View,
                IsLookUp = true,
                //OpenStyle = ShowType.Modal,
                PageId = Guid.NewGuid().ToString(),
                ParentPageId = Bill.View.PageId
            };
            if (!string.IsNullOrEmpty(strFilter))
            {
                showParam.ListFilterParameter.Filter = strFilter;
            }
            Bill.View.ShowForm(showParam, action);
        }
3. 重写BeforeF7Select

         public override void BeforeF7Select(BeforeF7SelectEventArgs e)
        {
            base.BeforeF7Select(e);
            switch (e.FieldKey.ToUpper())
            {
               
                case "FREVEICENAME":// 选择客户联系人  改为Python 插件
                    string cusid = this.View.Model.DataObject["FCustomerID_Id"].ToString();
                    if (!string.IsNullOrEmpty(cusid) && cusid != "0")
                    {
                        // 调用封装好的 弹出窗体
                        Common.PlugIn_Helper.Show_FrmList(this, "BD_CustContact", Contacts_CallBack, " FCustId= '" + cusid + "'");
                    }
                    else
                    {
                      this.View.ShowMessage("请先选择开票客户或者选择合同号!", Kingdee.BOS.Core.DynamicForm.MessageBoxOptions.OK);
                    }
                    break;                
                default:
                    break;
            }
        }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值