找回密码
 立即注册

QQ登录

只需一步,快速开始

Eden.SunWyn认证
超级版主   /  发表于:2023-10-10 15:45:34
6#
inroad 发表于 2023-10-10 14:24
而不是出来三遍
机械伤害■    触电□
电弧灼伤□    误送□


您好,那应该是您的入参有问题了,我使用楼上版主的脚本,用您的入参进行测试,没有出现重复的情况,您看一下是不是您的入参有问题,

本帖子中包含更多资源

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

x
回复 使用道具 举报
inroad
中级会员   /  发表于:2023-10-10 14:24:49
5#
inroad 发表于 2023-10-10 14:20
但是出来的结果还是循环了三遍,和我的结果一样,且只是做了一个两个一行的操作。我想的是输出出来结果为 ...

而不是出来三遍
机械伤害■    触电□
电弧灼伤□    误送□

机械伤害□    触电■
电弧灼伤□    误送□

机械伤害□    触电□
电弧灼伤■    误送□
回复 使用道具 举报
inroad
中级会员   /  发表于:2023-10-10 14:21:59
4#
inroad 发表于 2023-10-10 14:20
但是出来的结果还是循环了三遍,和我的结果一样,且只是做了一个两个一行的操作。我想的是输出出来结果为 ...

楼主,请帮我分析应该怎么做。数据源就是顶楼帖子上的数据,你可以尝试用我的数据输出。我的入参是ProcessData("机械伤害;触电;电弧灼伤;误送",Fields!Field1.Value)
回复 使用道具 举报
inroad
中级会员   /  发表于:2023-10-10 14:20:25
3#
Felix.Li 发表于 2023-10-10 14:04
问题描述:

脚本控制没两个数据换一行

但是出来的结果还是循环了三遍,和我的结果一样,且只是做了一个两个一行的操作。我想的是输出出来结果为         
机械伤害■    触电■
电弧灼伤■    误送□
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-10-10 14:04:00
2#
问题描述:

脚本控制没两个数据换一行

解决方法:
您的脚本代码中并没有控制每两个换一行,您只需要做一个判断,每次增2之后,加一个换行符即可,下面是我修改后的代码:
  1. Function ProcessData(a As String, b As String) As String
  2.         Dim arrA() As String
  3.         arrA = Split(a, ";")

  4.         Dim result As String
  5.         result = ""

  6.         ' 遍历数组B中的每个元素
  7.         Dim i As Integer
  8.         i = 0
  9.         For Each itema As String In arrA
  10.                 If itema = b Then
  11.                         result = result & itema & "■  "
  12.                 Else
  13.                         result = result & itema & "□  "
  14.                 End If
  15.                 If i Mod 2 = 1 Then
  16.                         result = result & vbCrLf ' 添加换行符
  17.                 End If
  18.                 i = i + 1
  19.         Next

  20.         ' 去掉最后一个逗号
  21.         result = Left(result, Len(result))

  22.         ' 返回结果
  23.         ProcessData = result
  24. End Function
复制代码
实现效果如下:

本帖子中包含更多资源

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

x
回复 使用道具 举报
最佳答案
最佳答案
Eden.SunWyn认证
超级版主   /  发表于:2023-10-10 10:06:20
来自 11#
我们分析了您的文件,并不是您的数据重复显示了三次,是您的数据源中有三条数据,您的函数调用了三次,每次传递的参数都不同,展现的效果也不同:



出现这个情况的原因是因为您使用的是表格组件进行展示,表格组件会根据绑定的数据集的数据量自动扩展,扩展的每一行都是一条数据;然后每一行都调用了咱们的函数,并把对应行的字段的值当做入参传到了脚本函数里面,就出现了您遇到的情况:


如果您只想让现实一次,那您可以用单独的文本框组件来显示,这样只会显示一次,但是返回的结果是根据第一条数据进行处理的结果:


本帖子中包含更多资源

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

x
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部