这片文章只适合采用拉模式的水晶报表。
对于非嵌入式的报表:
1
创建非嵌入式报表#region 创建非嵌入式报表
2
/**//// <summary>
3
/// 创建非嵌入式报表
4
/// </summary>
5
/// <param name="服务名">服务名</param>
6
/// <param name="用户名">用户名</param>
7
/// <param name="密码">密码</param>
8
/// <param name="文件路径">报表文件路径</param>
9
/// <returns></returns>
10
private ReportDocument 创建非嵌入式报表( string 服务名, string 用户名, string 密码, string 文件路径 )
11
{
12
// 创建报表文档对象
13
ReportDocument 报表文档 = new ReportDocument();
14
15
// 根据文件路径加载一个新报表
16
报表文档.Load( 文件路径 );
17
18
// 创建新的连接信息
19
ConnectionInfo 连接信息 = new ConnectionInfo();
20
21
连接信息.ServerName = 服务名;
22
连接信息.UserID = 用户名;
23
连接信息.Password = 密码;
24
25
// 创建新的表连接选项信息
26
TableLogOnInfo 表连接信息 = new TableLogOnInfo();
27
28
// 设定表连接选项信息的连接信息
29
表连接信息.ConnectionInfo = 连接信息;
30
31
// 逐个进行表的属性设置
32
foreach( Table 表 in 报表文档.Database.Tables )
33
{
34
表.ApplyLogOnInfo( 表连接信息 );
35
表.Location = 用户名 + "." + 表.Name;
36
}
37
38
// 用报表登录数据库
39
报表文档.SetDatabaseLogon( 用户名, 密码, 服务名, string.Empty, true );
40
41
return 报表文档;
42
}
43
#endregion


2


3

4

5

6

7

8

9

10

11



12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33



34

35

36

37

38

39

40

41

42

43

对于嵌入式的报表:
1
创建嵌入式报表#region 创建嵌入式报表
2
/**//// <summary>
3
/// 创建嵌入式报表
4
/// </summary>
5
/// <param name="服务名">服务名</param>
6
/// <param name="用户名">用户名</param>
7
/// <param name="密码">密码</param>
8
/// <returns>我的水晶报表</returns>
9
private 我的水晶报表 创建嵌入式报表( string 服务名, string 用户名, string 密码 )
10
{
11
// 创建新报表
12
我的水晶报表 报表 = new 我的水晶报表();
13
14
// 创建新的连接信息
15
ConnectionInfo 连接信息 = new ConnectionInfo();
16
17
连接信息.ServerName = 服务名;
18
连接信息.UserID = 用户名;
19
连接信息.Password = 密码;
20
21
// 创建新的表连接选项信息
22
TableLogOnInfo 表连接信息 = new TableLogOnInfo();
23
24
// 设定表连接选项信息的连接信息
25
表连接信息.ConnectionInfo = 连接信息;
26
27
// 逐个进行表的属性设置
28
foreach( Table 表 in 报表.Database.Tables )
29
{
30
表.ApplyLogOnInfo( 表连接信息 );
31
表.Location = 用户名 + "." + 表.Name;
32
}
33
34
// 用报表登录数据库
35
报表.SetDatabaseLogon( 用户名, 密码, 服务名, string.Empty, true );
36
37
return 报表;
38
}
39
#endregion


2


3

4

5

6

7

8

9

10



11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29



30

31

32

33

34

35

36

37

38

39
