本帖最后由 Eden.Sun 于 2023-5-31 10:20 编辑
上一篇我们说明了将参数作为数据源使用:报表参数的特殊使用(一) - 作为数据集使用
这一篇我们介绍参数的另一个比较少见的用法,同样是json数据:当我们的参数是通过url传过来的,而我们想将参数中的某一个字段内容显示到报表中。还是以我们上篇帖子中的数据为例:
- <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. 比较
两种方式各有所长,如果我们显示的数据是固定长度的,可以用字符串截取的方式,方便快捷。但是如果字段内容长度无法确定,则建议通过改建数据集的方式来操作。
|