找回密码
 立即注册

QQ登录

只需一步,快速开始

诗仙·1957
金牌服务用户   /  发表于:2024-9-26 12:00  /   查看:473  /  回复:4
1金币
本帖最后由 诗仙·1957 于 2024-9-26 16:29 编辑

var value1 = await dataContext.EvaluateFormulaAsync(参数值);
//处理下拉框数据



var listdict = (List<Dictionary<string, object>>)value1;
var aa02 = TransformData(listdict);
dataContext.Parameters[ResultTo] = aa02;  


//处理下拉框数据格式

public static List<Dictionary<string, object>> TransformData(List<Dictionary<string, object>> input)
{
    var output = new List<Dictionary<string, object>>();

    foreach (var item in input)
    {
        foreach (var kvp in item)
        {
            var newItem = new Dictionary<string, object>
        {
            { "value", kvp.Value },
            { "text", new Dictionary<string, string> { { "zh_CN", kvp.Value.ToString() } } }
        };
            output.Add(newItem);
        }
    }

    return output;
}


以上代码返回结果在设计器中显示为:

为什么会有一个创建变量以及设置变量,创建变量这个结果是正确的,设置变量显示格式问题。


该如何处理?

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

4 个回复

倒序浏览
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-26 16:17:06
沙发
您好,正常来说插件返回的类型需要序列化来返回的,猜测您这个一个是定义  一个是返回
定义和创建没问题,返回报错了。
具体分析的话,需要麻烦您,附上一个可以复现问题的小demo和插件代码,并附上一些复现操作说明。这边才能更好的理解您的问题,帮助到您呦~
回复 使用道具 举报
诗仙·1957
金牌服务用户   /  发表于:2024-9-26 16:29:34
板凳
已解决,是条件写错了,不是这个代码问题。
回复 使用道具 举报
诗仙·1957
金牌服务用户   /  发表于:2024-9-26 16:31:48
地板
Joe.xu 发表于 2024-9-26 16:17
您好,正常来说插件返回的类型需要序列化来返回的,猜测您这个一个是定义  一个是返回
定义和创建没问题, ...

总体来说还是调试的时候不够仔细,给你填麻烦了。检查发现是条件if   if else  正确应该是if  else if  else才对,导致输出的结果是始终不是else if里面的内容。所以才是错误的
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-26 17:16:58
5#
没事,感谢您对活字格的支持。
后面有问题,欢迎继续发新帖交流
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部