二开案例.列表插件.列表查询禁用汇总功能
【应用场景】
列表查询禁用汇总功能。
汇总会多一次数据库查询,比较影响性能,平台未提供标准编程接口干预取消列表汇总,您可通过本文提供的方式来变通实现。
【风险提醒】因为涉及到反射修改系统内部变量,此方案存在一定的兼容性风险,开发者需了解并合理评估此风险项。
【版本要求】
此方案仅对补丁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
二开案例.列表插件.列表查询禁用汇总功能
本文2024-09-23 04:19:39发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164596.html