请选择
进入手机版
|
继续访问电脑版
学习路径
视频资源
开发者学堂
悬赏
活动
招聘
登录
/
注册
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
搜索
AI搜索
SpreadJS
活字格
Wyn
GcExcel Java
公开课
新手入门
新手训练营
技术认证
好友
帖子
收藏
勋章
设置
我的收藏
退出
首页
›
ActiveReports专区
›
求助中心
›
查看内容
发新帖
Zzzzz.
注册会员
8
主题
10
帖子
42
积分
注册会员
注册会员, 积分 42, 距离下一级还需 158 积分
注册会员, 积分 42, 距离下一级还需 158 积分
积分
42
174
金币
8
主题
10
帖子
最新发帖
AR15
AR15
AR15
AR15
AR15
AR15
AR15
[已处理]
AR15
Zzzzz.
注册会员
/ 发表于:
2025-10-29 11:21
/
查看:
44
/ 回复:
1
1
金币
报表的查询条件可以传查询条件参数 并且查询的结果可以在前端vue3中的以报表的形式显示出来 后端使用的是C# 前端使用的是vue3 数据库是sqlserver 麻烦给个示例
最佳答案
Felix.Li
查看完整内容
您好,我这边搭了个可以直接运行的Demo。没有用VUE,不过把script.js里面的js直接赋值过去用就行,也就两行代码。 具体就是 咱们是要传到后端服务器嘛。 我先说一下咱们的正常的希望做到的流程,是希望传参数,然后后端利用传递的参数,把查询好的数据集赋值给报表。 咱们要做的步骤我在总结一下: 1.报表需要用桌面设计器做 Object provider(或者叫Object 提供程序) 的数据源,然后在报表中使用这个数据源。 https:/ ...
收藏
回复
1
个回复
最佳答案
Felix.Li
超级版主
/
发表于:2025-10-29 11:21:19
|
显示全部楼层
来自 2
#
您好,我这边搭了个可以直接运行的Demo。没有用VUE,不过把script.js里面的js直接赋值过去用就行,也就两行代码。
具体就是
咱们是要传到后端服务器嘛。
我先说一下咱们的正常的希望做到的流程,是希望传参数,然后后端利用传递的参数,把查询好的数据集赋值给报表。
咱们要做的步骤我在总结一下:
1.报表需要用桌面设计器做 Object provider(或者叫Object 提供程序) 的数据源,然后在报表中使用这个数据源。
https://help.grapecity.com.cn/5968534.html
然后报表本身需要添加参数,有参数,才能通过前端传递,后端也才能接受。
按理说咱们以前的报表就是这么设计的,应该可以直接服用。
2.前端传递参数
viewer.openReport(reportName, [{ name: '参数名称', values: ['参数值'] }]);
复制代码
注意这里的参数需要在报表中前一步添加的。
3.后端根据前端参数,实现给报表传递数据:
app.UseReporting(config =>
{
config.UseFileStore(ResourcesRootDirectory, null, FileStoreOptions.NestedFoldersLookup);
config.SetLocateDataSource(args =>
{
if (args.ReportParameters[0].Value.ToString() == "test")
return GetData();
else
return null;
});
});
复制代码
之前的有点问题,这里要用
SetLocateDataSource
整体就是:当这个报表被前端打开的时候,报表因为有Object provider的数据源,就会进这个方法LocateDataSource。然后args里面就会有前端传递的参数
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
回复
使用道具
举报
Wyn高级认证
Wyn认证
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
发表回复
返回顶部