首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ReportViewer不连接数据库,自定义DataSet导出到报表

ReportViewer不连接数据库,自定义DataSet导出到报表

作者头像
冰封一夏
发布2019-09-11 15:42:40
发布2019-09-11 15:42:40
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

最近在看报表这一块,在网上找到的大都是连接数据库的,对于自定义的DataTable数据没有详细的连接说明,经过一番寻找,总结一下大概方法,大神请直接无视

1、添加一个数据集

点确定后界面如下

在空白处右键

修改名称

添加行

重命名行

表效果

2、添加报表

确定后出现下面界面

然后添加资料数据源

点击新增,选择资料集,出现下面界面

输入名称为message,资料来源选择DataSet1,也就是你创建的DataSet1文件,资料集选择mytable,点击确定

然后在工具栏里拉一个资料表到报表上,然后如下

再如下

保存,报表完成,

下面搞窗体,拉一个ReportViewer控件到窗体上,

如果工具箱内找不到的话就自己添加进来一个,如下

然后在窗体的load事件里写代码 如下

代码语言:javascript
代码运行次数:0
运行
复制
 1             DataTable dt = new DataTable();
 2             dt.Columns.Add(new DataColumn("row1", typeof(string)));
 3             dt.Columns.Add(new DataColumn("row2", typeof(string)));
 4             for (int i = 0; i < 6; i++)
 5             {
 6                 DataRow dr = dt.NewRow();
 7                 dr[0] = "a";
 8                 dr[1] = "b";
 9                 dt.Rows.Add(dr);
10             }          
11             reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\Report1.rdlc";
12             //指定数据集,数据集名称后为表,不是DataSet类型的数据集
13             this.reportViewer1.LocalReport.DataSources.Clear();
14             this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("message", dt));
                 //在vs2005中没有找到重命名为messge的方法,这里这样写
                // this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1_mytable",dt));
15             //显示报表
16             this.reportViewer1.RefreshReport();

运行一下看看

注意:

第2和3行的列名要和数据集DataSet1里的列名一致

第11行的文件名要和你添加的报表文件名一致,路径要正确

第14行的message要和报表里的那个数据集的名称对应

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-12-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档