电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

[python]表单插件-显示隐藏列

来源:金蝶云社区作者:金蝶2024-09-165

[python]表单插件-显示隐藏列

本文介绍如何用Python代码,以实现在简单报表的显示隐藏列的功能 ## 定义报表列 定义了一个DataList数组,其中包含了想要在报表中显示的列名(例如“FNumber”、“FID”和“FJOINDATE”),以及一个DataList2数组,用于存储列的中文标题(例如“员工编号”、“员工ID”和“入职日期”) ```python DataList = ["FNumber", "FID", "FJOINDATE"] DataList2 = ["员工编号", "员工ID", "入职日期"] ``` ## 在过滤框的页签[显示隐藏列]显示 1. 复制元数据:从当前视图的开放参数中复制表单的元数据,以避免直接修改原始数据。 2. 获取布局信息:从复制的元数据中提取当前的布局信息,这是为了能够修改列的显示状态。 3. 处理列信息:检查布局信息中是否包含FieldShowHide控制键,如果存在,则遍历DataList数组,为每一列创建一个Field对象,并设置其名称、字段名和实体键。随后,将这些Field对象添加到布局信息的字段列表中。 4. 更新布局信息:将经过修改的布局信息赋值给事件参数e的LayoutInfo属性,确保这些更改能够被应用到报表的最终布局中。 ```python def OnSetLayoutInfo(e): # 复制元数据 currmetadata = ObjectUtils.CreateCopy(this.View.OpenParameter.FormMetaData) # 获取布局信息 layout_info = currmetadata.GetLayoutInfo() # 检查并处理列信息 columns = layout_info.GetAppearance(CommonFilterConst.ControlKey_FieldShowHide) if columns is not None: for key, caption in zip(DataList, DataList2): field = Field(key) field.Name = LocaleValue(caption) field.FieldName = key field.EntityKey = "" columns.FieldList.Add(field) # 更新布局信息 e.LayoutInfo = layout_info ``` ## 结果 在过滤条件框注册Python插件 ![image.webp](/download/010099c659baba6c41c5bc8b3128f321809f.webp) ![image.webp](/download/0100dd42368170574f42948fbc7b5349340d.webp) ## 完整代码 ```python """ 表单插件_显示隐藏列 """ import clr clr.AddReference("System") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") clr.AddReference("Kingdee.BOS.Contracts") clr.AddReference("Kingdee.BOS.DataEntity") clr.AddReference("Kingdee.BOS.ServiceHelper") clr.AddReference("Kingdee.BOS.App") from Kingdee.BOS import * from Kingdee.BOS.Orm import * from Kingdee.BOS.Orm.DataEntity import * from Kingdee.BOS.ServiceHe

[python]表单插件-显示隐藏列

本文介绍如何用Python代码,以实现在简单报表的显示隐藏列的功能## 定义报表列定义了一个DataList数组,其中包含了想要在报表中显示的列名...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信