Asp.net报表ReportViewer设计(RDLC)


Asp.net报表ReportViewer设计(RDLC)
2015-05-11 08:31:58      0 个评论    来源:如意的专栏  
收藏   我要投稿

ReportViewer是微软的报表控件,其设计文件为RDLC,数据架构为数据集。效果图如下:

\

其中序号调用的是内置函数,姓名、收入、所属部门绑定的是数据源,头像绑定的是URL指向的外部图片。下面是实现过程。

一.新增数据集

1.在创建Web空项目后,在项目上右键->添加->新建项->数据->选择数据集,见下图

\

2.将数据集命名为DataSet1_DataTable1

3.双击DataSet1_DataTable1.xsd,然后在界面上右击,添加数据表。

\

4.在数据表DataTable1中添加相应的列。

\

5.将Income列的数据类型设置为Decimal.

选中字段Income,右击->属性->设置DataType

\

二.设计RDLC

1.创建RDLC。

项目中右击->添加->新建项->Reporting->报表。

命名为Report1.rdlc

\

2.添加参数.

双击Report.rdlc,添加参数。

\

3.使用参数

在工具箱中拖入一个文本框,选中文本框->右击->文本属性->fx->设置参数。具体见下图。

\

\

\

如果需要在参数前增加固定的文字,需要将文字用双引号引起来,并用&连接,如果后面所连接的文字是数字的,需要使用Format函数将其转化为字符串。

\

3.设计数据表

(1).加入数据集

\

(2).工具箱中拖入一个“表”,再从报表数据->数据集->选择相应字段->拖入到表中,再设置对应的标题。

\

(3).序号列

\

\

\

(4).头像列

\

\

三.aspx页面

1.新建default.aspx页

2.在页面中增加控件ScriptManager和ReportViewer

3.为ReportViewer配置报表Report1

\

4.删除不需要的代码

\

5.后端代码

 

?
1
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
44
45
46
47
48
49
50
51
52
53
public partial class _default : System.Web.UI.Page
   {
       protected void Page_Load(object sender, EventArgs e)
       {
           if (!IsPostBack)
           {
               ReportViewer1.LocalReport.EnableExternalImages = true ;
               ReportViewer1.LocalReport.ReportPath = Report1.rdlc;
               ReportViewer1.LocalReport.SetParameters( new ReportParameter(ReportParameter1, Guid.NewGuid().ToString()));
               DataTable dt = GetData();
               ReportDataSource rds = new ReportDataSource(DataSet1_DataTable1, dt);
               ReportViewer1.LocalReport.DataSources.Clear();
               ReportViewer1.LocalReport.DataSources.Add(rds);
               ReportViewer1.LocalReport.Refresh();
           }
       }
 
       /// <summary>
       ///   模拟数据
       /// </summary>
       /// <returns></returns>
       private DataTable GetData()
       {
           DataTable dt = new DataTable(dataname);
           dt.Columns.Add( new DataColumn(Name, typeof(string)));
           dt.Columns.Add( new DataColumn(Income, typeof(decimal)));
           dt.Columns.Add( new DataColumn(Dept, typeof(string)));
           dt.Columns.Add( new DataColumn(Picture, typeof(string)));
 
           DataRow row = dt.NewRow();
           row[Name] = 张三;
           row[Income] = 1000 .00m;
           row[Dept] = 人事部门;
           row[Picture] = https: //localhost:60000/demo_pictures/person1.jpg;
           dt.Rows.Add(row);
 
           row = dt.NewRow();
           row[Name] = 李四;
           row[Income] = 1200 .00m;
           row[Dept] = 人事部门;
           row[Picture] = https: //localhost:60000/demo_pictures/person2.jpg;
           dt.Rows.Add(row);
 
           row = dt.NewRow();
           row[Name] = 王五;
           row[Income] = 2000 .00m;
           row[Dept] = 技术部门;
           row[Picture] = https: //localhost:60000/demo_pictures/person3.jpg;
           dt.Rows.Add(row);
 
           return dt;
       }
   }
其中localhost:60000是自己IIS架设的服务器,图片是网上找来放进去的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值