#报表开发#报表过滤框表单插件,根据快捷过滤选项,动态设置条件过滤的可选字段
# 业务场景
星空标准报表——存货收发存汇总表,快捷过滤显示维度选择 按核算维度显示,此时查询的数据并没有仓库信息
![image.webp](/download/0100ea4aba41a86a4b8590372f18aedb1da1.webp)
这个时候客户再去条件过滤选择仓库作为过滤条件时,查询的数据就为空,影响了用户体验。
![image.webp](/download/0100120ca810391944b6887c86af46413c24.webp)
优化的方案是,当客户选择显示维度为 按核算维度显示 时,条件过滤的选择字段去掉仓库。
![屏幕截图 2023-04-17 144135.webp](/download/01008801178fa3f44a94ba3fe056e98cb387.webp)
# 实现步骤
1.编写表单插件
```using Kingdee.BOS.Core.CommonFilter.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using System;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
namespace HNKD.WZQ.HengXin.Plugin
{
[Kingdee.BOS.Util.HotUpdate]
[System.ComponentModel.Description("存货收发存汇总表过滤框插件")]
public class test : AbstractCommonFilterPlugIn
{
// 值更新
public override void DataChanged(DataChangedEventArgs e)
{
base.DataChanged(e);
string a;
if ((a = e.Field.Key.ToUpperInvariant()) == null)
{
return;
}
//FCHXEXPENSE=显示费用项目明细
if (!(a == "FCHXEXPENSE"))
{
//显示维度(1=库存维度,0=核算维度)
if (a == "FDIMTYPE")
{
//条件过滤控件
var filterGrid = this.View.GetControl<FilterGrid>("FFilterGrid");
//获取条件过滤字段
var filterObject = ((Kingdee.BOS.Model.CommonFilter.FilterModel)this.Model).FilterObject;
var fieldArray = filterObject.GetAllFilterFieldList();
//核算维度 e.NewValue:改变后的值
if (Convert.ToString(e.NewValue).Equals("0"))
{
//移除 仓库 条件
fieldArray.RemoveAll((p) => p.ToString().Contains("仓库"));
//设置条件过滤
filterGrid.SetFilterFields(fieldArray);
}
}
}
}
}
}
```
2.注册表单插件
![image.webp](/download/0100cb508dbd3f664ae8a7d2ca7535847259.webp)
3.查看效果
![image.webp](/download/0100efaaa0689b324c3abf0163b083db3cf2.webp)
![屏幕截图 2023-04-17 150906.webp](/download/010067f61cf80bec48ec9f4d4b744c6edfbe.webp)
#报表开发#报表过滤框表单插件,根据快捷过滤选项,动态设置条件过滤的可选字段
# 业务场景星空标准报表——存货收发存汇总表,快捷过滤显示维度选择 按核算维度显示,此时查询的数据并没有仓库信息![image.webp](/down...
点击下载文档
本文2024-09-16 18:31:32发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-22708.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章