#报表开发#报表过滤框表单插件,根据快捷过滤选项,动态设置条件过滤的可选字段

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

#报表开发#报表过滤框表单插件,根据快捷过滤选项,动态设置条件过滤的可选字段

# 业务场景 星空标准报表——存货收发存汇总表,快捷过滤显示维度选择 按核算维度显示,此时查询的数据并没有仓库信息 ![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...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息