找回密码
 立即注册

QQ登录

只需一步,快速开始

Eden.Sun Wyn认证

超级版主

115

主题

2792

帖子

5327

积分

超级版主

Rank: 8Rank: 8

积分
5327

Wyn高级认证Wyn认证

Eden.Sun Wyn认证
超级版主   /  发表于:2023-5-31 10:20  /   查看:1041  /  回复:0
本帖最后由 Eden.Sun 于 2023-5-31 10:20 编辑

  上一篇我们说明了将参数作为数据源使用:报表参数的特殊使用(一) - 作为数据集使用
  这一篇我们介绍参数的另一个比较少见的用法,同样是json数据:当我们的参数是通过url传过来的,而我们想将参数中的某一个字段内容显示到报表中。还是以我们上篇帖子中的数据为例:

  1. <font face="宋体">{"asss":"2023-05-05 03:34:23","assd":"","ssdd":"wwfvb"}</font>
复制代码
  我的ass字段是日期,我想把这个字段内容显示出来,该怎么做呢? 同样有两种方式可以实现:一是通过上篇中的方法把参数构建成数据集然后获取字段内容,二是直接进行字符串的切割。


  1. 构建成数据集
    将json类型的参数数据构建成数据集的过程不在赘述,可以看上一篇帖子的介绍,当我们构建成功之后,就可以在报表中添加数据集中的任意字段内容了:
   

   




  2. 字符串切割

  参数类型的实质上还是字符串,所以我们就可以获取到字符串的位置之后,进行字符串的截取。


  首先获取对应字段的位置,可以通过 indexOf 函数实现
  

  然后计算字段值开始的位置:上一步可知,asss开始位置是2,字段名长度为4,还有一个双引号和冒号,长度就是6,所以开始切割的位置就是,2+4=6; 日期的数据内容长度是21.所以我们可以开始进行截取: {@报表参数1.Substring(@报表参数1.IndexOf("asss") + 6, 21)}
  

  3. 比较

    两种方式各有所长,如果我们显示的数据是固定长度的,可以用字符串截取的方式,方便快捷。但是如果字段内容长度无法确定,则建议通过改建数据集的方式来操作。








本帖子中包含更多资源

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

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部