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 

 第四步:拖動數據源的字段到設計表中,按如下設置

 第五步:點擊預覽,可以查看如下圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章