二开案例.列表插件.列表条件格式化之基础资料属性字段

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.列表插件.列表条件格式化之基础资料属性字段

【应用场景】列表条件格式化,基于列表中的基础资料属性字段做条件判断。

【案例演示】物料清单列表,新增基础资料属性字段【物料禁用】,针对未禁用的数据行进行条件格式化显示。

【实现步骤】

<1>编写列表插件,如下所示。

using Kingdee.BOS.Core.List.PlugIn;

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

using Kingdee.BOS.Core.Metadata;

using Kingdee.BOS.Orm.DataEntity;

using Kingdee.BOS.Util;

using System.ComponentModel;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【列表插件】列表条件格式化之基础资料属性字段

    /// </summary>

    [Description("【列表插件】列表条件格式化之基础资料属性字段"), HotUpdate]

    public class FormatRowWithBasePropertyFieldListPlugIn : AbstractListPlugIn

    {

        /// <summary>

        /// 列表行数据格式化

        /// </summary>

        /// <param name="args"></param>

        public override void OnFormatRowConditions(ListFormatConditionArgs args)

        {

            base.OnFormatRowConditions(args);

            // 如果物料未禁用,则将【物料禁用】字段格式化显示

            // 基础资料属性字段绑定的基础资料字段的Key

            var baseDataFieldKey = "FMATERIALID";

            var basePropertyFieldKey = baseDataFieldKey + "_Ref";

            if (args.DataRow[basePropertyFieldKey] != null)

            {

                var material = (DynamicObject)args.DataRow[basePropertyFieldKey];

                var status = (string)material["ForbidStatus"];

                // 判断禁用状态:A否B是

                if (status == "A")

                {

                    var fc = new FormatCondition();

                    fc.Key = "F_Jac_BaseProperty";

                    fc.ApplayRow = false;

                    fc.ForeColor = "#FF00FF";

                    fc.BackColor = "#FFFF00";

                    args.FormatConditions.Add(fc);

                }

            }

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展物料清单,父项物料编码字段添加引用属性【禁用状态】,新增基础资料属性字段【物料禁用】,注册列表插件,保存元数据,开发完毕。

如果使用Python插件,注册方式如下:



【插件验证】

<1>登录业务站点,打开物料清单列表,就能看到列表条件格式化的效果啦。




【知识点】

<1>如何了解数据行的数据包结构?如何从数据行获取指定字段的值?

最简单的办法就是调试插件代码,打上断点,添加监视,将数据包逐层展开,仔细观察分析就可以了。

---------------------------------------------------------------------------------------------------------













【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

【列表插件】列表条件格式化之基础资料属性字段.rar

二开案例.列表插件.列表条件格式化之基础资料属性字段

【应用场景】列表条件格式化,基于列表中的基础资料属性字段做条件判断。【案例演示】物料清单列表,新增基础资料属性字段【物料禁用】,针...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息