找回密码
 立即注册

QQ登录

只需一步,快速开始

上海翊廷

注册会员

10

主题

34

帖子

106

积分

注册会员

积分
106
上海翊廷
注册会员   /  发表于:2023-6-16 17:52  /   查看:3137  /  回复:20
本帖最后由 Bella.Yuan 于 2023-6-16 18:07 编辑

本帖子中包含更多资源

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

x

20 个回复

倒序浏览
Felix.LiWyn认证
超级版主   /  发表于:2023-6-26 14:57:43
来自 17#
本帖最后由 Eden.Sun 于 2023-7-4 14:58 编辑


************************************************最佳答案********************************************



这种应该是咱们的字符串拼接错误了
其实我们可以新建一个报表,手动添加多个参数,然后设置查询参数

然后把这个报表保存,查看文件,就是一个json

解析如下:
  1. "="uri=https://jsonplaceholder.typicode.com/posts?Parameter=" & Parameters!参数1.Value & "&Parameter1=" & Parameters!参数2.Value & ";jpath=$.[*]""
复制代码
我们可以参考这个,是不是有什么地方拼接不对


如下是我的报表文件:

本帖子中包含更多资源

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

x
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-6-16 18:23:19
沙发
您好,没理解您的意思,方便详细说明一下不?
回复 使用道具 举报
上海翊廷
注册会员   /  发表于:2023-6-17 13:30:42
板凳
Bella.Yuan 发表于 2023-6-16 18:23
您好,没理解您的意思,方便详细说明一下不?

我现在的数据源和数据集是外部的,通过vue设置模版模版添加进来的,我现在还有报表的参数,我应该在什么节点下,设置什么节点,这样可以选中我的数据源时候,带进来我的数据集里面的参数
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-6-19 09:43:45
地板
上海翊廷 发表于 2023-6-17 13:30
我现在的数据源和数据集是外部的,通过vue设置模版模版添加进来的,我现在还有报表的参数,我应该在什么节点 ...

我这边理解两种

1.你是要给报表新添加参数,那就是直接给加载的报表json赋值,添加如下格式,假如报表对象json是report对象
  1. let paramter = {
  2.   "DataType": "String",
  3.   "DefaultValue": {
  4.     "Values": [
  5.       "111"
  6.     ]
  7.   },
  8.   "Name": "id",
  9.   "Prompt": "id"
  10. }

  11. report.ReportParameters[0] = paramter;

复制代码
咱们根据自己情况,类型就是对应报表的类型,float,int这些。然后DefaultValue是默认值,这里给了默认值,后面就不用赋值参数了,这里不给默认值,后面就给得给参数。然后这个是给报表添加参数


2.第二种我理解你是要给报表传参数,就是参数报表已经设定好了,你需要传参数。这种在加载报表的时候给就可以了:
  1. let viewer = this.$refs.reportViewer.Viewer();
  2. viewer.open(report, {
  3.   ReportParams: [{ Name: "id", Value: ["1"] }],
  4. });
复制代码
这种是给报表传参,传递的Value永远是数组的即可


回复 使用道具 举报
上海翊廷
注册会员   /  发表于:2023-6-19 10:16:41
5#
Felix.Li 发表于 2023-6-19 09:43
我这边理解两种

1.你是要给报表新添加参数,那就是直接给加载的报表json赋值,添加如下格式,假如报表 ...

第二个问题是 数据集编辑的时候这个验证按钮的事件 怎么监听

本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-6-19 11:41:18
6#
上海翊廷 发表于 2023-6-19 10:16
第二个问题是 数据集编辑的时候这个验证按钮的事件 怎么监听

抱歉,这个目前没有监听事件,这个是设计器的校验,他其实只是会访问一下,校验一下结构,不影响数据的请求,所以这块没有做校验

目前只能说在报表预览的时候。有报表加载的回调,但是这个时候是加载报表完成。所以相当于所有请求都走完了,也不能定位到某一个请求结束
这个确实没办法

咱可以说一下需求,我们看一下能不能实现
回复 使用道具 举报
上海翊廷
注册会员   /  发表于:2023-6-19 13:45:03
7#
本帖最后由 上海翊廷 于 2023-6-19 13:46 编辑
Felix.Li 发表于 2023-6-19 11:41
抱歉,这个目前没有监听事件,这个是设计器的校验,他其实只是会访问一下,校验一下结构,不影响数据的请 ...

好吧  还是第一个问题  我使用的是vue-cli 搭建的项目,我使用如下 创建了报表对象,像你回复的这样,还是不能够给报表参数添加上去,我尝试在源码找对应的像setDataSourceTemplates方法,也没有找到,我应该怎么操作


本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-6-19 14:42:20
8#
上海翊廷 发表于 2023-6-19 13:45
好吧  还是第一个问题  我使用的是vue-cli 搭建的项目,我使用如下 创建了报表对象,像你回复的这样,还是不 ...

这个设置参数不是给设计器的对象设计的,这个参数是直接加到报表文件的。
如果咱这边希望是初始化的报表有这个的话,这个得加载到报表对象上,具体是如下:
  1. let reportData = { "Name": "Report", "Width": "2pt", "Layers": [{ "Name": "default" }], "CustomProperties": [{ "Name": "DisplayType", "Value": "Page" }, { "Name": "SizeType", "Value": "Default" }, { "Name": "PaperOrientation", "Value": "Portrait" }], "Page": { "PageWidth": "21cm", "PageHeight": "29.7cm", "RightMargin": "2.5cm", "LeftMargin": "2.5cm", "TopMargin": "2.5cm", "BottomMargin": "2.5cm", "Columns": 1, "ColumnSpacing": "0cm" }, "Body": { "Height": "0in" } }
  2.   let paramter = {
  3.     "DataType": "String",
  4.     "DefaultValue": {
  5.       "Values": [
  6.         "111"
  7.       ]
  8.     },
  9.     "Name": "id",
  10.     "Prompt": "id"
  11.   }
  12.   reportData.ReportParameters = [];
  13.   reportData.ReportParameters[0] = paramter;
  14.   designer.setReport({ definition: reportData });
复制代码
这个里面相当于初始化了一个全新的报表对象,然后设定一个参数,参数还是上面发的格式
回复 使用道具 举报
上海翊廷
注册会员   /  发表于:2023-6-19 14:46:13
9#
本帖最后由 上海翊廷 于 2023-6-19 15:01 编辑
Felix.Li 发表于 2023-6-19 14:42
这个设置参数不是给设计器的对象设计的,这个参数是直接加到报表文件的。
如果咱这边希望是初始化的报表 ...

我想让他添加数据集的时候,和数据集产生关系,怎么能关联起来? 因为我在用户刚进来的时候 也不知道他选择的是那个数据源? 如下:
    我选中数据源  才添加对应的数据集参数 怎么做到

本帖子中包含更多资源

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

x
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2023-6-19 16:49:02
10#
上海翊廷 发表于 2023-6-19 14:46
我想让他添加数据集的时候,和数据集产生关系,怎么能关联起来? 因为我在用户刚进来的时候 也不知道他选择 ...

这个目前做不到,因为参数这个其实相当于打开了一个预制的报表,而且是给定死的,确实没办法说根据选不同数据集产生不同参数,这个目前实现不了
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部