Stimulsoft Report/Master-Detail Report报表简单实现
我们准备报表使用的表数据(sql server)
--创建学生表 create table Student( stuId int identity primary key, stuCode varchar(20) not null, stuName varchar(20) not null, stuAge int not null, stuSex int not null, teacherId int not null, notes varchar(100) null ); --创建教师表 create table Teacher( teaId int identity primary key, teaCode varchar(20) not null, teaName varchar(20) not null, notes varchar(100) null ); --录入学生表数据 insert into Student values('001','学生1',21,1,1,''); insert into Student values('002','学生2',22,0,1,''); insert into Student values('003','学生3',20,1,1,''); insert into Student values('004','学生4',23,1,2,''); insert into Student values('005','学生5',21,0,2,''); insert into Student values('006','学生6',22,0,2,''); insert into Student values('007','学生7',22,0,1,''); insert into Student values('008','学生8',25,0,1,''); --录入教师表数据 insert into Teacher values('001','张老师',''); insert into Teacher values('002','李老师','');
查看创建的数据表结果视图
第一步:打开Stimulsoft Reports的设计器,新增,选择Master-Detail报表类型
第二步:创建数据源(用得2016,旧需要创建连接,在创建数据源),选择ms sql server
1)选择New Data Source,创建报表数据源
2)创建ms sqlserver连接,输入数据库地址、用户、密码,点击连接测试(打钩)
3)点击ok,导入数据源(Teacher/Student)
第三步、设置数据源的主从数据表的SQL
1)设置主表的SQL(Teacher),后续可以对数据源进行动态参数,这里写死
select aa.teaId,aa.teaCode,aa.teaName from ( select a.stuId,a.stuCode,a.stuName,a.stuAge,a.stuSex,(case a.stuSex when 1 then '男' else '女' end) stuSexName, b.teaId,b.teaCode,b.teaName from Student a left join Teacher b on a.teacherId=b.teaId ) aa where aa.teaId=1 group by aa.teaId,aa.teaCode,aa.teaName
2)设置从表的数据源(Student)SQL
select aa.* from( select a.stuId,a.stuCode,a.stuName,a.stuAge,a.stuSex, (case a.stuSex when 1 then '男' else '女' end) stuSexName, b.teaId,b.teaName from Student a left join Teacher b on a.teacherId=b.teaId ) aa where aa.teaId=1
第四步:拖动数据源的字段到设计表中,按如下设置
第五步:点击预览,可以查看如下图
平时多记记,到用时才能看看,记录你的进步,分享你的成果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
2018-05-15 运行B/s项目时,出现尝试访问类型与数组不兼容元素问题?