列表动态创建列(Python实现)

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

列表动态创建列(Python实现)

参考社区老师的二开文章:二开案例.列表插件.列表动态创建列,重写一个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())

image.webp

列表动态创建列.rar


老师增加一个动态列,如何实现 isnull(列1,列2) as 列3的效果?


老师,动态创建的列查看时有数据,导出时为空怎么处理?


可以举个例子,新增1列=原来A列数据+原来B列数据吗?


老师我想在计划订单批量维护上动态增加一列库存数量怎么实现啊

大佬,威武


能否举下实际的例子,加这2列的作用是?

列表动态创建列(Python实现)

参考社区老师的二开文章:二开案例.列表插件.列表动态创建列,重写一个Python版本的实现,供参考。import clr clr.AddReference("System")c...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息