二开案例.列表插件.列表查询禁用汇总功能

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

二开案例.列表插件.列表查询禁用汇总功能

【应用场景】

列表查询禁用汇总功能。

汇总会多一次数据库查询,比较影响性能,平台未提供标准编程接口干预取消列表汇总,您可通过本文提供的方式来变通实现。

风险提醒】因为涉及到反射修改系统内部变量,此方案存在一定的兼容性风险,开发者需了解并合理评估此风险项。

版本要求

此方案仅对补丁PT-146866 [7.6.0.202101]及之后的版本有效,如果您的产品在此版本之前,请将插件中的AfterGetData事件改为OnFormatRowConditions事件。

【案例演示】

采购订单列表,在不调整元数据的前提下,通过插件的方式禁用汇总功能。

【实现步骤】

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

using Kingdee.BOS.Core.List.PlugIn;

using Kingdee.BOS.Core.Metadata.FieldElement;

using Kingdee.BOS.Util;

using System.Collections.Generic;

using System.ComponentModel;

using System.Reflection;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【列表插件】列表查询禁用汇总功能

    /// </summary>

    [Description("【列表插件】列表查询禁用汇总功能"), HotUpdate]

    public class ListQueryDisableSummaryListPlugIn : AbstractListPlugIn

    {

        public override void AfterGetData()

        {

            base.AfterGetData();

            // summaryFields里存储了要汇总的字段集合,如果不想汇总,可以清空此集合

            var field = this.ListView.GetType().GetField("summaryFields", BindingFlags.Instance | BindingFlags.NonPublic);

            if (field != null)

            {

                var summaryFields = (List<Field>)field.GetValue(this.ListView);

                summaryFields.Clear();

            }

        }

    }

}


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


<3>BOSIDE扩展采购订单,注册列表插件,保存元数据,开发完毕。




【功能验证】

<1>登录业务站点,打开采购订单列表,此时,底部的汇总列已经无数据。

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













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

二开案例.列表插件.列表查询禁用汇总功能

【应用场景】列表查询禁用汇总功能。汇总会多一次数据库查询,比较影响性能,平台未提供标准编程接口干预取消列表汇总,您可通过本文提供的...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息