列表动态创建列(Python实现)原创
12人赞赏了该文章
2,549次浏览
编辑于2022年02月28日 14:08:56
参考社区老师的二开文章:二开案例.列表插件.列表动态创建列,重写一个Python版本的实现,供参考。
import clr clr.AddReference("System") clr.AddReference("System.Core") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") from System import * from Kingdee.BOS import * from Kingdee.BOS.Core.List.PlugIn import * from Kingdee.BOS.Core.List.PlugIn.Args import * from Kingdee.BOS.Util import * from Kingdee.BOS import LocaleValue from System import StringComparison def CreateListHeader(e): header = e.ListHeader.AddChild() header.Caption = LocaleValue("动态列1") header.Key = "FDynamicColumn1" header.FieldName = "FDynamicColumn1" header.ColType = SqlStorageType.Sqlnvarchar header.Width = 200 header.Visible = True maxCol = max(e.ListHeader.GetChilds(), key = lambda x: x.ColIndex) header.ColIndex = maxCol.ColIndex + 1 header = e.ListHeader.AddChild() header.Key = "FDynamicColumn2" header.FieldName = "FDynamicColumn2" header.Caption = LocaleValue("动态列2") header.ColType = SqlStorageType.Sqlnvarchar header.Width = 300 header.Visible = True maxCol = max(e.ListHeader.GetChilds(), key = lambda x: x.ColIndex) header.ColIndex = maxCol.ColIndex + 1 def FormatCellValue(e): if e.Header.Key.Equals("FDynamicColumn1", StringComparison.OrdinalIgnoreCase): e.FormateValue = '''{0}=>{1}'''.format(e.Header.Caption, str(DateTime.Now)) elif e.Header.Key.Equals("FDynamicColumn2", StringComparison.OrdinalIgnoreCase): e.FormateValue = '''{0}=>{1}'''.format(e.Header.Caption, Guid.NewGuid())
列表动态创建列.rar(0.73KB)
赞 12
12人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读