二开案例.过滤插件.通用过滤条件框启用高级过滤
【应用场景】
通用过滤条件框启用高级过滤。
【注】高级过滤默认只在列表过滤和账表过滤开放使用。
【案例演示】
物料清单正查,过滤窗体,启用高级过滤。
注意:此案例仅演示如何启用高级过滤,不会真的把高级过滤生成的SQL条件传递给物料清单正查。
【实现步骤】
<1>编写过滤插件,代码如下。
using Kingdee.BOS.Core.CommonFilter.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【过滤插件】通用过滤条件框启用高级过滤
/// </summary>
[Description("【过滤插件】通用过滤条件框启用高级过滤"), HotUpdate]
public class SetBatchFilterFilterPlugIn : AbstractCommonFilterPlugIn
{
/// <summary>
/// 高级过滤不支持的字段类型集合
/// </summary>
private readonly HashSet<int> invalidFields = new HashSet<int> { 60015, 1011 };
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
var batchFilterGrid = this.View.GetControl<BatchFilterGrid>("FBatchFilterGrid");
if (batchFilterGrid == null)
{
return;
}
if (this.CommonFilterModel.FilterObject == null || this.CommonFilterModel.BatchFilterObject == null)
{
return;
}
//var filterMetaData = CommonFilterServiceHelper.GetFilterMetaData(this.Context, string.Empty);
this.CommonFilterModel.BatchFilterObject.FilterMetaData = this.CommonFilterModel.FilterObject.FilterMetaData;
foreach (var filterField in this.CommonFilterModel.FilterObject.FilterFieldList)
{
if (!invalidFields.Contains(filterField.ElementTypeID))
{
this.CommonFilterModel.BatchFilterObject.AddField(filterField);
}
}
batchFilterGrid.SetFilterFields(this.CommonFilterModel.BatchFilterObject.GetAllFilterFieldList());
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展动态表单过滤—[物料清单正查] [ENG_BomQueryForward_Filter],批量过滤条件表格的字段集合任意添加一个字段(只有字段集合不为空的时候,前台才会显示高级过滤页签),注册表单插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开物料清单正查,点过滤,此时高级页签已显示,高级过滤中的字段已包含条件过滤中的所有字段。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.过滤插件.通用过滤条件框启用高级过滤
本文2024-09-23 04:08:02发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-163349.html