zoukankan      html  css  js  c++  java
  • 分享一个列表查询查看多选基础资料的解决方案

    目前K/3 CLoud中对于多选基础资料暂不提供列表查询和显示功能。因此二次开发可以考虑自己来实现,这里给大家一个参考示例,抛砖引玉,希望对大家有所帮助。
    1、首先对于需要列表查询多选基础资料的单据,针对多选基础资料字段,增加一个相对应的辅助字段(多语言字段元素)
    2、编写相应的插件,以下示例提供python示例和C#示例

    python:

    import clr
    clr.AddReference('Kingdee.BOS')
    clr.AddReference('Kingdee.BOS.Core')
    clr.AddReference('Kingdee.BOS.DataEntity')
    from Kingdee.BOS.Util import *
    from Kingdee.BOS import LocaleValue
    from Kingdee.BOS.Core.Metadata import *
    from Kingdee.BOS.Core.Bill.PlugIn import *
    from Kingdee.BOS.Orm.DataEntity import *
    from System import *
    
    def DataChanged(e):    
        if e.Key.Equals("FMulBase", StringComparison.InvariantCultureIgnoreCase):
            ##获取多选基础资料数据
            dataList = this.Model.GetValue("FMulBase")    
            if dataList is None: 
                return
            localValue = LocaleValue()    
            for  data in dataList:
                      dyobj =data["FMulBase"]
                      value = dyobj["Name"]
                      localValue.Merger(value, ";")
                 ##对辅助字段赋值     
            this.Model.SetValue("FMulLangText", localValue);

    C#:

    using Kingdee.BOS.Core.Bill.PlugIn;
    using Kingdee.BOS.Orm.DataEntity;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Kingdee.BOS.Util;
    
    namespace Kingdee.BOS.Business.PlugIn
    {
    [System.ComponentModel.Description("演示多选基础资料查询和列表显示插件")]
    public class DemoBillEdit:AbstractBillPlugIn
    {
    public override void DataChanged(Core.DynamicForm.PlugIn.Args.DataChangedEventArgs e)
    {
    if (e.Key.Equals("FMulBase", StringComparison.InvariantCultureIgnoreCase))
    {
    DynamicObjectCollection dataList = this.Model.GetValue("FMulBase") as DynamicObjectCollection;
    if (dataList.IsNullOrEmpty()) return;
    LocaleValue localValue = new LocaleValue();
    
    foreach (var data in dataList)
    {
    LocaleValue value = (data["FMulBase"] as DynamicObject)["Name"] as LocaleValue;
    localValue.Merger(value, ";");
    }
    this.Model.SetValue("FMulLangText", localValue);
    }
    }
    }
    }

    通过上述处理,我们就可以变相的实现多选基础资料的查询了,实际上查询的是辅助字段,而且支持多语言。

  • 相关阅读:
    面试题4:替换空格之发散思维
    一个简单的欢迎webpart
    MOSS2010 选项卡
    在Ribbon中添加自定义按钮
    老中医
    [SharePoint 2010 的那些事儿 – Secure Store Service]SharePoint 2010中的单点登录
    使用SharePoint Designer2010 向SharePoint2010的Ribbon中添加自定义操作
    耐心看完,越到后面越精彩
    高端人才必看,生意人必读
    moss 2010 开发人员面板的使用
  • 原文地址:https://www.cnblogs.com/fyq891014/p/4188788.html
Copyright © 2011-2022 走看看