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

单据体内的多选基础资料字段实现链接效果

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

单据体内的多选基础资料字段实现链接效果

【应用场景】

已审核单据,单据体内的多选基础资料字段无法实现点击单元格弹出列表的功能,不方便单据查看

通过二开实现,方便单据查看


【注意事项】

需要单元格处于锁定状态


【案例演示】



【实现步骤】

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

#region 单据体内的多选基础资料实现链接功能

        public override void EntryButtonCellClick(EntryButtonCellClickEventArgs e)
        {
            base.EntryButtonCellClick(e);
            ShowMulBaseDateList(e);
        }

        /// <summary>
        /// 单据体内的多选基础资料实现超链接功能
        /// 业务对象xml里多选基础资料字段外观需要加上
        ///           <ListColumnStyle>1</ListColumnStyle>
        ///           <BlAppLstColStyle>1</BlAppLstColStyle>
        /// </summary>
        /// <param name="e"></param>
        private void ShowMulBaseDateList(EntryButtonCellClickEventArgs e)
        {
            if (e.FieldKey.EqualsIgnoreCase("F_Jac_MulBase_83g"))
            {
                e.Cancel = true;
                ILookUpField field = this.View.BusinessInfo.GetField("F_Jac_MulBase_83g") as ILookUpField;
                if (field == null) return;
                FieldAppearance ap = ap = this.View.LayoutInfo.GetFieldAppearance("F_Jac_MulBase_83g");
                DynamicFormShowParameter parameter = null;
                DynamicObject activeRow = this.Model.GetEntityDataObject(((Field)field).Entity, e.Row);
                parameter = field.GetLookUpListParameter(this.Model, activeRow);
                parameter.ParentPageId = this.View.PageId;
                parameter.MultiSelect = false;
                string strCaption = ap.Caption;
                BaseDataField baseDatafield = ap.Field as BaseDataField;

                if (baseDatafield != null && baseDatafield.LookUpObject != null
    && baseDatafield.LookUpObject.Name != null && !baseDatafield.LookUpObject.Name.Equals(strCaption))
                {
                    strCaption += string.Format("({0})", baseDatafield.LookUpObject.Name);
                }
                if (baseDatafield == null || baseDatafield.LookUpObject == null) return;
                dynamic baseValue = this.Model.GetValue(baseDatafield.Key, e.Row);

                DynamicFormShowParameter listpara = null;
                string strPermissionItemId = "";
                if (parameter != null && parameter is ListShowParameter)
                {
                    listpara = parameter;
                }
                else
                {
                    listpara = new ListShowParameter()
                    {
                        FormId = baseDatafield.LookUpObject.FormId
                    };
                }

                if (baseDatafield.LookUpObject.PermissionControl == 1)
                {
                    strPermissionItemId = GetFormPermissionItemId(baseDatafield.LookUpObject.FormId, FormOperationEnum.View.ToString());
                }

                //打开的列表中只显示已选择的数据记录
                var baseValueCollection = baseValue as DynamicObjectCollection;
                if (b

单据体内的多选基础资料字段实现链接效果

【应用场景】已审核单据,单据体内的多选基础资料字段无法实现点击单元格弹出列表的功能,不方便单据查看通过二开实现,方便单据查看【注意...
点击下载文档文档为doc格式

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

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